Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[Prog] Jeu Virtual Euro Millions
Auteur Message
Répondre en citant
Message [Prog] Jeu Virtual Euro Millions 
Hello,

J'ai créé un petit jeu d'euro millions avec une gestion d'argent virtuel.

Le même jeu que j'avais créé en batch : http://batch.xoo.it/t1077-euro-million-winner.htm

Développé sous windows seven, mais elle devrait marcher sur toutes les versions de windows. Pour la tester, vous devez copier le code dans Autoit (SciTE4autoit), l'enregistrer en .au3 et l'ouvrir. Je peux également fournir l'exécutable sur demande.

Voila donc le code, commenté sur chaque ligne (Shocked).

Code:
#include <GUIConstants.au3>
#Include <String.au3> ;on inclut String.au3 pour pouvoir crypter les nombres

Local $nombre1,$nombre2,$nombre3,$nombre4,$nombre5,$etoile1,$etoile2 ;On déclare quelques variables

restart()

HotKeySet("{esc}", "_quit") ;Si on appuye sur la touche escape alors on utilise la fonction _quit

Func _quit() ;Début de la fonction de sortie
Exit ;On quitte la programme
EndFunc ;Fin de la fonction

Func toomuch_error() ;Début de la fonction si il y a un nombre trop grand
MsgBox(0,"Erreur","Vous avez entré un nombre trop grand ou trop petit.") ;affichage du message d'erreur
GUIDelete() ;On efface toutes les fenêtres
restart() ;On recommence depuis le début
EndFunc ;Fin de la fonction

Func twosame_error() ;Début de la fonction si il y a 2 fois le même nombre
MsgBox(0,"Erreur","Vous avez entré deux fois le même nombre.") ;affichage du message d'erreur
GUIDelete() ;On efface toutes les fenêtres
restart() ;On recommence depuis le début
EndFunc ;Fin de la fonction

Func restart() ;Début de la fonction de choix des nombres
$money = IniRead("VirtualEuroMillions.ini","settings","money","445B") ;On lit l'argent restant crypté
$money = _StringEncrypt(0,$money,"password") ;On décrypte l'argent restant
If $money < 1 Then MsgBox(0,"Attention !","Vous n'avez plus d'argent ! 100 euros vont être rajouter à votre argent virtuel pour que vous puissiez continuer à jouer.") ;affichage du message d'erreur
If $money < 1 Then $money = 100 ;On Do ;Début de la bouclenne 100 euros
$cash = IniRead("VirtualEuroMillions.ini","settings","money","445B") ;On lit l'argent restant crypté
If $money <> $cash Then $money2 = _StringEncrypt(1,$money,"password")  ;On regarde si ils sont différents et on crypte l'argent
If $money <> $cash Then iniwrite("VirtualEuroMillions.ini","settings","money",$money2) ;On lit l'argent restant crypté

#Region ### START Koda GUI section ### ;début de l'interface
$money = IniRead("VirtualEuroMillions.ini","settings","money","445B") ;On lit l'argent restant crypté
$money = _StringEncrypt(0,$money,"password") ;On décrypte l'argent restant
$Form1 = GUICreate("Virtual Euro Millions by Sablier94", 570, 378, 193, 125) ;Le titre
GUISetBkColor(0x99B4D1) ;On définit la couleur
$nombre1 = GUICtrlCreateInput("", 88, 104, 113, 21);On crée un imput
$nombre2 = GUICtrlCreateInput("", 88, 141, 113, 21);On crée un imput
$nombre3 = GUICtrlCreateInput("", 88, 183, 113, 21);On crée un imput
$nombre4 = GUICtrlCreateInput("", 88, 224, 113, 21);On crée un imput
$nombre5 = GUICtrlCreateInput("", 88, 266, 113, 21);On crée un imput
$etoile1 = GUICtrlCreateInput("", 313, 99, 113, 21);On crée un imput
$etoile2 = GUICtrlCreateInput("", 312, 142, 113, 21);On crée un imput
$txt1 = GUICtrlCreateLabel("Entrez 5 nombres entre 1 et 50 :", 16, 64, 187, 20) ;Affichage du texte
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif") ;propriétés
$Label1 = GUICtrlCreateLabel("Entrez 2 nombres entre 1 et 9 :", 248, 64, 180, 20) ;Affichage du texte
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif") ;propriétés
$titre = GUICtrlCreateLabel("Virtual Euro Millions", 136, 16, 163, 24) ;Affichage du texte
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ;propriétés
$valider = GUICtrlCreateButton("Valider", 280, 224, 169, 33, 0) ;Affichage du texte
$txt3 = GUICtrlCreateLabel("Ce "&"billet"&" vous coutera 5 euros viruels, vous avez actuellement "&$money&" euros virtuels.", 48, 328, 471, 20) ;Affichage du texte
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif") ;propriétés
GUISetState(@SW_SHOW);propriétés
#EndRegion ### END Koda GUI section ### ;fin de l'inreface

