Hallo ich habe ein Programm geschrieben welches das Spiel 'Schere,Stein, Papier' simuliert.
Hat jemand Verbesserungsvorschläge?
Code
#Include <File.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $MeinePunkte = 0
Global $GegnerPunkte = 0
#Region ### START Koda GUI section ### Form=C:\Users\Jessica\Desktop\Kli Kla Klok\Data\GUI_GAME.kxf
$Form1 = GUICreate("SSP - Schere Stein Papier", 443, 334, 261, 210)
GUISetBkColor(0xFFFFFF)
$Group1 = GUICtrlCreateGroup("", 8, 0, 425, 97)
$Label1 = GUICtrlCreateLabel(" LOS GEHT'S", 80, 32, 293, 30)
GUICtrlSetFont(-1, 24, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$SPIELEN = GUICtrlCreateButton("SPIELEN", 16, 104, 411, 49)
GUICtrlSetFont(-1, 24, 800, 0, "MS Sans Serif")
$ICHPIC = GUICtrlCreatePic(@ScriptDir&"\Data\START-LINKS.jpg", 0, 160, 204, 164)
GUICtrlSetState(-1, $GUI_DISABLE)
$GEGNERPIC = GUICtrlCreatePic(@ScriptDir&"\Data\START-RECHTS.jpg", 238, 160, 204, 164)
GUICtrlSetState(-1, $GUI_DISABLE)
$Label2 = GUICtrlCreateLabel("ICH", 80, 304, 29, 15)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("GEGNER", 288, 304, 68, 16)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel($MeinePunkte, 10, 154, 37, 20)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Label4 = GUICtrlCreateLabel($GegnerPunkte, 398, 154, 37, 20)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $SPIELEN
;~ Papier - 1
;~ Schere - 2
;~ Stein - 3
#Region / ICH
;~ ICH - LINKS
Global $FileListICH = _FileListToArray(@ScriptDir & "\Data\ICH", "*.jpg",1)
If (Not @error) And ($FileListICH[0]) Then
;~ MsgBox(0, "ICH", $FileListICH[Random(1, $FileListICH[0],1)])
Global $IchRandom = $FileListICH[Random(1, $FileListICH[0],1)]
;~ Create ICH file
FileDelete(@ScriptDir&"\Data\Save\ICH.ini")
$File = FileWrite(@ScriptDir&"\Data\Save\ICH.ini","Nothing")
_FileWriteToLine(@ScriptDir&"\Data\Save\ICH.ini", 1, $IchRandom, True)
Else
MsgBox(0, "ICH", "File(s) not found!")
EndIf
#EndRegion
#Region / GEGNER
;~ GEGNER - RECHTS
Global $FileListGEGNER = _FileListToArray(@ScriptDir & "\Data\GEGNER", "*.jpg",1)
If (Not @error) And ($FileListGEGNER[0]) Then
;~ MsgBox(0, "GEGNER", $FileListGEGNER[Random(1, $FileListGEGNER[0],1)])
Global $GegnerRandom = $FileListGEGNER[Random(1, $FileListGEGNER[0],1)]
;~ Create GEGNER file
FileDelete(@ScriptDir&"\Data\Save\GEGNER.ini")
$File = FileWrite(@ScriptDir&"\Data\Save\GEGNER.ini","Nothing")
_FileWriteToLine(@ScriptDir&"\Data\Save\GEGNER.ini", 1, $GegnerRandom, True)
Else
MsgBox(0, "GEGNER", "File(s) not found!")
EndIf
#EndRegion
;~ -------------------------------------------------------
#Region / LIES MEINE WAHL
Global $ICH = FileReadLine(@ScriptDir&"\Data\Save\ICH.ini",1)
If $ICH = "1.jpg" Then
GUICtrlSetImage($ICHPIC,@ScriptDir&"\Data\ICH\1.jpg")
EndIf
If $ICH = "2.jpg" Then
GUICtrlSetImage($ICHPIC,@ScriptDir&"\Data\ICH\2.jpg")
EndIf
If $ICH = "3.jpg" Then
GUICtrlSetImage($ICHPIC,@ScriptDir&"\Data\ICH\3.jpg")
EndIf
#EndRegion
#Region / LIES GEGNERS WAHL
Global $GEGNER = FileReadLine(@ScriptDir&"\Data\Save\GEGNER.ini",1)
If $GEGNER = "1.jpg" Then
GUICtrlSetImage($GEGNERPIC,@ScriptDir&"\Data\GEGNER\1.jpg")
EndIf
If $GEGNER = "2.jpg" Then
GUICtrlSetImage($GEGNERPIC,@ScriptDir&"\Data\GEGNER\2.jpg")
EndIf
If $GEGNER = "3.jpg" Then
GUICtrlSetImage($GEGNERPIC,@ScriptDir&"\Data\GEGNER\3.jpg")
EndIf
#EndRegion
#Region / Check wer gewonnen hat
;~ UNENTSCHIEDEN
If $ICH = $GEGNER Then
GUICtrlSetData($Label1,"UNENTSCHIEDEN!")
EndIf
;~ GEGNER GEWINNT / Schere schlägt Papier
If $ICH = "1.jpg" Then
If $GEGNER = "2.jpg" Then
GUICtrlSetData($Label1," VERLOREN!")
$GegnerPunkte = $GegnerPunkte+1
GUICtrlSetData($Label4,$GegnerPunkte)
EndIf
EndIf
;~ GEGNER GEWINNT / Stein schlägt Schere
If $ICH = "2.jpg" Then
If $GEGNER = "3.jpg" Then
GUICtrlSetData($Label1," VERLOREN!")
$GegnerPunkte = $GegnerPunkte+1
GUICtrlSetData($Label4,$GegnerPunkte)
EndIf
EndIf
;~ GEGNER GEWINNT / Papier schlägt Stein
If $ICH = "3.jpg" Then
If $GEGNER = "1.jpg" Then
GUICtrlSetData($Label1," VERLOREN!")
$GegnerPunkte = $GegnerPunkte+1
GUICtrlSetData($Label4,$GegnerPunkte)
EndIf
EndIf
;~ GEGNER GEWINNT / Schere schlägt Papier
If $ICH = "2.jpg" Then
If $GEGNER = "1.jpg" Then
GUICtrlSetData($Label1," GEWONNEN!")
$MeinePunkte = $MeinePunkte+1
GUICtrlSetData($Label5,$MeinePunkte)
EndIf
EndIf
;~ GEGNER GEWINNT / Stein schlägt Schere
If $ICH = "3.jpg" Then
If $GEGNER = "2.jpg" Then
GUICtrlSetData($Label1," GEWONNEN!")
$MeinePunkte = $MeinePunkte+1
GUICtrlSetData($Label5,$MeinePunkte)
EndIf
EndIf
;~ GEGNER GEWINNT / Papier schlägt Stein
If $ICH = "1.jpg" Then
If $GEGNER = "3.jpg" Then
GUICtrlSetData($Label1," GEWONNEN!")
$MeinePunkte = $MeinePunkte+1
GUICtrlSetData($Label5,$MeinePunkte)
EndIf
EndIf
#EndRegion
EndSwitch
WEnd
Alles anzeigen
Es speichert deine und Gegners Auswahl in einer .ini Datei um am Schluss zu entscheiden wer gewonnen hat.
Gib es eventuell eine andere Möglichkeit dies herauszufinden und nicht extra als .ini zu Speichern und dann erst zu lesen...
Danke schon mal im Voraus!