LE 421 AVEC CLASSEMENT V2

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 20 juil. 2009 à 09:39
bilbo50 Messages postés 23 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 27 janvier 2020 - 23 juil. 2009 à 20:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50341-le-421-avec-classement-v2

bilbo50 Messages postés 23 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 27 janvier 2020
23 juil. 2009 à 20:42
en voilà une idée quelle est bonne, je m'y met
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
23 juil. 2009 à 11:47
comme tous les jeux, il est plus intéressant de jouer à plusieurs ,
l'ordinateur est en général assez bon joueur :)
à toi de l'implémenter
bilbo50 Messages postés 23 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 27 janvier 2020
22 juil. 2009 à 12:49
je te remercie ghuysmans99 pour l'info et je vais y retravailler
je fais tout pour corriger mon code au plus vite
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
22 juil. 2009 à 11:16
salut ghuysmans99 :)
on vas pas se disputer hein :)
surtout qu'on a tous les deux raison mdr
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
22 juil. 2009 à 08:37
Et moi je répète ça : utilise System.Environment.CurrentDirectory !
# noms = New StreamReader(System.Environment.CurrentDirectory & "\noms.txt")
# score = New StreamReader(System.Environment.CurrentDirectory & "\score.txt")
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
21 juil. 2009 à 23:53
ah ben c'est ça que j'avais pas trouvé alors :)
bilbo50 Messages postés 23 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 27 janvier 2020
21 juil. 2009 à 19:26
mERCI POUR les fichiers je vais regarder,
les messages box, je les ai personnalisé je les trouve bien mais bon
si il y a mieux
sinon je répète pour qu'il fonctionne le répertoire
d'installation est c:\lejeudu421
est tout les fichiers doivent être dedans, il fonctionne sur
Sinon Gillardg on peut garder un ou deux dés, dès que l'on clique sur un dé
il se met en bas donc ce que l'on garde, puis on relance les dés
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
21 juil. 2009 à 13:29
une des regles fondamentales du 421 c'est de pouvoir garder 1 ou 2 dés et de rejouer le reste
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
21 juil. 2009 à 13:21
le jeu ne fonctionne pas , le résultat n'est pas affiché ni comptabilisé, et rien n'est écrit dans les fichiers ???

j'ai du rater un épisode, ou le code n'est pas terminé, non fonctionnel !!!!
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
21 juil. 2009 à 12:39
ben voila je reviens après lecture

c'est vraiment le b*rd*l ton code :
des procédures vides ça sert à quoi????
msgbox??? pourquoi pas MessageBox.Show ?

streamreader sur un fichier qui n'existe pas provoque une exeption , pourquoi ne pas vérifier si le fichier existe avant de l'ouvrir et le créer avant utilisation s'il n'existe pas ?

puisque tu utilises tes fichiers noms.txt et scores.txt dans plusieurs Sub pourquoi ne pas déclarer 2 String au niveau de la classe ???

.....
je ne note pas, mets un peu d'ordre dans tout ce bazar
et reposte le , je me ferai alors un réel plaisir de noter.
si tu n'y arrives pas je suis assez disponible ces temps ci

http://twitter.com/gillardg
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
21 juil. 2009 à 11:32
salut ,
pas encore vu le code mais par rapport aux précédent commentaires ,

Application.StartupPath me semble mieux que
System.Environment.CurrentDirectory
dans ce cadre ci :)

je vais voir le code et je reviens :)
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
21 juil. 2009 à 10:56
"ps: apprends le C#, c'est mieux que le VB... ^_^"
Mieux que le VB.NET, pas le VB6 :D
neo2k2 Messages postés 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 3
21 juil. 2009 à 10:21
@ghuysmans99: le @"string" te permet, entre autres, de ne pas t'embêter avec les caractères d'échappement "" ou "\" pour signaler le chemin complet: @"\noms.txt" == "\\noms.txt" donc si System.Environment.CurrentDirectory se termine par "\" il n'est pas ajouté...

@bilbo50: ton code n'est pas mauvais et je serais mal placé pour dire que les miens sont parfaits mais c'est en forgeant qu'on devient forgeron et ce site te permettra d'apprendre beaucoup avec des forumeurs franchement ouverts et compétents donc n'hésite pas à poser les bonnes questions sur les forums.

ps: apprends le C#, c'est mieux que le VB... ^_^
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
20 juil. 2009 à 19:15
Je te l'avais proposé dans mon 1er commentaire : utilise System.Environment.CurrentDirectory !
# noms = New StreamReader(System.Environment.CurrentDirectory & "\noms.txt")
# score = New StreamReader(System.Environment.CurrentDirectory & "\score.txt")
bilbo50 Messages postés 23 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 27 janvier 2020
20 juil. 2009 à 18:17
Je suis heureux et conscient que mon code est loin d'être parfait
c'est mon premier code vb, j'ai pas mal galéré à trouver des
informations donc à force on tatonne,
mais vos commentaires me font plaisir et vont me faire
avancer,
en fait l'installation dans ce répertoire est du au fait que j'ai deux
fichiers texte qui me servent pour le classement tout simplement
si vous avez une autre méthode merci
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
20 juil. 2009 à 17:03
@neo2k2 : J'y avais même pas pensé ... tellement l'habitude de lire du code C++ que je fais même plus attention ! Une petite question : pourquoi tu mets un @ avant la chaîne concaténée ?
neo2k2 Messages postés 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 3
20 juil. 2009 à 14:15
@ghuysmans99: je viens de m'apercevoir que j'avais mis du code c# et non vb.net... mais tu as raison, c'est justement pour cela que je lui demande pourquoi il ne les utilise pas partout... :S
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
20 juil. 2009 à 13:10
@neo2K2 : "Select Case ... Case ... End Select" existe aussi en VBA, et en VB6. Le seul problème c'est que des gens codent n'importe comment.
neo2k2 Messages postés 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 3
20 juil. 2009 à 13:00
Oui... mais non!

Pour commencer, comme l'a justement dit Ghuysmans99, moi quand je vois ça: "noms = New StreamReader("c:\lejeudu421\noms.txt")", je pars en courant!

Donc soit tu utilises:
->
System.Environment.CurrentDirectory
soit tu utilises :

->
string fileName = Directory.GetCurrentDirectory() + @"\noms.txt";
noms = New StreamReader(fileName)

Ensuite, renommes tes controles pour plus de lisibilité! Idem avec les variables (vd1, vd2,...).

Select... Case, tu connais? Tu les utilises et puis soudain y a ça:

If vd1 vd2 And vd2 vd3 And vd1 = 2 Then gain = v222
If vd1 vd2 And vd2 vd3 And vd1 = 3 Then gain = v333
If vd1 vd2 And vd2 vd3 And vd1 = 4 Then gain = v444
If vd1 vd2 And vd2 vd3 And vd1 = 5 Then gain = v555
If vd1 vd2 And vd2 vd3 And vd1 = 6 Then gain = v666
If vd1 vd2 And vd2 vd3 And vd1 = 1 Then gain = v111

If (vd1 4 Or vd2 4 Or vd3 = 4) And (vd1 = 3 Or vd2 = 3 Or vd3 = 3) And (vd1 = 2 Or vd2 = 2 Or vd3 = 2) Then
gain = v432
End If

Tu vois où je veux en venir, il faut optimiser ton code, histoire que ça ne ressemble pas à du VBA... :S

Allez, au boulot!
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
20 juil. 2009 à 09:39
Sers-toi de System.Environment.CurrentDirectory au lieu de mettre les chemins en dur !
Rejoignez-nous