While 1 ;Début de la boucle
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE ;Si la croix est appuyée
         Exit ;Sortie
      Case $valider ;Si on appuie sur valider
         play() ;On utilise la fonction play()
   EndSwitch
WEnd ;Fin de la boucle
EndFunc ;Fin de la fonction

Func play() ;début de la fonction
$money = IniRead("VirtualEuroMillions.ini","settings","money","445B") ;on lit l'argent crypté
$money = _StringEncrypt(0,$money,"password") ;on décryptel'argent crypté
$money = $money-5 ;on enlève 5 euro (prix du billet) à l'argent total
$money = _StringEncrypt(1,$money,"password") ;on crypte l'argent
IniWrite("VirtualEuroMillions.ini","settings","money",$money) ;on écrit l'argent crypté dans le fichier .ini

$nombre1 = GUICtrlRead($nombre1) ;on lit le nombre
$nombre2 = GUICtrlRead($nombre2) ;on lit le nombre
$nombre3 = GUICtrlRead($nombre3) ;on lit le nombre
$nombre4 = GUICtrlRead($nombre4) ;on lit le nombre
$nombre5 = GUICtrlRead($nombre5) ;on lit le nombre
$etoile1 = GUICtrlRead($etoile1) ;on lit le nombre
$etoile2 = GUICtrlRead($etoile2) ;on lit le nombre
   
If $nombre2 = $nombre1 Then twosame_error() ;On regarde si des nombres sont les mêmes
If $nombre3 = $nombre1 Then twosame_error() ;On regarde si des nombres sont les mêmes
If $nombre3 = $nombre2 Then twosame_error() ;On regarde si des nombres sont les mêmes
If $nombre4 = $nombre1 Then twosame_error() ;On regarde si des nombres sont les mêmes
If $nombre4 = $nombre2 Then twosame_error() ;On regarde si des nombres sont les mêmes
If $nombre4 = $nombre3 Then twosame_error() ;On regarde si des nombres sont les mêmes
If $nombre5 = $nombre1 Then twosame_error() ;On regarde si des nombres sont les mêmes
If $nombre5 = $nombre2 Then twosame_error() ;On regarde si des nombres sont les mêmes
If $nombre5 = $nombre3 Then twosame_error() ;On regarde si des nombres sont les mêmes
If $nombre5 = $nombre4 Then twosame_error() ;On regarde si des nombres sont les mêmes

If $nombre1 < 1 Or $nombre1 > 50 Then toomuch_error() ;Si un nombre est trop grand ou trop petit
If $nombre2 < 1 Or $nombre2 > 50 Then toomuch_error() ;Si un nombre est trop grand ou trop petit
If $nombre3 < 1 Or $nombre3 > 50 Then toomuch_error() ;Si un nombre est trop grand ou trop petit
If $nombre4 < 1 Or $nombre4 > 50 Then toomuch_error() ;Si un nombre est trop grand ou trop petit
If $nombre5 < 1 Or $nombre5 > 50 Then toomuch_error() ;Si un nombre est trop grand ou trop petit

If $etoile1 < 1 Or $etoile1 > 9 Then toomuch_error() ;Si une etoile est trop grande ou trop petite
If $etoile2 < 1 Or $etoile2 > 9 Then toomuch_error() ;Si une etoile est trop grande ou trop petite

$nombreok = 0 ;On définit le nombre de nombres corrects
$etoileok = 0 ;On définit le nombre d'étoiles correctes

