Jeu du ciseaux (version modifié)

Soyez le premier à donner votre avis sur cette source.

Vue 5 947 fois - Téléchargée 252 fois

Description

Bonjour à tous,

dans le cadre d'un cours de correction de programme, j'ai sélectionné un code sur lequel j'ai fait quelques ajouts/modifications.

La source de ce code : http://www.vbfrance.com/codes/JEU-CISEAUX_47532.aspx

Auteur : Le pivert

Je ne prend aucun droit sur le code.

Donc, la modification que j'ai apporté est : Un formulaire de connexion.

La dynamique du jeu reste la même. Par contre, lorsque le programme est démarrer, un formulaire de login apparait et propose à l'utilisateur de se connecter ou créer un compte.

L'objectif étant de pouvoir garder les statistiques de chaque joueur individuellement. (sans pouvoir copier l'identifiant)

J'ai aussi modifié l'interface à ma façon.

Tout commentaires constructifs est la bienvenu.

Source / Exemple :


Option Explicit On

Imports System.IO

Public Class Form2

    Dim connected As Boolean
    Dim formTo As Form1
    Dim alreadyUsed As Boolean 'Boolean pour la validation du username

    Public Sub New(ByVal formTest As Form1)
        InitializeComponent()
        formTo = New Form1
        formTo = formTest 'form principale est en référence.
        alreadyUsed = False
        connected = False
    End Sub

    Private Sub newAccount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles newAccount.Click
        'if pour valider le texte
        If user.Text = "" Then
            erreurtxt.Text = "Veuillez saisir un nom d'utilisateur"
            user.Focus()
        ElseIf pass.Text = "" Then
            erreurtxt.Text = "Veuillez saisir un mot de passe"
            pass.Focus()
        Else
            verifUser() 'fonction pour valider si le username est déjà utilisé
            If alreadyUsed = True Then
                erreurtxt.Text = "Ce nom d'utilisateur est déjà utilisé"
                user.Focus()
            Else
                writeUser() 'sinon on l'écrit dans un fichier .txt de nom d'utilisateur
                addlogin() 'donc c'est OK, on crée le compte
                formTo.username = user.Text 'envoi le username actif au jeu dans la variable public username
                formTo.setUser() 'on set le username dans form1 pour débuter le jeu
                openGame() 'on affiche le jeu
            End If
        End If

    End Sub

    Private Sub writeUser()
        Dim newUser As New StreamWriter("users.txt", True)

        newUser.WriteLine(user.Text)

        newUser.Close()
    End Sub

    Private Sub verifUser()
        Dim listeUsers As New StreamReader("users.txt", True)
        Dim line As String
        Dim result As Integer

        line = listeUsers.ReadLine
        'valider en vérifiant tous les noms d'utilisateur
        Do While (Not line Is Nothing)
            result = StrComp(user.Text, line)
            If result = 0 Then
                alreadyUsed = True
            End If

            line = listeUsers.ReadLine
        Loop

        listeUsers.Close()
    End Sub

    Private Sub addlogin()
        Dim newLogin As New StreamWriter("comptes.txt", True)
        newLogin.WriteLine(user.Text & ";" & pass.Text)
        newLogin.Close()
    End Sub

    Private Sub login_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles login.Click

        Dim listeCompte As New StreamReader("comptes.txt", True)

        Dim userVerif As String
        Dim isset As Boolean
        Dim line As String
        Dim result As Integer

        userVerif = ""

        If user.Text = "" Then
            erreurtxt.Text = "Veuillez saisir un nom d'utilisateur"
            isset = False
            user.Focus()
        ElseIf pass.Text = "" Then
            erreurtxt.Text = "Veuillez saisir un mot de passe"
            isset = False
            pass.Focus()
        Else
            userVerif = user.Text & ";" & pass.Text
            isset = True
        End If

        If isset = True Then
            line = listeCompte.ReadLine
            Do While (Not line Is Nothing)
                result = StrComp(userVerif, line)

                If result = 0 Then
                    connected = True
                    formTo.username = user.Text
                    formTo.setUser()
                    openGame()
                End If

                line = listeCompte.ReadLine
            Loop
        End If
        If connected = False Then
            erreurtxt.Text = "Bad login"
        End If
        listeCompte.Close()

    End Sub

    Private Sub openGame()
        formTo.Show()
        Me.Close()
    End Sub

    Private Sub user_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles user.TextChanged
        erreurtxt.Text = ""
        alreadyUsed = False
    End Sub

    Private Sub pass_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pass.TextChanged
        erreurtxt.Text = ""
    End Sub

    Private Sub quitbutton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles quitbutton.Click
        formTo.Close()
    End Sub
End Class

Conclusion :


Je voudrais pouvoir compléter encore plusieurs ajouts/modifications, mais comme je dois finir ma session, je rajoute seulement ceci pour l'instant...

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8
Bonjour olivierg1110,

Comment tu expliques qu'on puisse gagner en cliquant systématiquement sur feuille ?
(moi je sais...)

Mon record : 283 contre 119 en 120s... record de clic sur feuille à battre !

Comme je l'ai dit sur une autre source de ce type, ce qui serait bien c'est la programmation d'une "intelligence artificielle" (c'est un grand mot qui recouvre qu'une reconnaissance des choix humain, mais intéressant dans la mesure où s'applique dans de nombreuses situations).
comme ici : http://www.nytimes.com/interactive/science/rock-paper-scissors.html?ref=science

Amicalement,
Us.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.