Hallo @all,
ich hab mal zwei skript gebastelt:
Diese können:
- Highscores in eine Datei schreiben
- Alte Higscores aus einer Datei lesen und anzeigen
Ich habe mir das so vorgestellt das die Higscores-Datei folgendrmasen aussieht:
Spoiler anzeigen
1.Punktestand
1.Name
2.Punktestand
2.Name
...
Hier die Skripte:
1.Skript
#include <File.au3>
$HGD = ;Text-Datei mit den Highscores
;$PN = Neuer Punktestand
[/autoit] [autoit][/autoit] [autoit];Einlesen der alten Highscores
$PA_1 = FileReadLine($HGD, 1)
$NA_1 = FileReadLine($HGD, 2)
$PA_2 = FileReadLine($HGD, 3)
$NA_2 = FileReadLine($HGD, 4)
$PA_3 = FileReadLine($HGD, 5)
$NA_3 = FileReadLine($HGD, 6)
$PA_4 = FileReadLine($HGD, 7)
$NA_4 = FileReadLine($HGD,
$PA_5 = FileReadLine($HGD, 9)
$NA_5 = FileReadLine($HGD, 10)
$PA_6 = FileReadLine($HGD, 11)
$NA_6 = FileReadLine($HGD, 12)
$PA_7 = FileReadLine($HGD, 13)
$NA_7 = FileReadLine($HGD, 14)
$PA_8 = FileReadLine($HGD, 15)
$NA_8 = FileReadLine($HGD, 16)
$PA_9 = FileReadLine($HGD, 17)
$NA_9 = FileReadLine($HGD, 18)
$PA_10 = FileReadLine($HGD, 19)
$NA_10 = FileReadLine($HGD, 20)
;Vergleichen und Schreiben
If $PN > $PA_1 Then
MsgBox(0, "Neuer Highscore!", "Du hast einen neuen Highscore!!!" & @CRLF & @CRLF & "Neue Postion: 1")
$NAME = InputBox("Highscores", "Bitte geben sie ihren Namen ein.")
_FileWriteToLine($HGD, 1, $PN, 1)
_FileWriteToLine($HGD, 2, $NAME, 1)
_FileWriteToLine($HGD, 3, $PA_1, 1)
_FileWriteToLine($HGD, 4, $NA_1, 1)
_FileWriteToLine($HGD, 5, $PA_2, 1)
_FileWriteToLine($HGD, 6, $NA_2, 1)
_FileWriteToLine($HGD, 7, $PA_3, 1)
_FileWriteToLine($HGD, 8, $NA_3, 1)
_FileWriteToLine($HGD, 9, $PA_4, 1)
_FileWriteToLine($HGD, 10, $NA_4, 1)
_FileWriteToLine($HGD, 11, $PA_5, 1)
_FileWriteToLine($HGD, 12, $NA_5, 1)
_FileWriteToLine($HGD, 13, $PA_6, 1)
_FileWriteToLine($HGD, 14, $NA_6, 1)
_FileWriteToLine($HGD, 15, $PA_7, 1)
_FileWriteToLine($HGD, 16, $NA_7, 1)
_FileWriteToLine($HGD, 17, $PA_8, 1)
_FileWriteToLine($HGD, 18, $NA_8, 1)
_FileWriteToLine($HGD, 19, $PA_9, 1)
_FileWriteToLine($HGD, 20, $NA_9, 1)
ElseIf $PN > $PA_2 Then
MsgBox(0, "Neuer Highscore!", "Du hast einen neuen Highscore!!!" & @CRLF & @CRLF & "Neue Postion: 2")
$NAME = InputBox("Highscores", "Bitte geben sie ihren Namen ein.")
_FileWriteToLine($HGD, 3, $PN, 1)
_FileWriteToLine($HGD, 4, $NAME, 1)
_FileWriteToLine($HGD, 5, $PA_2, 1)
_FileWriteToLine($HGD, 6, $NA_2, 1)
_FileWriteToLine($HGD, 7, $PA_3, 1)
_FileWriteToLine($HGD, 8, $NA_3, 1)
_FileWriteToLine($HGD, 9, $PA_4, 1)
_FileWriteToLine($HGD, 10, $NA_4, 1)
_FileWriteToLine($HGD, 11, $PA_5, 1)
_FileWriteToLine($HGD, 12, $NA_5, 1)
_FileWriteToLine($HGD, 13, $PA_6, 1)
_FileWriteToLine($HGD, 14, $NA_6, 1)
_FileWriteToLine($HGD, 15, $PA_7, 1)
_FileWriteToLine($HGD, 16, $NA_7, 1)
_FileWriteToLine($HGD, 17, $PA_8, 1)
_FileWriteToLine($HGD, 18, $NA_8, 1)
_FileWriteToLine($HGD, 19, $PA_9, 1)
_FileWriteToLine($HGD, 20, $NA_9, 1)
ElseIf $PN > $PA_3 Then
MsgBox(0, "Neuer Highscore!", "Du hast einen neuen Highscore!!!" & @CRLF & @CRLF & "Neue Postion: 3")
$NAME = InputBox("Highscores", "Bitte geben sie ihren Namen ein.")
_FileWriteToLine($HGD, 5, $PN, 1)
_FileWriteToLine($HGD, 6, $NAME, 1)
_FileWriteToLine($HGD, 7, $PA_3, 1)
_FileWriteToLine($HGD, 8, $NA_3, 1)
_FileWriteToLine($HGD, 9, $PA_4, 1)
_FileWriteToLine($HGD, 10, $NA_4, 1)
_FileWriteToLine($HGD, 11, $PA_5, 1)
_FileWriteToLine($HGD, 12, $NA_5, 1)
_FileWriteToLine($HGD, 13, $PA_6, 1)
_FileWriteToLine($HGD, 14, $NA_6, 1)
_FileWriteToLine($HGD, 15, $PA_7, 1)
_FileWriteToLine($HGD, 16, $NA_7, 1)
_FileWriteToLine($HGD, 17, $PA_8, 1)
_FileWriteToLine($HGD, 18, $NA_8, 1)
_FileWriteToLine($HGD, 19, $PA_9, 1)
_FileWriteToLine($HGD, 20, $NA_9, 1)
ElseIf $PN > $PA_4 Then
MsgBox(0, "Neuer Highscore!", "Du hast einen neuen Highscore!!!" & @CRLF & @CRLF & "Neue Postion: 4")
$NAME = InputBox("Highscores", "Bitte geben sie ihren Namen ein.")
_FileWriteToLine($HGD, 7, $PN, 1)
_FileWriteToLine($HGD, 8, $NAME, 1)
_FileWriteToLine($HGD, 9, $PA_4, 1)
_FileWriteToLine($HGD, 10, $NA_4, 1)
_FileWriteToLine($HGD, 11, $PA_5, 1)
_FileWriteToLine($HGD, 12, $NA_5, 1)
_FileWriteToLine($HGD, 13, $PA_6, 1)
_FileWriteToLine($HGD, 14, $NA_6, 1)
_FileWriteToLine($HGD, 15, $PA_7, 1)
_FileWriteToLine($HGD, 16, $NA_7, 1)
_FileWriteToLine($HGD, 17, $PA_8, 1)
_FileWriteToLine($HGD, 18, $NA_8, 1)
_FileWriteToLine($HGD, 19, $PA_9, 1)
_FileWriteToLine($HGD, 20, $NA_9, 1)
ElseIf $PN > $PA_5 Then
MsgBox(0, "Neuer Highscore!", "Du hast einen neuen Highscore!!!" & @CRLF & @CRLF & "Neue Postion: 5")
$NAME = InputBox("Highscores", "Bitte geben sie ihren Namen ein.")
_FileWriteToLine($HGD, 9, $PN, 1)
_FileWriteToLine($HGD, 10, $NAME, 1)
_FileWriteToLine($HGD, 11, $PA_5, 1)
_FileWriteToLine($HGD, 12, $NA_5, 1)
_FileWriteToLine($HGD, 13, $PA_6, 1)
_FileWriteToLine($HGD, 14, $NA_6, 1)
_FileWriteToLine($HGD, 15, $PA_7, 1)
_FileWriteToLine($HGD, 16, $NA_7, 1)
_FileWriteToLine($HGD, 17, $PA_8, 1)
_FileWriteToLine($HGD, 18, $NA_8, 1)
_FileWriteToLine($HGD, 19, $PA_9, 1)
_FileWriteToLine($HGD, 20, $NA_9, 1)
ElseIf $PN > $PA_6 Then
MsgBox(0, "Neuer Highscore!", "Du hast einen neuen Highscore!!!" & @CRLF & @CRLF & "Neue Postion: 6")
$NAME = InputBox("Highscores", "Bitte geben sie ihren Namen ein.")
_FileWriteToLine($HGD, 11, $PN, 1)
_FileWriteToLine($HGD, 12, $NAME, 1)
_FileWriteToLine($HGD, 13, $PA_6, 1)
_FileWriteToLine($HGD, 14, $NA_6, 1)
_FileWriteToLine($HGD, 15, $PA_7, 1)
_FileWriteToLine($HGD, 16, $NA_7, 1)
_FileWriteToLine($HGD, 17, $PA_8, 1)
_FileWriteToLine($HGD, 18, $NA_8, 1)
_FileWriteToLine($HGD, 19, $PA_9, 1)
_FileWriteToLine($HGD, 20, $NA_9, 1)
ElseIf $PN > $PA_7 Then
MsgBox(0, "Neuer Highscore!", "Du hast einen neuen Highscore!!!" & @CRLF & @CRLF & "Neue Postion: 7")
$NAME = InputBox("Highscores", "Bitte geben sie ihren Namen ein.")
_FileWriteToLine($HGD, 13, $PN, 1)
_FileWriteToLine($HGD, 14, $NAME, 1)
_FileWriteToLine($HGD, 15, $PA_7, 1)
_FileWriteToLine($HGD, 16, $NA_7, 1)
_FileWriteToLine($HGD, 17, $PA_8, 1)
_FileWriteToLine($HGD, 18, $NA_8, 1)
_FileWriteToLine($HGD, 19, $PA_9, 1)
_FileWriteToLine($HGD, 20, $NA_9, 1)
ElseIf $PN > $PA_8 Then
MsgBox(0, "Neuer Highscore!", "Du hast einen neuen Highscore!!!" & @CRLF & @CRLF & "Neue Postion: 8")
$NAME = InputBox("Highscores", "Bitte geben sie ihren Namen ein.")
_FileWriteToLine($HGD, 15, $PN, 1)
_FileWriteToLine($HGD, 16, $NAME, 1)
_FileWriteToLine($HGD, 17, $PA_8, 1)
_FileWriteToLine($HGD, 18, $NA_8, 1)
_FileWriteToLine($HGD, 19, $PA_9, 1)
_FileWriteToLine($HGD, 20, $NA_9, 1)
ElseIf $PN > $PA_9 Then
MsgBox(0, "Neuer Highscore!", "Du hast einen neuen Highscore!!!" & @CRLF & @CRLF & "Neue Postion: 9")
$NAME = InputBox("Highscores", "Bitte geben sie ihren Namen ein.")
_FileWriteToLine($HGD, 17, $PN, 1)
_FileWriteToLine($HGD, 18, $NAME, 1)
_FileWriteToLine($HGD, 19, $PA_9, 1)
_FileWriteToLine($HGD, 20, $NA_9, 1)
ElseIf $PN > $PA_10 Then
MsgBox(0, "Neuer Highscore!", "Du hast einen neuen Highscore!!!" & @CRLF & @CRLF & "Neue Postion: 10")
$NAME = InputBox("Highscores", "Bitte geben sie ihren Namen ein.")
_FileWriteToLine($HGD, 19, $PN, 1)
_FileWriteToLine($HGD, 20, $NAME, 1)
Else
$PF = $PA_10 - $PN + 1
MsgBox(0, "Highscores", "Schade, leider kein neuer Highscore." & @CRLF & @CRLF & "Dir fehlen für einen neuen Highscore noch " & $PF & " Punkt(e).")
EndIf
2.Skript
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$HGD = ;Text-Datei mit den Highscores
$PA_1 = FileReadLine($HGD, 1)
$NA_1 = FileReadLine($HGD, 2)
$PA_2 = FileReadLine($HGD, 3)
$NA_2 = FileReadLine($HGD, 4)
$PA_3 = FileReadLine($HGD, 5)
$NA_3 = FileReadLine($HGD, 6)
$PA_4 = FileReadLine($HGD, 7)
$NA_4 = FileReadLine($HGD,
$PA_5 = FileReadLine($HGD, 9)
$NA_5 = FileReadLine($HGD, 10)
$PA_6 = FileReadLine($HGD, 11)
$NA_6 = FileReadLine($HGD, 12)
$PA_7 = FileReadLine($HGD, 13)
$NA_7 = FileReadLine($HGD, 14)
$PA_8 = FileReadLine($HGD, 15)
$NA_8 = FileReadLine($HGD, 16)
$PA_9 = FileReadLine($HGD, 17)
$NA_9 = FileReadLine($HGD, 18)
$PA_10 = FileReadLine($HGD, 19)
$NA_10 = FileReadLine($HGD, 20)
GUICreate("Highscores", 170, 240, 100, 200, -1, $WS_EX_ACCEPTFILES)
$listview = GUICtrlCreateListView("Name |Punkte ", 10, 10, 150, 220)
GUICtrlCreateListViewItem($NA_1 & "|" & $PA_1, $listview)
GUICtrlCreateListViewItem($NA_2 & "|" & $PA_2, $listview)
GUICtrlCreateListViewItem($NA_3 & "|" & $PA_3, $listview)
GUICtrlCreateListViewItem($NA_4 & "|" & $PA_4, $listview)
GUICtrlCreateListViewItem($NA_5 & "|" & $PA_5, $listview)
GUICtrlCreateListViewItem($NA_6 & "|" & $PA_6, $listview)
GUICtrlCreateListViewItem($NA_7 & "|" & $PA_7, $listview)
GUICtrlCreateListViewItem($NA_8 & "|" & $PA_8, $listview)
GUICtrlCreateListViewItem($NA_9 & "|" & $PA_9, $listview)
GUICtrlCreateListViewItem($NA_10 & "|" & $PA_10, $listview)
GUISetState()
While WinExists("Highscores")
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Verbesserungsvorschläge sind (solange sie nicht vorschlagen case anstatt If/ElIfseIf/EndIf zu verwenden) gerne gesehen.
Lob natürlich auch.