$nombrerandom1 = Random(1,50,1) ;On définit un nombre aléatoire entre 1 et 50
If $nombre1 = $nombrerandom1 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre2 = $nombrerandom1 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre3 = $nombrerandom1 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre4 = $nombrerandom1 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre5 = $nombrerandom1 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
Do ;Début de la boucle
$nombrerandom2 = Random(1,50,1) ;On définit un nombre aléatoire entre 1 et 50
Until $nombrerandom2 <> $nombrerandom1 ;On continue la boucle  jusqu'à ce que les 2 nombres soient différents
If $nombre1 = $nombrerandom2 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre3 = $nombrerandom2 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre4 = $nombrerandom2 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre5 = $nombrerandom2 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
Do;Début de la boucle
$nombrerandom3 = Random(1,50,1) ;On définit un nombre aléatoire entre 1 et 50
Until $nombrerandom3 <> $nombrerandom1 And $nombrerandom3 <> $nombrerandom2 ;On continue la boucle  jusqu'à ce que tous les nombres soient différents
If $nombre1 = $nombrerandom3 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre2 = $nombrerandom3 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre3 = $nombrerandom3 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre4 = $nombrerandom3 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre5 = $nombrerandom3 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
Do ;Début de la boucle
$nombrerandom4 = Random(1,50,1) ;On définit un nombre aléatoire entre 1 et 50
Until $nombrerandom4 <> $nombrerandom1 And $nombrerandom4 <> $nombrerandom2 And $nombrerandom4 <> $nombrerandom3 ;On continue la boucle  jusqu'à ce que tous les nombres soient différents
If $nombre1 = $nombrerandom4 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre2 = $nombrerandom4 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre3 = $nombrerandom4 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre4 = $nombrerandom4 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre5 = $nombrerandom4 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
Do ;Début de la boucle
$nombrerandom5 = Random(1,50,1) ;On définit un nombre aléatoire entre 1 et 50
Until $nombrerandom5 <> $nombrerandom1 And $nombrerandom5 <> $nombrerandom2 And $nombrerandom5 <> $nombrerandom3 And $nombrerandom5 <> $nombrerandom4 ;On continue la boucle  jusqu'à ce que tous les nombres soient différents
If $nombre1 = $nombrerandom5 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre2 = $nombrerandom5 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre3 = $nombrerandom5 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre4 = $nombrerandom5 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $nombre5 = $nombrerandom5 Then $nombreok = $nombreok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
$etoilerandom1 = Random(1,9,1) ;On définit un nombre aléatoire entre 1 et 9
If $etoile1 = $etoilerandom1 Then $etoileok = $etoileok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
If $etoile2 = $etoilerandom1 Then $etoileok = $etoileok +1 ;Si les nombre sont les mêmes on ajoute 1 aux nombres corrects
Do ;Début de la boucle
$etoilerandom2 = Random(1,9,1) ;On définit un nombre aléatoire entre 1 et 9
Until $etoilerandom2 <> $etoilerandom1 ;On continue la boucle  jusqu'à ce que les 2 nombres soient différents
If $etoile1 = $etoilerandom2 Then $etoileok = $etoileok +1 ;Si les nombre sont les mêmes on ajoute 1 aux étoiles correctes
If $etoile2 = $etoilerandom2 Then $etoileok = $etoileok +1 ;Si les nombre sont les mêmes on ajoute 1 aux étoiles correctes

