Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <GDIPlus.au3>
#Include <WinAPI.au3>
Global $para[7] = [60,100,111,111,10,40,60];decalage horizontal, decal vertical, hauteur cases, largeur cases, espace intercases, espace fin, espace fin
;recuperation des parametres si le fichier .ini existe
If FileExists(@ScriptFullPath & ".ini") Then load1()
Global $case[4][4]
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("2048", 4*$para[3] + $para[0] + $para[6] + 5 * $para[4], 4*$para[2] + $para[1] + $para[5]+ 5 * $para[4], @DesktopWidth/2 - (2*$para[3] + $para[1]+ 2.5 * $para[4]), @DesktopHeight/2 - (2*$para[3] + $para[1]/2 + $para[6]/2+ 2.5 * $para[4]))
GUISetBkColor(0xffffff)
Global $Menu1 = GUICtrlCreateMenu("&Jeu")
Global $new = GUICtrlCreateMenuItem("&Nouveau"&@TAB&"F2", $Menu1)
Global $aide = GUICtrlCreateMenu("&Aide", $Menu1)
Global $help = GUICtrlCreateMenuItem("Comment &jouer ?", $aide)
Global $about = GUICtrlCreateMenuItem("&A propos...", $aide)
GUICtrlCreateMenuItem("",$Menu1)
Global $save = GUICtrlCreateMenuItem("&Sauvgarder"& @TAB & "Fin",$Menu1)
GUICtrlCreateMenuItem("",$Menu1)
Global $best = GUICtrlCreateMenuItem("&Meilleurs scores",$Menu1)
GUICtrlCreateMenuItem("",$Menu1)
Global $quitter = GUICtrlCreateMenuItem("&Quitter" & @TAB&"Echap", $Menu1)
Global $Menu2 = GUICtrlCreateMenu("&Options")
Global $Affichage = GUICtrlCreateMenuItem("&Affichage", $Menu2)
GUICtrlCreateLabel("",$para[0] - $para[4],$para[1] - $para[4],$para[2]*4 + 5 * $para[4],$para[3]*4 + 5 * $para[4])
GUICtrlSetBkColor(-1,0x9b8c86)
For $i = 0 To 3
For $j = 0 To 3
$case[$i][$j] = GUICtrlCreateButton("0",$para[0] + $i * ($para[3] + $para[4]) , $para[1] + $j * ($para[2] + $para[4]) , $para[3] , $para[2] ,$bs_bitmap)
Next
Next
Global $casescore = GUICtrlCreateLabel("0",$para[0],($para[1] - 40) / 2 , $para[3] * 2 , 40 , BitOR($SS_CENTER,$SS_CENTERIMAGE))
GUICtrlSetBkColor(-1,0x9b8c86)
GUICtrlSetColor(-1,0xffffff)
GUICtrlSetFont(-1,22,400,0,"Arial")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $score = 0
#Region
If Not FileExists(@ScriptDir & "\best2048.scores") Then
For $i = 1 To 10
IniWrite(@ScriptDir & "\best2048.scores","1",$i,StringToBinary("..."))
IniWrite(@ScriptDir&"\best2048.scores","2",$i,StringToBinary("0"))
Next
EndIf
Global $Labelscorestat[10]
Global $bestsc[3][10]
For $i = 0 to 9
$bestsc[1][$i] = BinaryToString(IniRead(@ScriptDir&"\best2048.scores","1","a" & $i + 1,StringToBinary("...")))
$bestsc[2][$i] = BinaryToString(IniRead(@ScriptDir &"\best2048.scores","2","a" & $i + 1,StringToBinary("0")))
Next
Global $Labeljoueur[10]
If FileExists(@ScriptFullPath & ".ini") Then
load2()
Else
nouv()
EndIf
HotKeySet("{F2}","nouv")
Global $valeur[8];utile dans les fonctions deplacer
Global $upd[7]
HotKeySet("{left}","gauche")
HotKeySet("{right}","droite")
HotKeySet("{up}","haut")
HotKeySet("{down}","bas")
HotKeySet("{end}","save")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
save()
Exit
Case $quitter
save()
Exit
Case $new
nouv()
Case $save
save()
Case $Affichage
optfenetre()
Case $help
MsgBox(0,2048,"Utilisez les touches flechées du clavier pour deplacer les cases et les assembler." & @crlf & "Le but du jeu est de faire la case 2048, mais le jeu contine quand même ensuite." & @CRLF & @CRLF & "Bonne chance...")
Case $about
About()
Case $best
best()
EndSwitch
WEnd
#endregion
#region Fonctions
;- - - - - - - - - - - - - - - - - - - - - - - Fonctions - - - - - - - - - - - - - - - - - - - -
Func score($bonus)
$score += $bonus
Endfunc
Func Actualiser()
;----------------------------------------------
; Actualise les couleurs
;----------------------------------------------
For $i = 0 To 3
For $j = 0 To 3
Switch GUICtrlRead($case[$i][$j])
Case 0
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\0.bmp");on affiche la valeur corespondant a la valeur de la case
Case 2
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\2.bmp")
Case 4
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\4.bmp")
Case 8
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\8.bmp")
Case 16
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\16.bmp")
Case 32
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\32.bmp")
Case 64
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\64.bmp")
Case 128
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\128.bmp")
Case 256
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\256.bmp")
Case 512
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\512.bmp")
Case 1024
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\1024.bmp")
Case 2048
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\2048.bmp")
Case 4096
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\4096.bmp")
Case 8192
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\8192.bmp")
Case 16384
GUICtrlSetImage($case[$i][$j],@ScriptDir & "\16384.bmp")
Case Else
MsgBox(48,"actualiser","Erreur")
EndSwitch
Next
Next
GUICtrlSetData($casescore,$score)
EndFunc
Func nouv()
raz()
caseauhazard()
caseauhazard()
Actualiser()
EndFunc
Func caseauhazard()
For $tmpnul = 0 To 20
$i = Random(0,3,1);choix d'une case au hazard
$j = Random(0,3,1)
If Random(0,2,1) = 0 Then;choix d'une valeur pour la case
$2ou4 = 4
Else
$2ou4 = 2
EndIf
If GUICtrlRead($case[$i][$j]) = 0 Then;si la case est vide
GUICtrlSetData($case[$i][$j],$2ou4)
$done = 1
Return $done;on termine la fonction
Else
$done = 0
EndIf
Next
;si parmis les 20 cases testées aucune n'est vide
For $i = 0 To 3
For $j = 0 To 3
If GUICtrlRead($case[$i][$j]) = 0 Then;on essaye toute les case pour voir si il y en a une (minimum)de vide
GUICtrlSetData($case[$i][$j],$2ou4)
$done = 1
Return $done
Else
$done = 0
EndIf
Next
Next
$tmp = 0
If $done = 0 Then;si toutes les case sont remplies
For $i = 0 To 2
For $j = 0 To 3
If GUICtrlRead($case[$i][$j]) = GUICtrlRead($case[$i + 1][$j]) Then
$tmp += 1;on ajoute 1 à la variable tmp à chaque fois qu'il y a un deplacement possible
EndIf
Next
Next
For $i = 0 To 2
For $j = 0 To 3
If GUICtrlRead($case[$j][$i]) = GUICtrlRead($case[$j][$i + 1]) Then;horizontalement et verticalement
$tmp += 1
EndIf
Next
Next
If $tmp = 0 Then
;si aucun deplacement possible
MsgBox(48,"2048","Perdu...")
Return 0
Else
return 1;sinon on reprend le jeu
EndIf
EndIf
EndFunc
Func deplacer($dir);1 = gauche,2 = droite, 3= haut, 4= bas
$done = 0
Switch $dir
Case 1
$valeur[0] = 0
$valeur[1] =1
$valeur[2] =2
$valeur[3] =3
Case 2
$valeur[0] =3
$valeur[1] =2
$valeur[2] =1
$valeur[3] =0
Case 3
$valeur[4] =0
$valeur[5] =1
$valeur[6] =2
$valeur[7] =3
Case 4
$valeur[4] =3
$valeur[5] =2
$valeur[6] =1
$valeur[7] =0
EndSwitch
For $i = 0 To 3
If $dir < 3 Then
For $j = 4 To 7
$valeur[$j] = $i
Next
Else
For $j = 0 To 3
$valeur[$j] = $i
Next
EndIf
If GUICtrlRead($case[$valeur[1]][$valeur[5]]) = 0 And GUICtrlRead($case[$valeur[2]][$valeur[6]]) = 0 And GUICtrlRead($case[$valeur[3]][$valeur[7]]) = 0 Then
Sleep(10)
Else
If GUICtrlRead($case[$valeur[0]][$valeur[4]]) = GUICtrlRead($case[$valeur[2]][$valeur[6]]) And GUICtrlRead($case[$valeur[1]][$valeur[5]]) = 0 And GUICtrlRead($case[$valeur[0]][$valeur[4]]) <> 0 Then
Guictrlsetdata($case[$valeur[0]][$valeur[4]], 2 * GUICtrlRead($case[$valeur[0]][$valeur[4]]))
Guictrlsetdata($case[$valeur[2]][$valeur[6]],0)
Score(GUICtrlRead($case[$valeur[0]][$valeur[4]]))
$done = 1
ElseIf GUICtrlRead($case[$valeur[1]][$valeur[5]]) = GUICtrlRead($case[$valeur[3]][$valeur[7]]) And GUICtrlRead($case[$valeur[2]][$valeur[6]]) = 0 And GUICtrlRead($case[$valeur[0]][$valeur[4]]) <> GUICtrlRead($case[$valeur[1]][$valeur[5]]) Then
Guictrlsetdata($case[$valeur[1]][$valeur[5]], 2 * GUICtrlRead($case[$valeur[1]][$valeur[5]]))
Guictrlsetdata($case[$valeur[3]][$valeur[7]],0)
Score(GUICtrlRead($case[$valeur[1]][$valeur[5]]))
$done = 1
ElseIf GUICtrlRead($case[$valeur[0]][$valeur[4]]) = GUICtrlRead($case[$valeur[3]][$valeur[7]]) And GUICtrlRead($case[$valeur[1]][$valeur[5]]) = 0 And GUICtrlRead($case[$valeur[2]][$valeur[6]]) = 0 Then
Guictrlsetdata($case[$valeur[0]][$valeur[4]], 2 * GUICtrlRead($case[$valeur[0]][$valeur[4]]))
Guictrlsetdata($case[$valeur[3]][$valeur[7]],0)
Score(GUICtrlRead($case[$valeur[0]][$valeur[4]]))
$done = 1
Else
If GUICtrlRead($case[$valeur[0]][$valeur[4]]) = GUICtrlRead($case[$valeur[1]][$valeur[5]]) And GUICtrlRead($case[$valeur[0]][$valeur[4]]) <> 0 Then
Guictrlsetdata($case[$valeur[0]][$valeur[4]], 2 * GUICtrlRead($case[$valeur[0]][$valeur[4]]))
Guictrlsetdata($case[$valeur[1]][$valeur[5]],0)
Score(GUICtrlRead($case[$valeur[0]][$valeur[4]]))
$done = 1
Endif
If GUICtrlRead($case[$valeur[1]][$valeur[5]]) = GUICtrlRead($case[$valeur[2]][$valeur[6]]) And GUICtrlRead($case[$valeur[1]][$valeur[5]]) <> 0 Then
Guictrlsetdata($case[$valeur[1]][$valeur[5]], 2 * GUICtrlRead($case[$valeur[1]][$valeur[5]]))
Guictrlsetdata($case[$valeur[2]][$valeur[6]],0)
Score(GUICtrlRead($case[$valeur[1]][$valeur[5]]))
$done = 1
Endif
If GUICtrlRead($case[$valeur[2]][$valeur[6]]) = GUICtrlRead($case[$valeur[3]][$valeur[7]]) And GUICtrlRead($case[$valeur[2]][$valeur[6]]) <> 0 Then
Guictrlsetdata($case[$valeur[2]][$valeur[6]], 2 * GUICtrlRead($case[$valeur[2]][$valeur[6]]))
Guictrlsetdata($case[$valeur[3]][$valeur[7]],0)
Score(GUICtrlRead($case[$valeur[2]][$valeur[6]]))
$done = 1
Endif
EndIf
For $tmpnul = 0 To 2
If GUICtrlRead($case[$valeur[0]][$valeur[4]]) = 0 Then
If GUICtrlRead($case[$valeur[1]][$valeur[5]]) <> 0 Then
Guictrlsetdata($case[$valeur[0]][$valeur[4]], GUICtrlRead($case[$valeur[1]][$valeur[5]]))
Guictrlsetdata($case[$valeur[1]][$valeur[5]],0)
$done = 1
Endif
If GUICtrlRead($case[$valeur[2]][$valeur[6]]) <> 0 Then
Guictrlsetdata($case[$valeur[1]][$valeur[5]], GUICtrlRead($case[$valeur[2]][$valeur[6]]))
Guictrlsetdata($case[$valeur[2]][$valeur[6]],0)
$done = 1
Endif
If GUICtrlRead($case[$valeur[3]][$valeur[7]]) <> 0 Then
Guictrlsetdata($case[$valeur[2]][$valeur[6]], GUICtrlRead($case[$valeur[3]][$valeur[7]]))
Guictrlsetdata($case[$valeur[3]][$valeur[7]],0)
$done = 1
Endif
ElseIf Guictrlread($case[$valeur[1]][$valeur[5]]) = 0 Then
If GUICtrlRead($case[$valeur[2]][$valeur[6]]) <> 0 Then
Guictrlsetdata($case[$valeur[1]][$valeur[5]], GUICtrlRead($case[$valeur[2]][$valeur[6]]))
Guictrlsetdata($case[$valeur[2]][$valeur[6]],0)
$done = 1
Endif
If GUICtrlRead($case[$valeur[3]][$valeur[7]]) <> 0 Then
Guictrlsetdata($case[$valeur[2]][$valeur[6]], GUICtrlRead($case[$valeur[3]][$valeur[7]]))
Guictrlsetdata($case[$valeur[3]][$valeur[7]],0)
$done = 1
Endif
Elseif Guictrlread($case[$valeur[2]][$valeur[6]]) = 0 Then
If GUICtrlRead($case[$valeur[3]][$valeur[7]]) <> 0 Then
Guictrlsetdata($case[$valeur[2]][$valeur[6]], GUICtrlRead($case[$valeur[3]][$valeur[7]]))
Guictrlsetdata($case[$valeur[3]][$valeur[7]],0)
$done = 1
Endif
Endif
Next
EndIf
Next
If $done Then
caseauhazard()
Actualiser()
EndIf
verif()
Endfunc
Func raz()
$score = 0
For $i = 0 to 3
For $j = 0 To 3
GUICtrlSetData($case[$i][$j],"0")
Next
Next
Actualiser()
EndFunc
Func save()
FileDelete(@ScriptFullPath & ".ini")
;il y a une seule fonction save qui s'enclanche quand la fenetre se ferme
IniWriteSection(@ScriptFullPath & ".ini", "cases","")
For $i = 0 To 3
For $j = 0 To 3
IniWrite(@ScriptFullPath & ".ini", "cases", $i & $j, GUICtrlRead($case[$i][$j]))
Next
Next
IniWriteSection(@ScriptFullPath & ".ini", "fenetre", "")
For $i = 0 To 6
IniWrite(@ScriptFullPath & ".ini","fenetre" , "4"& $i+1,$para[$i])
Next
IniWrite(@ScriptFullPath & ".ini","fenetre", "score",$score)
For $i = 0 To 9
IniWrite(@ScriptDir & "\best2048.scores","1","a"&($i+1),StringToBinary($bestsc[1][$i]))
IniWrite(@ScriptDir & "\best2048.scores","2","a"&($i+1),StringToBinary($bestsc[2][$i]))
Next
EndFunc
Func load1()
;il y a deux fonctions load :
;une pour les parametres de taille de la fenetre (celle-ci)
;l'autre pour les valeurs des cases du jeu
For $i = 0 To 6
;~ file name section key
$para[$i] = IniRead(@ScriptFullPath & ".ini","fenetre",41 + $i,60)
Next
If Not @error Then Return 1
EndFunc
Func load2()
For $i = 0 To 3
For $j = 0 To 3
GUICtrlSetData($case[$i][$j], IniRead(@ScriptFullPath & ".ini", "cases", $i & $j, 0))
Next
Next
$score = IniRead(@ScriptFullPath & ".ini","fenetre","score",0)
Actualiser()
EndFunc
Func optfenetre()
Global $Form2 = GUICreate("Options", 400, 250, 192, 124)
GUICtrlCreateLabel("Espace gauche :", 25, 15, 85, 17)
GUICtrlCreateLabel("Espace droite :", 25, 40, 85, 17)
GUICtrlCreateLabel("Espace haut :", 25, 65, 85, 17)
GUICtrlCreateLabel("Espace bas :", 25, 90, 85, 17)
$upd[0] = GUICtrlCreateInput($para[0],115,15,45,17)
GUICtrlCreateUpdown(-1)
$upd[6] = GUICtrlCreateInput($para[6],115,40,45,17)
GUICtrlCreateUpdown(-1)
$upd[1] = GUICtrlCreateInput($para[1],115,65,45,17)
GUICtrlCreateUpdown(-1)
$upd[5] = GUICtrlCreateInput($para[5],115,90,45,17)
GUICtrlCreateUpdown(-1)
GUICtrlCreateLabel("Largeur des cases :", 25, 135, 125, 17)
GUICtrlCreateLabel("Hauteur des cases :", 25, 160, 125, 17)
GUICtrlCreateLabel("Espace entre deux cases :", 15, 185, 130, 17)
$upd[3] = GUICtrlCreateInput($para[3],155,135,45,17)
GUICtrlCreateUpdown(-1)
$upd[2] = GUICtrlCreateInput($para[2],155,160,45,17)
GUICtrlCreateUpdown(-1)
$upd[4] = GUICtrlCreateInput($para[4],155,185,45,17)
GUICtrlCreateUpdown(-1)
Global $bpok = GUICtrlCreateButton("&OK",25,215,100,25)
Global $bpan = GUICtrlCreateButton("&Annuler",150,215,100,25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
$nMsg = 0
GUISetState(@SW_HIDE,$Form2)
Return 1
Case $bpan
$nMsg = 0
GUISetState(@SW_HIDE,$Form2)
Return 1
Case $bpok
For $i = 0 To 6
$para[$i] = GUICtrlRead($upd[$i])
Next
save()
MsgBox(64,"2048 Info...","Attention,"&@CRLF&@CRLF&"Ces modifications seront prisent en compte lors du prochain demarrage de l'application.")
$nMsg = 0
GUISetState(@SW_HIDE,$Form2)
Return 1
EndSwitch
WEnd
EndFunc
Func About()
#Region ### START Koda GUI section ### Form=
Global $Form3 = GUICreate("A Propos...", 324, 275, 302, 218)
Global $GroupBox1 = GUICtrlCreateGroup("", 8, 8, 305, 255)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000000)
GUICtrlCreatePic(@ScriptDir & "\2048.bmp", 16, 24, 105, 97)
GUICtrlCreateLabel("Nom : 2048", 144, 24, 96, 20)
GUICtrlCreateLabel("Version : 3.0.8", 144, 72, 100, 20)
GUICtrlCreateLabel("Commentaires :" & @CRLF & @TAB & "Jeu 2048 programmé grace au logiciel Autoit. On peut desormais y jouer sur ordinnateur Hors ligne, pratique quand les connexions sont limitées ou innexistantes.", 16, 128, 275, 85)
GUICtrlCreateLabel("Auteur : ...", 145, 48, 100, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1);valeurs données par KODA
Global $bpvalid = GUICtrlCreateButton("&Valider", 112, 220, 75, 25, 0)
GUICtrlSetCursor (-1, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Do
Sleep(1)
until GUIGetMsg() <> 0
$nMsg = 0
GUISetState(@SW_HIDE,$Form3)
Return 1
EndFunc
Func verif()
$tmp = 0
For $i = 0 To 2
For $j = 0 To 3
If GUICtrlRead($case[$i][$j]) = GUICtrlRead($case[$i + 1][$j]) Then
$tmp += 1;on ajoute 1 à la variable tmp à chaque fois qu'il y a un deplacement possible
EndIf
Next
Next
For $i = 0 To 2
For $j = 0 To 3
If GUICtrlRead($case[$j][$i]) = GUICtrlRead($case[$j][$i + 1]) Then;horizontalement et verticalement
$tmp += 1
EndIf
Next
Next
$tmp2 = 1
For $i = 0 To 3
For $j = 0 To 3
$tmp2 = $tmp2 * GUICtrlRead($case[$i][$j])
Next
Next
If $tmp = 0 And $tmp2 <> 0 Then
;si aucun deplacement possible
MsgBox(48,"2048","Perdu...")
If $score > $bestsc[2][9] Then class()
$tmp = MsgBox(36,"2048","Rejouer ?")
If $tmp = 6 Then
nouv()
Else
Exit
EndIf
EndIf
EndFunc
Func best()
For $i = 0 to 9
$bestsc[1][$i] = BinaryToString(IniRead(@ScriptDir& "\best2048.scores","1","a" & $i + 1,StringToBinary("...")))
$bestsc[2][$i] = BinaryToString(IniRead(@ScriptDir & "\best2048.scores","2","a" & $i + 1,StringToBinary("0")))
Next
#Region ### START Koda GUI section ### Form=
Global $Form4 = GUICreate("2048", 419, 527, 192, 124)
GUISetBkColor(0xFFFFFF)
Global $Bpbok = GUICtrlCreateButton("&OK", 16, 480, 169, 33)
Global $Button2 = GUICtrlCreateButton("Effacer les scores", 216, 480, 169, 33)
If @UserName <> "UserName" Then GUIctrlSetState(-1,$GUI_disable)
Global $Label1 = GUICtrlCreateLabel("Meilleurs scores", 8, 8, 396, 68)
GUICtrlSetFont(-1, 40, 400, 0, "MS Sans Serif")
For $k = 1 To 10
GUICtrlCreateLabel($k, 15, 80 + 25 * $k, 17, 21,BitOR($SS_CENTER,$SS_CENTERIMAGE))
GUICtrlSetBkColor(-1, 0xC0C0C0)
Next
For $k = 0 To 9
$Labeljoueur[$k] = GUICtrlCreateLabel($bestsc[1][$k], 40, 105 + 25 * $k, 165, 21,$SS_CENTERIMAGE)
GUICtrlSetBkColor(-1, 0xC0C0C0)
$Labelscorestat[$k] = GUICtrlCreateLabel($bestsc[2][$k],220,105 + 25 * $k,125,21,BitOR($SS_CENTER,$SS_CENTERIMAGE))
GUICtrlSetBkColor(-1, 0xC0C0C0)
Next
save()
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
$nMsg = 0
GUISetState(@SW_HIDE,$Form4)
Return 1
Case $Bpbok
$nMsg = 0
GUISetState(@SW_HIDE,$Form4)
Return 1
Case $Button2
clearscores()
EndSwitch
WEnd
EndFunc
Func class()
For $i = 0 To 9
If $score > $bestsc[2][$i] Then
For $j = 9 to $i Step -1
If $j <> 0 Then
$bestsc[2][$j] = $bestsc[2][$j - 1]
$bestsc[1][$j] = $bestsc[1][$j - 1]
EndIf
Next
$bestsc[2][$i] = $score
$bestsc[1][$i] = InputBox("2048","Meilleurs score." & @CRLF & @CRLF & "Entrez votre nom.","Player...")
Return 1
EndIf
Next
EndFunc
Func clearscores()
For $i = 1 To 10
IniWrite(@ScriptDir & "\best2048.scores","1",$i,StringToBinary("..."))
IniWrite(@ScriptDir & "\best2048.scores","2",$i,StringToBinary("0"))
Next
For $i = 0 to 9
$bestsc[1][$i] = BinaryToString(IniRead(@ScriptDir & "\best2048.scores","1","a" & $i + 1,StringToBinary("...")))
$bestsc[2][$i] = BinaryToString(IniRead(@ScriptDir & "\best2048.scores","2","a" & $i + 1,StringToBinary("0")))
Next
save()
EndFunc
Func gauche()
deplacer(1)
EndFunc
Func droite()
deplacer(2)
EndFunc
Func haut()
deplacer(3)
EndFunc
Func bas()
deplacer(4)
EndFunc
#endregion