cs_raff
Messages postés182Date d'inscriptiondimanche 18 août 2002StatutMembreDernière intervention 5 janvier 2004
-
14 mars 2003 à 06:22
cs_BadNews
Messages postés98Date d'inscriptionsamedi 30 novembre 2002StatutMembreDernière intervention10 septembre 2007
-
16 mars 2003 à 00:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_BadNews
Messages postés98Date d'inscriptionsamedi 30 novembre 2002StatutMembreDernière intervention10 septembre 20071 16 mars 2003 à 00:45
Au lieu de critiquer , essayez donc de l'aider !!!!!!
Je vais essayer de faire ma part...
Mais tu dois savoir que je suis aussi un débutant .
Premièrement , pour savoir qui a la main (à qui est le tours)
tu aurais pu utilisé un variable Boolean .
Exemple : Dim Joueur1 As Boolean
Utilisation : Joueur1 = True >Indique que le joueur1 a la main
Joueur1 = False >Indique que le joueur1 à joué ,donc
le joueur2 a la main.
Deuxièmement , pour les cases du jeux , tu aurais pu
dupliquer ta commande1 pour en faire des
control array . (je dis commande mais tu aurais pu
mettre les images seulments , sans les commandes ,
le joueur n'aurais qu'a cliquer sur ces images
pour jouer. Donc laissons tomber les commandes.
Exemple : Picture1(0) , Picture1(1) , Picture1(2) ...... ( pour les 9 cases )
Note : Tu aurais pu utiliser des labels étant donné que tout ce que tu
as à y inscrire est un "X" ou un "O" . À toi de décider.
Troisièmenent , pour les images , tu aurais du faire deux images
contenant le "X" et le "O" et les 9 autres (case du jeux) vides.
Donc , 11 images au total. À moin que tu utilise des labels .
En bref , à part l'interface , tu n'a que besoin de 11 images
ou de 9 labels.
C'est sur que l'interface est aussi importante , exemple :
- Tu peux mettre un label qui indique qui a la main.
- Tu dois mettre les ligne du jeux (les 4 lignes # ) ,
avec les images/labels biens centré(e)s.
- Tu pourais mettre 2 autres labels qui calcul le total de
partie gagné par chaque joueur.
- Tu pourais même faire en sorte que l'utilisateur dois
s'identifier . Comme ca , au lieu d'incrire "Joueur 1" ,
dans le label qui indique qui a la main , tu pourais
y inscrire le pseudonyme des deux joueurs.
Finalement , pour savoir si quelqu'un gagne tu dois
faire un vérification à chaque fois que quelqu'un joue.
Pour simplifier la chose , fait toi un Private Sub .
Moi aussi j'ai fait un jeu de Tic tac toe (morphion),
le mien fonctionne en ligne avec Winsock , et c'est
effectivement ici que j'ai eu de la difficulté à faire
un code cour et simple. La seul chose que j'ai
trouvé (surement pas la meilleur) est celle ci.
Dans ce jeu , il n'y a que 8 possibilitées de gagné.
Les 3 lignes de haut en bas , les 3 de gauche à
droite et finalement les 2 diagonnales.Donc mon
code auras maximum 8 lignes. Il sagit de vérifier
chaque ligne une à une.
Voici ce que tu as besoin et comment le faire :
Sur ta form :
1) 4 lignes pour l'interface du jeu ( # )
2) 9 Labels (command array) Label1(0) , Label1(1) , Label1(2) .....
1 Labels que tu auras préalablement dupliquer 9 fois
en répondant Oui à la première question demandée :
You already have a control named "Label1".
Do you want to create a control array ?
Note: Si tu utilises des images , tu en as besoin de 11
Tu dois en dupliquer 9 seulement ,Picture1(0) , Picture1(1) ...
Les 2 autre portent les noms de Picture2 et Picture3.
L'image de la Picture2 est un X et celle de la Picture3
est un O .Tu dois les mettre invisible ( Picture2 et 3 ).
3) Un autre Label , celui ci nommé Label2 (savoir qui a la main)
'Debut du code :
'Déclarations :
Dim Joueur1 As Boolean ' Pour savoir qui a la main
Dim i As Integer ' Utilisé pour représenter les 9 labels/Pictures
' On les utilise pour effacer le jeu si quelqu'un gagne
' ou sur un partie nulle
'Jouer :
' Au départ , il faut indiquer que la variable Joueur1 est
' Negative ou Positive (True/False).Dans ce cas , elle
' dois etre positive au départ , pour indiquer que le joueur1
' commence la partie.
Private Sub Form_Load()
Joueur1 = True
End Sub
'Lorsqu'un joueur click sur 1 des 9 labels ( 0 à 8 )
' Dans ce sub , la variable "Index" indique
' le label cliqué entre les 9 labels du jeu. ( 0 à 8 )
' Voisi le code :
' Si tu utilises les image , change le Label1_Click par
' Picture1_Click , à toi de faire le choix .
Private Sub Label1_Click(Index As Integer)
If Joueur1 = True Then ' Si c'est le tour de joueur 1 à jouer ...
' Pour les Labels seulement ....
Label1(Index).Caption = "x" ' On met un "x" dans le bon label
' Pour les Images seulement ....
'Picture1(Index) = Picture2.Picture ' On met la bonne image dans la bonne case
Label2.Caption = "Joueur 2" ' Indique que le joueur 2 à la main
Joueur1 = False ' Indique que le joueur 1 à joué
Verification ' Sub qui détermine le gagnant , vérifié à chaque tour
Exit Sub ' On sort du Sub
Else 'Si c'est le tour de joueur 2 à jouer ...
' Pour les Labels seulement ....
Label1(Index).Caption = "o" ' On met un "o" dans le bon label
' Pour les Images seulement ....
'Picture1(Index) = Picture3.Picture ' On met la bonne image dans la bonne case
Label2.Caption = "Joueur 1" ' Indique que le joueur 1 à la main
Joueur1 = True ' Indique que le joueur 2 à joué
Verification ' Sub qui détermine le gagnant , vérifié à chaque tour
End If ' Fin de la fonction "IF"
End Sub
'Déterminer le gagnant
' Comme je l'ai mentionné plus haut , il y a surement un facon
' beaucoup plus simple de déterminer le gagnant , mais
' je ne l'ai pas trouvé. De tout facon ,comme il n'y a que
' 8 possibilitées , le code ne seras pas pas trop long.
' Tu te fais donc un Private Sub nommé "Verification"
' Cette exemple ne fonctionne qu'avec les Labels
' Pour les image , change les "x" et les "o" pour Picture2.Picture ou Picture3.Picture
' et Label1 par Picture1 Ex: If (Picture1(0).Picture = Picture2.Picture) And ....
Private Sub Verification()
' Vérification pour chaques possibilitées ( 16 au total ;pour les "x" et les "o") & Appelle le Sub qui indique le gagnant
'Si un joueur gagne , on ne change pas la variable Joueur1 de sorte à ce que l'autre joueur (le perdant) commence l'autre partie
' Même chose pour les partie nulle
If (Label1(0).Caption "x") And (Label1(1).Caption "x") And (Label1(2).Caption = "x") Then Gagner "1" ' Pour les "x" , le joueur 1 est le gagnant
If (Label1(0).Caption "o") And (Label1(1).Caption "o") And (Label1(2).Caption = "o") Then Gagner "2" ' Pour les "o" , le joueur 2 est le gagnant
If (Label1(3).Caption "x") And (Label1(4).Caption "x") And (Label1(5).Caption = "x") Then Gagner "1"
If (Label1(3).Caption "o") And (Label1(4).Caption "o") And (Label1(5).Caption = "o") Then Gagner "2"
If (Label1(6).Caption "x") And (Label1(7).Caption "x") And (Label1(8).Caption = "x") Then Gagner "1"
If (Label1(6).Caption "o") And (Label1(7).Caption "o") And (Label1(8).Caption = "o") Then Gagner "2"
If (Label1(0).Caption "x") And (Label1(3).Caption "x") And (Label1(6).Caption = "x") Then Gagner "1"
If (Label1(0).Caption "o") And (Label1(3).Caption "o") And (Label1(6).Caption = "o") Then Gagner "2"
If (Label1(1).Caption "x") And (Label1(4).Caption "x") And (Label1(7).Caption = "x") Then Gagner "1"
If (Label1(1).Caption "o") And (Label1(4).Caption "o") And (Label1(7).Caption = "o") Then Gagner "2"
If (Label1(2).Caption "x") And (Label1(5).Caption "x") And (Label1(8).Caption = "x") Then Gagner "1"
If (Label1(2).Caption "o") And (Label1(5).Caption "o") And (Label1(8).Caption = "o") Then Gagner "2"
If (Label1(0).Caption "x") And (Label1(4).Caption "x") And (Label1(8).Caption = "x") Then Gagner "1"
If (Label1(0).Caption "o") And (Label1(4).Caption "o") And (Label1(8).Caption = "o") Then Gagner "2"
If (Label1(2).Caption "x") And (Label1(4).Caption "x") And (Label1(6).Caption = "x") Then Gagner "1"
If (Label1(2).Caption "o") And (Label1(4).Caption "o") And (Label1(6).Caption = "o") Then Gagner "2"
' Partie Nulle ....
If (Label1(0).Caption <> "") And (Label1(1).Caption <> "") And (Label1(2).Caption <> "") And (Label1(3).Caption <> "") And (Label1(4).Caption <> "") And (Label1(5).Caption <> "") And (Label1(6).Caption <> "") And (Label1(7).Caption <> "") And (Label1(8).Caption <> "") Then
MsgBox " Partie Nulle !! ", , " :) " ' Message qui indique que la partie est nulle
' On efface tout les cases
For i = 0 To 8
Label1(i).Caption = ""
' Pour les Images seulment
'Picture(i).Picture = Nothing
Next
End If
End Sub
' Le gagnant
' Fait toi un autre Private Sub nommé Gagner et met une
' variable String.
Private Sub Gagner(Joueur As String) ' Message pour le gagnant
If Joueur = "1" Then
MsgBox "Le joueur 1 a gagné"
Else
MsgBox "Le joueur 2 a gagné"
End If
' On efface tout les cases
For i = 0 To 8
Label1(i).Caption = ""
' Pour les PictureBox
'Picture(i).Picture = Nothing
Next
End Sub
' Fin du code
Et voila !! ..... Suite à ce commentaire , je suis certain que d'autre
personne vont venir tout de suite donner plusieur facons
beaucoup plus simple , à quelque part , c'est ce que je souhaite ,
moi aussi je suis débutant et je veux apprendre .. = )
Si tu as d'autre question , envoie moi un message ..!.!
J'espère t'avoir aider ... )
Bad*News=
cs_raff
Messages postés182Date d'inscriptiondimanche 18 août 2002StatutMembreDernière intervention 5 janvier 20043 15 mars 2003 à 23:58
bon moi je suis désolé mais franchement y a pas d'offense....après tout, on a vu pire même après 2 semaines....
eh guidelor putain mais t'as vraiment une belle tronche pour un Français !!! hehe...
Guidelor
Messages postés236Date d'inscriptionjeudi 31 octobre 2002StatutMembreDernière intervention18 août 2006 15 mars 2003 à 22:01
Tu sais bien que ce sont les reproches et les erreurs qui construisent l'homme !
(Voltaire , 1956)
cs_Belgium
Messages postés1Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention15 mars 2003 15 mars 2003 à 20:08
bande de conard moi g mis cette source pour avoir de l'aide pq sa fé seulement 2 semaines que g commencé le VB
Guidelor
Messages postés236Date d'inscriptionjeudi 31 octobre 2002StatutMembreDernière intervention18 août 2006 15 mars 2003 à 17:35
Quelle horreur !!!
je ne peux que t'encourager à progresser , ca ne va pas être difficile , et encore
tu pe simplifier 100 fois ton code, genre avec des boucles
Stp, pense à supprimer cette source ;)
C'est un bien un jeu de belge , ca !
cs_raff
Messages postés182Date d'inscriptiondimanche 18 août 2002StatutMembreDernière intervention 5 janvier 20043 14 mars 2003 à 06:22
c'est vraiment de la grosse merde ton jeu de morpion !!!! Vraiment c'est pas pour être méchant, mais t'as pas honte non ?
16 mars 2003 à 00:45
Je vais essayer de faire ma part...
Mais tu dois savoir que je suis aussi un débutant .
Premièrement , pour savoir qui a la main (à qui est le tours)
tu aurais pu utilisé un variable Boolean .
Exemple : Dim Joueur1 As Boolean
Utilisation : Joueur1 = True >Indique que le joueur1 a la main
Joueur1 = False >Indique que le joueur1 à joué ,donc
le joueur2 a la main.
Deuxièmement , pour les cases du jeux , tu aurais pu
dupliquer ta commande1 pour en faire des
control array . (je dis commande mais tu aurais pu
mettre les images seulments , sans les commandes ,
le joueur n'aurais qu'a cliquer sur ces images
pour jouer. Donc laissons tomber les commandes.
Exemple : Picture1(0) , Picture1(1) , Picture1(2) ...... ( pour les 9 cases )
Note : Tu aurais pu utiliser des labels étant donné que tout ce que tu
as à y inscrire est un "X" ou un "O" . À toi de décider.
Troisièmenent , pour les images , tu aurais du faire deux images
contenant le "X" et le "O" et les 9 autres (case du jeux) vides.
Donc , 11 images au total. À moin que tu utilise des labels .
En bref , à part l'interface , tu n'a que besoin de 11 images
ou de 9 labels.
C'est sur que l'interface est aussi importante , exemple :
- Tu peux mettre un label qui indique qui a la main.
- Tu dois mettre les ligne du jeux (les 4 lignes # ) ,
avec les images/labels biens centré(e)s.
- Tu pourais mettre 2 autres labels qui calcul le total de
partie gagné par chaque joueur.
- Tu pourais même faire en sorte que l'utilisateur dois
s'identifier . Comme ca , au lieu d'incrire "Joueur 1" ,
dans le label qui indique qui a la main , tu pourais
y inscrire le pseudonyme des deux joueurs.
Finalement , pour savoir si quelqu'un gagne tu dois
faire un vérification à chaque fois que quelqu'un joue.
Pour simplifier la chose , fait toi un Private Sub .
Moi aussi j'ai fait un jeu de Tic tac toe (morphion),
le mien fonctionne en ligne avec Winsock , et c'est
effectivement ici que j'ai eu de la difficulté à faire
un code cour et simple. La seul chose que j'ai
trouvé (surement pas la meilleur) est celle ci.
Dans ce jeu , il n'y a que 8 possibilitées de gagné.
Les 3 lignes de haut en bas , les 3 de gauche à
droite et finalement les 2 diagonnales.Donc mon
code auras maximum 8 lignes. Il sagit de vérifier
chaque ligne une à une.
Voici ce que tu as besoin et comment le faire :
Sur ta form :
1) 4 lignes pour l'interface du jeu ( # )
2) 9 Labels (command array) Label1(0) , Label1(1) , Label1(2) .....
1 Labels que tu auras préalablement dupliquer 9 fois
en répondant Oui à la première question demandée :
You already have a control named "Label1".
Do you want to create a control array ?
Note: Si tu utilises des images , tu en as besoin de 11
Tu dois en dupliquer 9 seulement ,Picture1(0) , Picture1(1) ...
Les 2 autre portent les noms de Picture2 et Picture3.
L'image de la Picture2 est un X et celle de la Picture3
est un O .Tu dois les mettre invisible ( Picture2 et 3 ).
3) Un autre Label , celui ci nommé Label2 (savoir qui a la main)
'Debut du code :
'Déclarations :
Dim Joueur1 As Boolean ' Pour savoir qui a la main
Dim i As Integer ' Utilisé pour représenter les 9 labels/Pictures
' On les utilise pour effacer le jeu si quelqu'un gagne
' ou sur un partie nulle
'Jouer :
' Au départ , il faut indiquer que la variable Joueur1 est
' Negative ou Positive (True/False).Dans ce cas , elle
' dois etre positive au départ , pour indiquer que le joueur1
' commence la partie.
Private Sub Form_Load()
Joueur1 = True
End Sub
'Lorsqu'un joueur click sur 1 des 9 labels ( 0 à 8 )
' Dans ce sub , la variable "Index" indique
' le label cliqué entre les 9 labels du jeu. ( 0 à 8 )
' Voisi le code :
' Si tu utilises les image , change le Label1_Click par
' Picture1_Click , à toi de faire le choix .
Private Sub Label1_Click(Index As Integer)
If Joueur1 = True Then ' Si c'est le tour de joueur 1 à jouer ...
' Pour les Labels seulement ....
Label1(Index).Caption = "x" ' On met un "x" dans le bon label
' Pour les Images seulement ....
'Picture1(Index) = Picture2.Picture ' On met la bonne image dans la bonne case
Label2.Caption = "Joueur 2" ' Indique que le joueur 2 à la main
Joueur1 = False ' Indique que le joueur 1 à joué
Verification ' Sub qui détermine le gagnant , vérifié à chaque tour
Exit Sub ' On sort du Sub
Else 'Si c'est le tour de joueur 2 à jouer ...
' Pour les Labels seulement ....
Label1(Index).Caption = "o" ' On met un "o" dans le bon label
' Pour les Images seulement ....
'Picture1(Index) = Picture3.Picture ' On met la bonne image dans la bonne case
Label2.Caption = "Joueur 1" ' Indique que le joueur 1 à la main
Joueur1 = True ' Indique que le joueur 2 à joué
Verification ' Sub qui détermine le gagnant , vérifié à chaque tour
End If ' Fin de la fonction "IF"
End Sub
'Déterminer le gagnant
' Comme je l'ai mentionné plus haut , il y a surement un facon
' beaucoup plus simple de déterminer le gagnant , mais
' je ne l'ai pas trouvé. De tout facon ,comme il n'y a que
' 8 possibilitées , le code ne seras pas pas trop long.
' Tu te fais donc un Private Sub nommé "Verification"
' Cette exemple ne fonctionne qu'avec les Labels
' Pour les image , change les "x" et les "o" pour Picture2.Picture ou Picture3.Picture
' et Label1 par Picture1 Ex: If (Picture1(0).Picture = Picture2.Picture) And ....
Private Sub Verification()
' Vérification pour chaques possibilitées ( 16 au total ;pour les "x" et les "o") & Appelle le Sub qui indique le gagnant
'Si un joueur gagne , on ne change pas la variable Joueur1 de sorte à ce que l'autre joueur (le perdant) commence l'autre partie
' Même chose pour les partie nulle
If (Label1(0).Caption "x") And (Label1(1).Caption "x") And (Label1(2).Caption = "x") Then Gagner "1" ' Pour les "x" , le joueur 1 est le gagnant
If (Label1(0).Caption "o") And (Label1(1).Caption "o") And (Label1(2).Caption = "o") Then Gagner "2" ' Pour les "o" , le joueur 2 est le gagnant
If (Label1(3).Caption "x") And (Label1(4).Caption "x") And (Label1(5).Caption = "x") Then Gagner "1"
If (Label1(3).Caption "o") And (Label1(4).Caption "o") And (Label1(5).Caption = "o") Then Gagner "2"
If (Label1(6).Caption "x") And (Label1(7).Caption "x") And (Label1(8).Caption = "x") Then Gagner "1"
If (Label1(6).Caption "o") And (Label1(7).Caption "o") And (Label1(8).Caption = "o") Then Gagner "2"
If (Label1(0).Caption "x") And (Label1(3).Caption "x") And (Label1(6).Caption = "x") Then Gagner "1"
If (Label1(0).Caption "o") And (Label1(3).Caption "o") And (Label1(6).Caption = "o") Then Gagner "2"
If (Label1(1).Caption "x") And (Label1(4).Caption "x") And (Label1(7).Caption = "x") Then Gagner "1"
If (Label1(1).Caption "o") And (Label1(4).Caption "o") And (Label1(7).Caption = "o") Then Gagner "2"
If (Label1(2).Caption "x") And (Label1(5).Caption "x") And (Label1(8).Caption = "x") Then Gagner "1"
If (Label1(2).Caption "o") And (Label1(5).Caption "o") And (Label1(8).Caption = "o") Then Gagner "2"
If (Label1(0).Caption "x") And (Label1(4).Caption "x") And (Label1(8).Caption = "x") Then Gagner "1"
If (Label1(0).Caption "o") And (Label1(4).Caption "o") And (Label1(8).Caption = "o") Then Gagner "2"
If (Label1(2).Caption "x") And (Label1(4).Caption "x") And (Label1(6).Caption = "x") Then Gagner "1"
If (Label1(2).Caption "o") And (Label1(4).Caption "o") And (Label1(6).Caption = "o") Then Gagner "2"
' Partie Nulle ....
If (Label1(0).Caption <> "") And (Label1(1).Caption <> "") And (Label1(2).Caption <> "") And (Label1(3).Caption <> "") And (Label1(4).Caption <> "") And (Label1(5).Caption <> "") And (Label1(6).Caption <> "") And (Label1(7).Caption <> "") And (Label1(8).Caption <> "") Then
MsgBox " Partie Nulle !! ", , " :) " ' Message qui indique que la partie est nulle
' On efface tout les cases
For i = 0 To 8
Label1(i).Caption = ""
' Pour les Images seulment
'Picture(i).Picture = Nothing
Next
End If
End Sub
' Le gagnant
' Fait toi un autre Private Sub nommé Gagner et met une
' variable String.
Private Sub Gagner(Joueur As String) ' Message pour le gagnant
If Joueur = "1" Then
MsgBox "Le joueur 1 a gagné"
Else
MsgBox "Le joueur 2 a gagné"
End If
' On efface tout les cases
For i = 0 To 8
Label1(i).Caption = ""
' Pour les PictureBox
'Picture(i).Picture = Nothing
Next
End Sub
' Fin du code
Et voila !! ..... Suite à ce commentaire , je suis certain que d'autre
personne vont venir tout de suite donner plusieur facons
beaucoup plus simple , à quelque part , c'est ce que je souhaite ,
moi aussi je suis débutant et je veux apprendre .. = )
Si tu as d'autre question , envoie moi un message ..!.!
J'espère t'avoir aider ... )
Bad*News=
15 mars 2003 à 23:58
eh guidelor putain mais t'as vraiment une belle tronche pour un Français !!! hehe...
15 mars 2003 à 22:01
(Voltaire , 1956)
15 mars 2003 à 20:08
15 mars 2003 à 17:35
je ne peux que t'encourager à progresser , ca ne va pas être difficile , et encore
tu pe simplifier 100 fois ton code, genre avec des boucles
Stp, pense à supprimer cette source ;)
C'est un bien un jeu de belge , ca !
14 mars 2003 à 06:22