$gain = 0 ;On définit le gain à 0
If $etoileok = 2 And $nombreok = 1 Then $gain = 10.50 ;On définit le gain en fonction des nombres corrects
If $etoileok = 1 And $nombreok = 2 Then $gain = 9.60 ;On définit le gain en fonction des nombres corrects
If $etoileok = 2 And $nombreok = 2 Then $gain = 23.70 ;On définit le gain en fonction des nombres corrects
If $etoileok = 0 And $nombreok = 3 Then $gain = 17.70 ;On définit le gain en fonction des nombres corrects
If $etoileok = 1 And $nombreok = 3 Then $gain = 29 ;On définit le gain en fonction des nombres corrects
If $etoileok = 2 And $nombreok = 3 Then $gain = 88 ;On définit le gain en fonction des nombres corrects
If $etoileok = 0 And $nombreok = 4 Then $gain = 136 ;On définit le gain en fonction des nombres corrects
If $etoileok = 1 And $nombreok = 4 Then $gain = 262.10 ;On définit le gain en fonction des nombres corrects
If $etoileok = 2 And $nombreok = 4 Then $gain = 5285 ;On définit le gain en fonction des nombres corrects
If $etoileok = 0 And $nombreok = 5 Then $gain = 79275.30 ;On définit le gain en fonction des nombres corrects
If $etoileok = 1 And $nombreok = 5 Then $gain = 503169.70 ;On définit le gain en fonction des nombres corrects
If $etoileok = 2 And $nombreok = 5 Then $gain = 28562603.20 ;On définit le gain en fonction des nombres corrects
$money = IniRead("VirtualEuroMillions.ini","settings","money","445B") ;on lit l'argent crypté
$money = _StringEncrypt(0,$money,"password") ;on décrypte l'argent crypté
$money = $money+$gain ;on additionne le gain et l'argent
$money = _StringEncrypt(1,$money,"password") ;On crypte l'argent
IniWrite("VirtualEuroMillions.ini","settings","money",$money) ;on écrit l'argent dans le fichier.ini

GUIDelete() ;On efface toutes les fenêtres
$money = IniRead("VirtualEuroMillions.ini","settings","money","445B") ;on lit l'argent crypté
$money = _StringEncrypt(0,$money,"password") ;on décrypte l'argent crypté
#Region ### START Koda GUI section ### ;Début de l'interface
$Form2 = GUICreate("Virtual Euro Millions by Sablier94", 547, 263, 303, 219);Le titre
GUISetBkColor(0x99B4D1) ;On définit la couleur
$wintxt = GUICtrlCreateLabel("Vous avez donc trouvé "&$nombreok&" bons numéros et "&$etoileok&" étoiles correctes", 24, 112, 430, 24) ;Affichage du texte
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") ;propriétés
$gaintxt = GUICtrlCreateLabel("Votre gain virtuel est de : "&$gain&" euros et votre argent total est de "&$money&" euros !", 24, 162, 499, 24) ;Affichage du texte
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") ;propriétés
$rejouer = GUICtrlCreateButton("Rejouer !", 152, 192, 177, 33, 0)
$tiragetxt = GUICtrlCreateLabel("Les nombres tirés sont le "&$nombrerandom1&", le "&$nombrerandom2&", le "&$nombrerandom3&", le "&$nombrerandom4&" et le "&$nombrerandom5&". Vous aviez choisis les nombres :"&$nombre1&", "&$nombre2&", "&$nombre3&", "&$nombre4&" et "&$nombre5&"", 24, 24, 400, 44) ;Affichage de texte
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") ;propriétés
$tiragetxt2 = GUICtrlCreateLabel("Vous aviez choisis les étoiles "&$etoile1&" et "&$etoile2&". Les étoiles tirées sont le "&$etoilerandom1&" et le "&$etoilerandom2&"", 24, 70, 370, 44) ;On affiche du texte
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") ;propriétés
GUISetState(@SW_SHOW) ;propriétés
#EndRegion ### END Koda GUI section ### ;Fin de l'interface


While 1 ;Début de la boucle
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE ;Si on appuie sur la croix
         Exit ;Sortie
      Case $rejouer ;Si on appuie sur le boutton rejouer
         GUIDelete() ;On efface toutes les fenêtres
         restart() ;On redémarre le jeu
   EndSwitch
WEnd ;Fin de la boucle
EndFunc ;Fin de la fonction




Dernière édition par sablier94 le Sam 27 Nov 2010 - 23:07; édité 3 fois

______________________________________________________
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Prog] Jeu Virtual Euro Millions 
hello!

GG Okay

mais juste comme ça, tu pourrais pas remplacer les if à repétion par des select parce que ça allourdi vachementle code Mr. Green

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message [Prog] Jeu Virtual Euro Millions 
Salut et merci,

Oui, j'avais commencé avec des select, mais je m'embrouillais, alors j'ai utilisé les if qui me parlaient plus pour définir l'algorithme en plus, le batch est avec des if, donc il restait "plus" qu'à suivre le même chemin en autoit.

Mais je vais le refaire avec des select dès que j'ai le temps.

A+




______________________________________________________
Message [Prog] Jeu Virtual Euro Millions 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch