Moin,
Ich habe mein erstes Spiel fertig!!!*freu*
Es handelt sich um das aus Casinos bekannte "Einarmiger Bandit"
Das einzige was noch nicht richtig funktioniert ist das auslesen der verschlüsselten Bestenliste, vielleicht weiß ja jemand wo da der Fehler sitzt.
Ich hoffe auf Rückmeldungen/Kritik.....
Komplettes Spiel mit Bildern (ohne nicht spielbar) ist im Anhang zu finden.
Die verwendet Grafiken sind selbstverstänlich lizenzfrei
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.0.0
Author: Frithjof
Script Function:
Ein Speil auf Basis des einarmigen Banditen.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];Globale Variablen
Global $Bild_Kirsche = @ScriptDir & "\Kirsche.jpg", $Bild_Banane = @ScriptDir & "\Banane.jpg", $Bild_Apfel = @ScriptDir & "\Apfel.jpg", $Bild_Casino = @ScriptDir & "\Casino.jpg"
;Includes
[/autoit] [autoit][/autoit] [autoit]#include <GUIConstants.au3>
#include <Array.au3>
#include <GuiConstantsEx.au3>
#include <String.au3>
;Startbilder
[/autoit] [autoit][/autoit] [autoit]$Bild_Aktuell_1 = $Bild_Casino
$Bild_Aktuell_2 = $Bild_Casino
$Bild_Aktuell_3 = $Bild_Casino
;Startgeld
[/autoit] [autoit][/autoit] [autoit]$Start_Geld = 1000
[/autoit] [autoit][/autoit] [autoit];Haupt-GUI
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=D:\Programme\Autoit\Koda\Forms\Einarmiger Bandit.kxf
$Form1 = GUICreate("Form1", 800, 548, 193, 115)
$Pic1 = GUICtrlCreatePic($Bild_Aktuell_1, 64, 176, 166, 173)
$Pic2 = GUICtrlCreatePic($Bild_Aktuell_2, 318, 176, 166, 173)
$Pic3 = GUICtrlCreatePic($Bild_Aktuell_3, 574, 176, 166, 173)
$Label1 = GUICtrlCreateLabel("Geld:", 16, 24, 38, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Label2 = GUICtrlCreateLabel($Start_Geld, 64, 24, 70, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Label3 = GUICtrlCreateLabel("Einsatz:", 572, 27, 53, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Input1 = GUICtrlCreateInput("Ihr Einsatz", 632, 24, 97, 22)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Start = GUICtrlCreateButton("Start", 64, 400, 681, 113, 0)
GUICtrlSetFont(-1, 20, 800, 0, "Arial")
$Bestenliste_Button = GUICtrlCreateButton("Bestenliste", 64, 50, 100, 30, 0)
GUISetOnEvent($GUI_EVENT_CLOSE , "Beenden")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;On-Event
Opt("GUIOnEventMode", 1)
GUICtrlSetOnEvent($Start, "Start")
GUICtrlSetOnEvent($Bestenliste_Button, "Bestenliste")
;Schleife
While 1
$Einsatz_Geld = GUICtrlRead($Input1) ;Kontrolliert alle 2 Millisekunden den Einsatz
Sleep(2)
WEnd
;Funktionen
[/autoit] [autoit][/autoit] [autoit]Func Beenden() ;Beenden bei klick auf Kreuz oben rechts
$Name_Bestenliste = InputBox("Ihr Name", "Geben sie ihren Namen ein, damit dieser in der Bestenliste gespeichert werden kann")
$Datei_Bestenliste = FileOpen("Bestenliste.txt", 1)
FileWrite($Datei_Bestenliste, @CRLF)
$Name_Unlesbar = _StringEncrypt(1, $Name_Bestenliste, "Bestenliste", 1)
FileWrite($Datei_Bestenliste,"Name:" & $Name_Unlesbar)
$Punkte_Unlesbar = _StringEncrypt(1,$Start_Geld, "Bestenliste", 1)
FileWrite($Datei_Bestenliste, @CRLF)
FileWrite($Datei_Bestenliste,"Punkte:" & $Punkte_Unlesbar)
Exit
EndFunc
;Hauptfunktion
[/autoit] [autoit][/autoit] [autoit]Func Start()
;Einsatz ?
If $Einsatz_Geld = "Ihr Einsatz" Then
MsgBox(0, "Fehler", "Sie müssen einen Einsatz tätigen, bevor sie spielen können!")
ElseIf $Einsatz_Geld > $Start_Geld Then
MsgBox(0, "Fehler", "Soviel Geld haben sie nicht!")
Else
Start_richtig()
EndIf
EndFunc
Func Start_richtig()
[/autoit] [autoit][/autoit] [autoit]$Zufall_Bild_1 = Random(1,3,1) ;Zufallszahlen generieren
$Zufall_Bild_2 = Random(1,3,1)
$Zufall_Bild_3 = Random(1,3,1)
If $Zufall_Bild_1 = 1 Then ;Bild 1
GUICtrlSetImage($Pic1, $Bild_Kirsche)
ElseIf $Zufall_Bild_1 = 2 Then
GUICtrlSetImage($Pic1, $Bild_Banane)
ElseIf $Zufall_Bild_1 = 3 Then
GUICtrlSetImage($Pic1, $Bild_Apfel)
EndIf
If $Zufall_Bild_2 = 1 Then ;Bild 2
GUICtrlSetImage($Pic2, $Bild_Kirsche)
ElseIf $Zufall_Bild_2 = 2 Then
GUICtrlSetImage($Pic2, $Bild_Banane)
ElseIf $Zufall_Bild_2 = 3 Then
GUICtrlSetImage($Pic2, $Bild_Apfel)
EndIf
If $Zufall_Bild_3 = 1 Then ;Bild 3
GUICtrlSetImage($Pic3, $Bild_Kirsche)
ElseIf $Zufall_Bild_3 = 2 Then
GUICtrlSetImage($Pic3, $Bild_Banane)
ElseIf $Zufall_Bild_3 = 3 Then
GUICtrlSetImage($Pic3, $Bild_Apfel)
EndIf
If $Zufall_Bild_1 = $Zufall_Bild_2 and $Zufall_Bild_2 = $Zufall_Bild_3 Then ;Vergleiche die 3 Bilder
Gewinn_Rechnung()
Else
Verlust_Rechnung()
EndIf
EndFunc
Func Gewinn_Rechnung() ;Rechnet den Gewinn der Runde aus
$Start_Geld = $Einsatz_Geld * 2 + $Start_Geld
GUICtrlSetData($Label2, $Start_Geld)
EndFunc
Func Verlust_Rechnung() ;Rechnet den Verlust der Runde aus
$Start_Geld = $Start_Geld - $Einsatz_Geld
GUICtrlSetData($Label2, $Start_Geld)
EndFunc
Func Bestenliste()
$Datei_Bestenliste = FileOpen("Bestenliste.txt", 1)
$Bestenliste_Lesbar = _StringEncrypt(0,(Fileread ($Datei_Bestenliste)), "Bestenliste", 1)
MsgBox(0,"Bestenliste", $Bestenliste_Lesbar)
EndFunc