gibt wahrscheinlich viele solcher spiele aber is mir irwie in sinn gekommen da wollte ich ma sowass probieren. hab einige stunden dran geseßen besser hab ichs bis jetzt noch nicht hinbekommen. könnt mir ja ma paar feed backs geben oder auch gerne verbesserungsvorschläge.
hauptteil:
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include 'hiscore.au3'
Global $pic1 = GUICtrlCreatePic("", 104, 8, 233, 105, BitOR($BS_BITMAP,$WS_GROUP))
Global $x
Global $diffstart = TimerInit()
Global $difftotal = TimerInit()
$showpic1 = @ScriptDir & "\showscharz.bmp"
$showpic2 = @ScriptDir & "\showrot.bmp"
$showpic3 = @ScriptDir & "\showgelb.bmp"
$showpic4 = @ScriptDir & "\showgruen.bmp"
Global $punkte = 0
Global $name = ''
$time = 30
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("React", 465, 314, 208, 142)
$farbe1 = GUICtrlCreateButton("", 88, 144, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
GUICtrlSetImage(-1, @ScriptDir & "\schwarz.bmp", -1)
$farbe2 = GUICtrlCreateButton("", 232, 144, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
GUICtrlSetImage(-1, @ScriptDir & "\rot.bmp", -1)
$farbe3 = GUICtrlCreateButton("", 88, 224, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
GUICtrlSetImage(-1, @ScriptDir & "\gelb.bmp", -1)
$farbe4 = GUICtrlCreateButton("", 232, 224, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
GUICtrlSetImage(-1, @ScriptDir & "\gruen.bmp", -1)
$Label1 = GUICtrlCreateLabel("Klicke auf: ", 32, 56, 57, 17)
$start = GUICtrlCreateButton("Start", 8, 8, 73, 33, $WS_GROUP)
$labelpunkte = GUICtrlCreateLabel("Punkte: " & @CRLF & $punkte, 360, 8, 89, 57)
$timeleft = GUICtrlCreateLabel("Übrige Zeit: "& @CRLF & $time & " sec", 360, 72, 91, 41)
$Label3 = GUICtrlCreateLabel("Copyright by dph", 376, 272, 84, 33)
$Button1 = GUICtrlCreateButton("Highscores", 376, 224, 73, 33, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
func randit()
$x = random(1,4,1)
if $x = 1 Then
$pic1 = GUICtrlCreatePic("", 104, 8, 233, 105, BitOR($BS_BITMAP,$WS_GROUP))
GUICtrlSetImage(-1, $showpic1, -1)
$diffstart = TimerInit()
EndIf
if $x = 2 Then
$pic1 = GUICtrlCreatePic("", 104, 8, 233, 105, BitOR($BS_BITMAP,$WS_GROUP))
GUICtrlSetImage(-1, $showpic2, -1)
$diffstart = TimerInit()
EndIf
if $x = 3 Then
$pic1 = GUICtrlCreatePic("", 104, 8, 233, 105, BitOR($BS_BITMAP,$WS_GROUP))
GUICtrlSetImage(-1, $showpic3, -1)
$diffstart = TimerInit()
EndIf
if $x = 4 Then
$pic1 = GUICtrlCreatePic("", 104, 8, 233, 105, BitOR($BS_BITMAP,$WS_GROUP))
GUICtrlSetImage(-1, $showpic4, -1)
$diffstart = TimerInit()
EndIf
EndFunc
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $start
$punkte = 0
$labelpunkte = GUICtrlCreateLabel("Punkte: " & @CRLF & $punkte, 360, 8, 89, 57)
$difftotal = TimerInit()
randit()
Case $farbe1
end()
If $x = 1 Then
punkte()
randit()
Else
minuspunkte()
EndIf
Case $farbe2
end()
If $x = 2 Then
punkte()
randit()
Else
minuspunkte()
EndIf
Case $farbe3
end()
If $x = 3 Then
punkte()
randit()
Else
minuspunkte()
EndIf
Case $farbe4
end()
If $x = 4 Then
punkte()
randit()
Else
minuspunkte()
EndIf
Case $Button1
ShellExecute("guihiscore.exe")
EndSwitch
WEnd
func punkte()
$diffend = TimerDiff($diffstart)
$rounded = Round($diffend)
if $rounded < 2000 Then
$erg = 2000 - $rounded
$punkte = $punkte + $erg
elseif $rounded > 2000 Then
$erg = $punkte/5
$punkte = $punkte + Round($erg)
EndIf
$labelpunkte = GUICtrlCreateLabel("Punkte: " & @CRLF & $punkte, 360, 8, 89, 57)
EndFunc
func minuspunkte()
$punkte = $punkte - 1000
$labelpunkte = GUICtrlCreateLabel("Punkte: " & @CRLF & $punkte, 360, 8, 89, 57)
EndFunc
func end()
$difftotalend = TimerDiff($difftotal)
$dif = round($difftotalend)
$erg2 = 30000-$dif
$erg2 = $erg2/1000
$erg2 = 30 - round($erg2)
$time = 30 - $erg2
$timeleft = GUICtrlCreateLabel("Übrige Zeit: "& @CRLF & $time & " sec", 360, 72, 91, 41)
if $dif >= 30000 Then
hiscorefunc()
Exit
EndIf
EndFunc
highscore einträge kann man bestimmt noch kürzen xD
Spoiler anzeigen
Global $punkte = 0
Global $name = ''
$his1 = IniRead("highscore.ini","HIScore","1","")
$his2 = IniRead("highscore.ini","HIScore","2","")
$his3 = IniRead("highscore.ini","HIScore","3","")
$his4 = IniRead("highscore.ini","HIScore","4","")
$his5 = IniRead("highscore.ini","HIScore","5","")
$his6 = IniRead("highscore.ini","HIScore","6","")
$his7 = IniRead("highscore.ini","HIScore","7","")
$his8 = IniRead("highscore.ini","HIScore","8","")
$his9 = IniRead("highscore.ini","HIScore","9","")
$his10 = IniRead("highscore.ini","HIScore","10","")
$name1 = IniRead("highscore.ini","Name","1","")
$name2 = IniRead("highscore.ini","Name","2","")
$name3 = IniRead("highscore.ini","Name","3","")
$name4 = IniRead("highscore.ini","Name","4","")
$name5 = IniRead("highscore.ini","Name","5","")
$name6 = IniRead("highscore.ini","Name","6","")
$name7 = IniRead("highscore.ini","Name","7","")
$name8 = IniRead("highscore.ini","Name","8","")
$name9 = IniRead("highscore.ini","Name","9","")
$name10 = IniRead("highscore.ini","Name","10","")
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
func hiscorefunc()
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Score", 257, 147, 197, 119)
$Label1 = GUICtrlCreateLabel("Deine Score beträgt: "& $punkte, 16, 16, 227, 49)
$Input1 = GUICtrlCreateInput("", 120, 80, 89, 21)
$showscore = GUICtrlCreateLabel("Name: ", 24, 80, 84, 20)
$Button1 = GUICtrlCreateButton("Fertig", 80, 112, 97, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$name = GUICtrlRead($Input1)
logit()
highscore()
exit
EndSwitch
WEnd
EndFunc
func highscore()
if $punkte > $his1 Then
placeit()
IniWrite("highscore.ini","HIScore","1",$punkte)
iniwrite("highscore.ini","Name","1",$name)
ElseIf $punkte > $his2 Then
placeit()
IniWrite("highscore.ini","HIScore","2",$punkte)
iniwrite("highscore.ini","Name","2",$name)
ElseIf $punkte > $his3 Then
placeit()
IniWrite("highscore.ini","HIScore","3",$punkte)
iniwrite("highscore.ini","Name","3",$name)
ElseIf $punkte > $his4 Then
placeit()
IniWrite("highscore.ini","HIScore","4",$punkte)
iniwrite("highscore.ini","Name","4",$name)
ElseIf $punkte > $his5 Then
placeit()
IniWrite("highscore.ini","HIScore","5",$punkte)
iniwrite("highscore.ini","Name","5",$name)
ElseIf $punkte > $his6 Then
placeit()
IniWrite("highscore.ini","HIScore","6",$punkte)
iniwrite("highscore.ini","Name","6",$name)
ElseIf $punkte > $his7 Then
placeit()
IniWrite("highscore.ini","HIScore","7",$punkte)
iniwrite("highscore.ini","Name","7",$name)
ElseIf $punkte > $his8 Then
placeit()
IniWrite("highscore.ini","HIScore","8",$punkte)
iniwrite("highscore.ini","Name","8",$name)
ElseIf $punkte > $his9 Then
placeit()
IniWrite("highscore.ini","HIScore","9",$punkte)
iniwrite("highscore.ini","Name","9",$name)
ElseIf $punkte > $his10 Then
placeit()
IniWrite("highscore.ini","HIScore","10",$punkte)
iniwrite("highscore.ini","Name","10",$name)
EndIf
EndFunc
func placeit()
if $punkte > $his1 Then
IniWrite("highscore.ini","HIScore","2",$his1)
iniwrite("highscore.ini","Name","2",$name1)
EndIf
if $punkte > $his2 Then
IniWrite("highscore.ini","HIScore","3",$his2)
iniwrite("highscore.ini","Name","3",$name2)
EndIf
if $punkte > $his3 Then
IniWrite("highscore.ini","HIScore","4",$his3)
iniwrite("highscore.ini","Name","4",$name3)
EndIf
if $punkte > $his4 Then
IniWrite("highscore.ini","HIScore","5",$his4)
iniwrite("highscore.ini","Name","5",$name4)
EndIf
if $punkte > $his5 Then
IniWrite("highscore.ini","HIScore","6",$his5)
iniwrite("highscore.ini","Name","6",$name5)
EndIf
if $punkte > $his6 Then
IniWrite("highscore.ini","HIScore","7",$his6)
iniwrite("highscore.ini","Name","7",$name6)
EndIf
if $punkte > $his7 Then
IniWrite("highscore.ini","HIScore","8",$his7)
iniwrite("highscore.ini","Name","8",$name7)
EndIf
if $punkte > $his8 Then
IniWrite("highscore.ini","HIScore","9",$his8)
iniwrite("highscore.ini","Name","9",$name8)
EndIf
if $punkte > $his9 Then
IniWrite("highscore.ini","HIScore","10",$his9)
iniwrite("highscore.ini","Name","10",$name9)
EndIf
EndFunc
func logit()
$file = FileOpen("score.log",1)
FileWriteLine($file,"Score: " &$punkte& " Name: "& $name&" Gespielt am: " & @MDAY&"."&@MON&"."&@YEAR & " um: " &@HOUR&":"&@MIN)
EndFunc
highscore gui
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include 'hiscore.au3'
#Region ### START Koda GUI section ### Form=d:\scripts\koda_1.7.2.0\forms\hiscores.kxf
$Form1_1 = GUICreate("Highscores", 229, 289, 194, 118)
$Label1 = GUICtrlCreateLabel("Highscores:", 8, 8, 60, 17)
$Label2 = GUICtrlCreateLabel("1.", 8, 40, 13, 17)
$Label3 = GUICtrlCreateLabel("2.", 8, 64, 13, 17)
$Label4 = GUICtrlCreateLabel("3.", 8, 88, 13, 17)
$Label5 = GUICtrlCreateLabel("4.", 8, 112, 13, 17)
$Label6 = GUICtrlCreateLabel("5.", 8, 136, 13, 17)
$Label7 = GUICtrlCreateLabel("6.", 8, 160, 13, 17)
$Label8 = GUICtrlCreateLabel("7.", 8, 184, 13, 17)
$Label9 = GUICtrlCreateLabel("8.", 8, 208, 13, 17)
$Label10 = GUICtrlCreateLabel("9.", 8, 232, 13, 17)
$Label11 = GUICtrlCreateLabel("10.", 8, 256, 19, 17)
$Label12 = GUICtrlCreateLabel($his1, 24, 40, 42, 17)
$Label13 = GUICtrlCreateLabel($his2, 24, 64, 42, 17)
$Label14 = GUICtrlCreateLabel($his3, 24, 88, 42, 17)
$Label15 = GUICtrlCreateLabel($his4, 24, 112, 42, 17)
$Label16 = GUICtrlCreateLabel($his5, 24, 136, 42, 17)
$Label17 = GUICtrlCreateLabel($his6, 24, 160, 42, 17)
$Label18 = GUICtrlCreateLabel($his7, 24, 184, 42, 17)
$Label19 = GUICtrlCreateLabel($his8, 24, 208, 42, 17)
$Label20 = GUICtrlCreateLabel($his9, 24, 232, 42, 17)
$Label21 = GUICtrlCreateLabel($his10, 32, 256, 42, 17)
$Label22 = GUICtrlCreateLabel($name1, 152, 40, 42, 17)
$Label23 = GUICtrlCreateLabel($name2, 152, 64, 42, 17)
$Label24 = GUICtrlCreateLabel($name3, 152, 88, 42, 17)
$Label25 = GUICtrlCreateLabel($name4, 152, 112, 42, 17)
$Label26 = GUICtrlCreateLabel($name5, 152, 136, 42, 17)
$Label27 = GUICtrlCreateLabel($name6, 152, 160, 42, 17)
$Label28 = GUICtrlCreateLabel($name7, 152, 184, 42, 17)
$Label29 = GUICtrlCreateLabel($name8, 152, 208, 42, 17)
$Label30 = GUICtrlCreateLabel($name9, 152, 232, 42, 17)
$Label31 = GUICtrlCreateLabel($name10, 152, 256, 42, 17)
$Label32 = GUICtrlCreateLabel("von:", 152, 8, 42, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd