Speichern von Highjscore
Übersicht

nebelhornBetreff: Speichern von Highjscore |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bin 12 Jahre alt und habe dieses Quiz alleine programmiert. Ich kriege es aber nicht hin, dass der Highsore in einer Textdatei ordentlich gespeichert wird und dann abrufbar ist.
Code: [AUSKLAPPEN] Graphics 640,480 SetBuffer BackBuffer() SeedRnd MilliSecs() Dim bild(12) Dim bildI(21) AppTitle"QuizEuropa" bild(0) = LoadImage("flagge II.bmp") ResizeImage bild(0),640, 480 DrawImage bild(0), 0, 0 font = LoadFont("Times New Roman",17,1,0,0) SetFont font DrawImage bild(0), 0, 0 Text 100,200, "Loading..." Flip bildI(1) = LoadImage("Maus.bmp") bildI(2) = LoadImage("Ende.bmp") bildI(3) = LoadImage("EndeII.bmp") bildI(4) = LoadImage("Start.bmp") bildI(5) = LoadImage("StartI.bmp") bildI(6) = LoadImage("Einstellungen.bmp") bildI(7) = LoadImage("EinstellungenI.bmp") bildI(8) = LoadImage("Balken.bmp") bildI(9) = LoadImage("Stern.bmp") bildI(10) = LoadImage("Leicht.bmp") bildI(11) = LoadImage("LeichtI.bmp") bildI(12) = LoadImage("Mittel.bmp") bildI(13) = LoadImage("MittelI.bmp") bildI(14) = LoadImage("Schwer.bmp") bildI(15) = LoadImage("SchwerI.bmp") bildI(16) = LoadImage("Zurueck.bmp") bildI(17) = LoadImage("ZurueckI.bmp") bildI(18) = LoadImage("Tipp.bmp") bildI(19) = LoadImage("TippI.bmp") bildI(20) = LoadImage("Zeit.bmp") bildI(21) = LoadImage("ZeitI.bmp") ton = LoadSound("jubel.wav") tonI = LoadSound("Buh!.wav") tonII = LoadSound("Great.wav") tonIII = LoadSound("So ist das Leben.wav") tonIV = LoadSound("Highscore.wav") tonV = LoadSound("Tip.wav") bild(1) = LoadImage("Europaflagge1.bmp") bild(2) = LoadImage("Europaflagge2.bmp") bild(3) = LoadImage("Europaflagge3.bmp") bild(4) = LoadImage("Europaflagge4.bmp") bild(5) = LoadImage("Europaflagge5.bmp") bild(6) = LoadImage("Europaflagge6.bmp") bild(7) = LoadImage("Europaflagge7.bmp") bild(8) = LoadImage("Europaflagge8.bmp") bild(9) = LoadImage("Europaflagge9.bmp") bild(10) = LoadImage("Europaflagge10.bmp") bild(11) = LoadImage("Europaflagge11.bmp") bild(12) = LoadImage("Europaflagge12.bmp") Musik = LoadSound("Musik.wav") LoopSound Musik PlaySound Musik Dim Highscore$(10) Datei = OpenFile("Highscore.txt") If Datei = 0 Then RuntimeError "Highscore fehlt" For i = 1 To 10 Highscore$(i) = ReadString(Datei) Next ;For i = 1 To 12 ; ResizeImage bild(i),640, 480 ;Next Dim Laender(3) Laender(1) = 14 Laender(2) = 9 Laender(3) = 11 Dim Loesung$(3,15,7) Loesung(1,1,1) = "Deutschland" Loesung(1,1,2) = "Berlin" Loesung(1,1,3) = "Das weißt du nicht ? Denk doch an die Bären oder Knut?!" Loesung(1,1,5) = "Ja" Loesung(1,2,1) = "Grossbritannien" Loesung(1,2,2) = "London" Loesung(1,2,3) = "Wo steht denn Big Ben ?" Loesung(1,2,5) = "Ja" Loesung(1,3,1) = "den Niederlanden" Loesung(1,3,2) = "Amsterdam" Loesung(1,3,3) = "der Damm der Amme" Loesung(1,3,5) = "Ja" Loesung(1,3,7) = "(Artikel: `den'!!!)" Loesung(2,5,1) = "Dänemark" Loesung(2,5,2) = "Kopenhagen" Loesung(2,5,3) = "Nicht mit Kopeken bezahlen " Loesung(2,5,5) = "Ja" Loesung(1,5,1) = "Österreich" Loesung(1,5,2) = "Wien" Loesung(1,5,3) = "Wein" Loesung(1,5,5) = "Ja" Loesung(1,6,1) = "Russland" Loesung(1,6,2) = "Moskau" Loesung(1,6,3) = "Liegt an der Moskwa." Loesung(1,6,5) = "Nein" Loesung(2,1,1) = "Belgien" Loesung(2,1,2) = "Brüssel" Loesung(2,1,3) = "Rüssel" Loesung(2,1,5) = "Ja" Loesung(1,7,1) = "Luxemburg" Loesung(1,7,2) = "Luxemburg" Loesung(1,7,3) = "Land = Hauptstadt" Loesung(1,7,5) = "Ja" Loesung(1,8,1) = "Spanien" Loesung(1,8,2) = "Madrid" Loesung(1,8,3) = "Marit" Loesung(1,8,5) = "Ja" Loesung(1,9,1) = "Polen" Loesung(1,9,2) = "Warschau" Loesung(1,9,3) = "Die Schau ist wahr" Loesung(1,9,5) = "Ja" Loesung(2,2,1) = "der Ukraine" Loesung(2,2,2) = "Kiew" Loesung(2,2,3) = "Kiwi" Loesung(2,2,5) = "Nein" Loesung(1,10,1) = "Finnland" Loesung(1,10,2) = "Helsinki" Loesung(1,10,3) = "Da ist es HELL im Sommer" Loesung(1,10,5) = "Ja" Loesung(1,11,1) = "Griechenland" Loesung(1,11,2) = "Athen" Loesung(1,11,3) = "benannt nach Palas Athene" Loesung(1,11,5) = "Ja" Loesung(1,12,1) = "Frankreich" Loesung(1,12,2) = "Paris" Loesung(1,12,3) = "Dort steht der Eiffelturm." Loesung(1,12,5) = "Ja" Loesung(1,13,1) = "Schweden" Loesung(1,13,2) = "Stockholm" Loesung(1,13,3) = "Stöcke gibt's auch in Schweden!" Loesung(1,13,5) = "Ja" Loesung(1,14,1) = "der Türkei" Loesung(1,14,2) = "Ankara" Loesung(1,14,3) = "Klingt wie Anker." Loesung(2,14,5) = "Nein" Loesung(2,3,1) = "Portugal" Loesung(2,3,2) = "Lissabon" Loesung(2,3,3) = "So ähnlich wie 'hören' auf englisch." Loesung(2,9,5) = "Ja" Loesung(1,4,1) = "Italien" Loesung(1,4,2) = "Rom" Loesung(1,4,3) = "Alle Wege führen nach ..." Loesung(2,4,5) = "Ja" Loesung(3,1,1) = "Rumänien" Loesung(3,1,2) = "Bukarest" Loesung(3,1,3) = "Da liegen viele Reste" Loesung(3,1,5) = "Ja" Loesung(3,2,1) = "Bulgarien" Loesung(3,2,2) = "Sofia" Loesung(3,2,3) = "Sofie" Loesung(3,2,5) = "Nein" Loesung(3,3,1) = "Ungarn" Loesung(3,3,2) = "Budapest" Loesung(3,3,3) = "Dort ist die Pest" Loesung(3,3,5) = "Ja" Loesung(3,4,1) = "Albania" Loesung(3,4,2) = "Tirana" Loesung(3,4,3) = "Dort gibt es viele Tiere" Loesung(3,4,5) = "Nein" Loesung(3,5,1) = "Serbien und Montenegro" Loesung(3,5,2) = "Belgrad" Loesung(3,5,3) = "Dort balgt man sich bei 10 Grad" Loesung(3,5,5) = "Nein" Loesung(3,6,1) = "Bosnien und Herzegowia" Loesung(3,6,2) = "Sarajewo" Loesung(3,6,3) = "Sara" Loesung(3,6,5) = "nein" Loesung(3,7,1) = "Kroatien" Loesung(3,7,2) = "Zagreb" Loesung(3,7,3) = "Za...-äh, dort ist es still wie im Grab" Loesung(3,7,5) = "Nein" Loesung(3,8,1) = "Slowenien" Loesung(3,8,2) = "Laibach" Loesung(3,8,3) = "Liegt am Bach" Loesung(3,8,5) = "Ja" Loesung(3,9,1) = "Slowakei" Loesung(3,9,2) = "Pressburg" Loesung(3,9,3) = "Eine gepresste Burg" Loesung(3,9,5) = "Ja" Loesung(2,4,1) = "Tschechische Republik" Loesung(2,4,2) = "Prag" Loesung(2,4,3) = "Dort prankt ein Schild" Loesung(2,4,5) = "Ja" Loesung(3,10,1) = "Estland" Loesung(3,10,2) = "Reval" Loesung(3,10,3) = "Man hat einen Rivalen" Loesung(3,10,5) = "Ja" Loesung(3,10,6) = "(Tallin wird nicht aktzeptiert)" Loesung(2,6,1) = "Lettland" Loesung(2,6,2) = "Riga" Loesung(2,6,3) = "Liga" Loesung(2,6,5) = "Ja" Loesung(3,11,1) = "Litauen" Loesung(3,11,2) = "Wilna" Loesung(3,11,3) = "Ich will dass Du das weißt" Loesung(3,11,5) = "Ja" Loesung(2,7,1) = "Weissrussland" Loesung(2,7,2) = "Minsk" Loesung(2,7,3) = "Minze" Loesung(2,9,5) = "nein" Loesung(2,8,1) = "Zypern" Loesung(2,8,2) = "Nikosia" Loesung(2,8,3) = "Nikotin lässt Ihre Haut um Jahre altern ..." Loesung(2,8,5) = "Ja" Loesung(2,9,1) = "Malta" Loesung(2,9,2) = "La Valetta" Loesung(2,9,3) = "La valse war es nicht, aber so ähnlich." Loesung(2,9,5) = "Ja" SgI = 1 ZeitI=400 ;------------------------------------------Menü-------------------------------------------- .Menue FlushKeys FlushMouse Fokus = 0 Repeat Cls DrawImage bild(0), 0,0 MX = MouseX() MY =MouseY() DrawImage bildI(1), MX, MY DrawImage BildI(4), 200,60 DrawImage BildI(6), 200,200 DrawImage BildI(2), 200,345 If KeyHit(208) Then Select Fokus Case 0 Fokus = 2 Case 1 Fokus = 2 Case 2 Fokus = 3 Case 3 Fokus = 1 End Select EndIf If KeyHit(200) Then Select Fokus Case 0 Fokus = 1 Case 1 Fokus = 3 Case 2 Fokus = 1 Case 3 Fokus = 2 End Select EndIf If ImagesCollide(bildI(1),MX,MY,0,bildI(2),200,345,0) = 1 Or Fokus = 1 Then DrawImage bildI(3), 200,345,0 If MouseHit(1) Or KeyHit(28) Then End EndIf If ImagesCollide(bildI(1),MX,MY,0,bildI(4),200,60,0) = 1 Or Fokus = 2 Then DrawImage bildI(5), 200,60,0 If MouseHit(1) Or KeyHit(28) Then Goto Anfang EndIf If ImagesCollide(bildI(1),MX,MY,0,bildI(6),200,200,0) = 1 Or Fokus = 3 Then DrawImage bildI(7), 200,200,0 If MouseHit(1) Or KeyHit(28) Then Exit EndIf DrawImage bildI(1), MX, MY Flip Forever ;--------------------------------------------OMenü---------------------------------------------- Fokus = 0 Repeat If KeyHit(208) Then Select Fokus Case 0 Fokus = 2 Case 1 Fokus = 2 Case 2 Fokus = 3 Case 3 Fokus = 1 End Select EndIf If KeyHit(200) Then Select Fokus Case 0 Fokus = 1 Case 1 Fokus = 3 Case 2 Fokus = 1 Case 3 Fokus = 2 End Select EndIf Cls DrawImage bild(0),0,0 DrawImage bildI(16), 50,300 Text 100,50, "Zeit:" DrawImage bildI(8), 10,100 If ZeitI <> 0 Then DrawImage bildI(9),ZeitI,90 EndIf DrawImage bildI(20),200,25 Text 100,200, "Schwierigkeitsgrad:" If SgI = 1 Then DrawImage bildI(11), 50,215 Else DrawImage bildI(10), 50,215 EndIf If SgI = 2 Then DrawImage bildI(13), 175,215 Else DrawImage bildI(12), 175,215 EndIf If SgI = 3 Then DrawImage bildI(15), 300,215 Else DrawImage bildI(14), 300,215 EndIf If ImagesCollide(bildI(1),MX,MY,0,bildI(16),50,300,0) = 1 Then DrawImage bildI(17), 50,300 Else DrawImage bildI(16), 50,300 EndIf If ImagesCollide(bildI(1),MX,MY,0,bildI(20),200,25,0) = 1 Then DrawImage bildI(21), 200,25 If MouseHit(1) Then Select ZeitI Case 0 ZeitI = 400 Default ZeitI = 0 End Select EndIf Else DrawImage bildI(20), 200,25 EndIf MX = MouseX() MY =MouseY() DrawImage bildI(1), MX, MY If ImagesCollide(bildI(1),MX,MY,0,bildI(9),ZeitI,90,0) = 1 And MouseDown(1) Then Repeat Cls DrawImage bild(0),0,0 Text 100,50, "Zeit:" DrawImage bildI(8), 10,100 DrawImage bildI(9), (10+ZeitI),90 DrawImage bildI(20),200,25 Text 100,200, "Schwierigkeitsgrad:" If SgI = 1 Then DrawImage bildI(11), 50,215 Else DrawImage bildI(10), 50,215 EndIf If SgI = 2 Then DrawImage bildI(13), 175,215 Else DrawImage bildI(12), 175,215 EndIf If SgI = 3 Then DrawImage bildI(15), 300,215 Else DrawImage bildI(14), 300,215 EndIf DrawImage bildI(16), 50,300 MX = MouseX() MY =MouseY() DrawImage bildI(1), MX, MY If MX < 520 Then ZeitI = MX - 20 Flip Until Not MouseDown(1) EndIf If (ImagesCollide(bildI(1),MX,MY,0,bildI(10),50,200,0 = 1) ) And (MouseDown(1) Or KeyDown(28)) Or (Fokus = 2 And SgI = 3 And KeyHit(205)) Or (Fokus = 2 And SgI = 2 And KeyHit(203)) Then SgI = 1 If (ImagesCollide(bildI(1),MX,MY,0,bildI(12),175,200,0 = 1)) And (MouseDown(1) Or KeyDown(28)) Or (Fokus = 2 And SgI = 1 And KeyHit(205)) Or (Fokus = 2 And SgI = 3 And KeyHit(203)) Then SgI = 2 If (ImagesCollide(bildI(1),MX,MY,0,bildI(14),300,200,0 = 1)) And (MouseDown(1) Or KeyDown(28)) Or (Fokus = 2 And SgI = 2 And KeyHit(205)) Or (Fokus = 2 And SgI = 1 And KeyHit(203)) Then SgI = 3 If (ImagesCollide(bildI(1),MX,MY,0,bildI(17),50,300,0 = 1) Or Fokus = 3) And (MouseDown(1) Or KeyDown(28)) Then Goto Menue Flip Forever Goto Menue .Anfang ;i = 1 Level = 1 Falsch = 0 tip = 0 Punkte = 0 .Start For ie = 1 To 3 For i=1 To 15 Loesung(ie,i,4) = "j" Next Next ;ii = i i=0 ;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ;-------------------------------------Hauptschleife--------------------------------------------------- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> For ii = 1 To 12 i = i + 1 Alles() ;Einstellung der Nummern Sg = Rand(1,SgI) a = Rand(Laender(Sg)) For ie = 1 To Laender(Sg) If Loesung(Sg,a,4) <> "j" Then a=a+1 If a > Laender(Sg) Then a = 1 EndIf Next If Loesung(Sg,a,4) <> "j" Then a = Rand(Laender(Sg)) If Level = 1 Then Frage$ = "Die Hauptstadt von " + Loesung(Sg,a,1) + " heißt:"+Loesung(Sg,a,6):RAntwort$ = Loesung(Sg,a,2) If Level = 2 Then Frage$ = "Das Land dessen Hauptstadt " + Loesung(Sg,a,2) + " heißt, heißt:"+Loesung(Sg,a,7):RAntwort$ = Loesung(Sg,a,1) If Level = 3 Then Frage$ = "Gehört das Land " + Loesung(Sg,a,1) + " zur EU ?":RAntwort$ = Loesung(Sg,a,5) Loesung(Sg,a,4) = "n" .Marke Zeit = ZeitI Flip FlushKeys ;Eingabe antwort$ = "" Repeat Cls If ZeitI <> 0 Then a255# = ZeitI/255: Zeita255 = Zeit / a255 EndIf DrawImage bild(0), 0,0 Alles() DrawImage bildI(16), 400, 25 Select Level Case 1 DrawImage bildI(18), 400, 175 End Select MX = MouseX() MY =MouseY() DrawImage bildI(1), MX, MY Select Level Case 1 If ImagesCollide(bildI(1),MX,MY,0,bildI(18),400,175,0) = 1 Then DrawImage bildI(19), 400,175,0 If MouseDown(1) Then Gosub Tipp EndIf End Select If ImagesCollide(bildI(1),MX,MY,0,bildI(16),400,25,0) = 1 Then DrawImage bildI(17), 400,25,0 If MouseDown(1) Then Goto Menue EndIf If ZeitI <> 0 Then haelfte = 127 If Zeita255 > haelfte Then Color (510 / (Zeita255 - haelfte))/2, (Zeita255 - haelfte) * 2, 0 ElseIf Zeita255<haelfte Then Color 255,255/Zeita255+2,0 EndIf Rect 100,300, (100+(Zeit/2)),325 EndIf Color 255,255,0 Text 100,100, i + ". Frage: Text 100,150, Frage T = GetKey() DrawImage bildI(1), MX, MY If T > 31 Then antwort$ = antwort$ + Chr$(T) If (T = 8) And Len(antwort$) > 0 Then antwort = Left(antwort, Len(antwort) - 1) Text 100,200, antwort + "_" Zeit = Zeit - 1 If Zeit = 0 Then Goto Spaet EndIf Delay 50 Flip Until KeyHit(28) FlushKeys Zeit = 250 ;Wertung For f = 0 To 150 Cls Alles() DrawImage bild(0), 0, 0 Text 100,250, "AHA" Flip Delay 10 Next If Lower$(antwort) = Lower$(RAntwort) Then Alles() DrawImage bild(ii), 0,0 PlaySound ton Text 200,250, "Das ist goldrichtig!" Punkte = Punkte + (SgI*Level) Flip Delay 3500 Else Flip PlaySound tonI For f = 0 To 150 Cls Alles() DrawImage bild(0), 0, 0 If Zeit > 0 Then Text 100,250, "Das war aber falsch !" Else Text 100,250, "Zu langsam, leider ..." EndIf .Spaet Text 100,300, "Richtig gewesen wäre: " + RAntwort + "." Flip Delay 10 Next Goto Ende EndIf Flip Next Select Level Case 1 Level = 2 Case 2 Level = 3 Case 3 Level = 1 End Select Goto Start ;Ende .Ende Cls DrawImage bild(0), 0, 0 For f = 0 To 150 Cls Alles() DrawImage bild(0), 0, 0 Text 100,100, "Du hast " + Punkte + " Punkte erreicht!" Text 100,130, "Weiter mit beliebiger Taste." Flip Delay 10 Next Flip WaitKey Cls DrawImage bild(0), 0, 0 If Punkte < 12 Then Text 100,200, "Das war aber nix!" If antwort <> "End" Then Text 100,200, "Also: Nochmal!" Delay 500 Goto menue EndIf Falsch = Falsch + 1 Else If Punkte > Int(Right(Highscore(10),Instr(Highscore(10),"."))) Then PlaySound tonIV Text 150,200, "Toll !" Text 150,250, "Highscore!" Flip Delay 1000 Name$ = Input(100,100,"Name:",100,150) If Punkte > Int(Right(Highscore$(9),Instr(Highscore(9),"."))) Then If Punkte > Int(Right(Highscore$(8),Instr(Highscore(8),"."))) Then If Punkte > Int(Right(Highscore$(7),Instr(Highscore(7),"."))) Then If Punkte > Int(Right(Highscore$(6),Instr(Highscore(6),"."))) Then If Punkte > Int(Right(Highscore$(5),Instr(Highscore(5),"."))) Then If Punkte > Int(Right(Highscore$(4),Instr(Highscore(4),"."))) Then If Punkte > Int(Right(Highscore$(3),Instr(Highscore(3),"."))) Then If Punkte > Int(Right(Highscore$(2),Instr(Highscore(2),"."))) Then If Punkte > Int(Right(Highscore$(1),Instr(Highscore(1),"."))) Then For i = 9 To 1 Highscore(i+1)=Highscore(i) Next Highscore(1) = Name + "." + Str$(Punkte) Else For i=9 To 2 Highscore(i+1)=Highscore(i) Next Highscore(2) = Name+"."+Str$(Punkte) EndIf Else For i=9 To 3 Highscore(i+1)=Highscore(i) Next Highscore(3) = Name+"."+Str$(Punkte) EndIf Else For i=9 To 4 Highscore(i+1)=Highscore(i) Next Highscore(4) = Name+"."+Str$(Punkte) EndIf Else For i=9 To 5 Highscore(i+1)=Highscore(i) Next Highscore(5) = Name+"."+Str$(Punkte) EndIf Else For i=9 To 6 Highscore(i+1)=Highscore(i) Next Highscore(6) = Name+"."+Str$(Punkte) EndIf Else For i=9 To 7 Highscore(i+1)=Highscore(i) Next Highscore(7) = Name+"."+Str$(Punkte) EndIf Else For i=9 To 8 Highscore(i+1)=Highscore(i) Next Highscore(8) = Name+"."+Str$(Punkte) EndIf Else For i=9 To 9 Highscore(i+1)=Highscore(i) Next Highscore(9) = Name+"."+Str$(Punkte) EndIf Else Highscore(10) = Name + "." + Str$(Punkte) EndIf Alles() For i = 1 To 10 Text 200,(i*25), Highscore(i) Next Flip WaitKey For i=1 To 10 WriteString Datei,Highscore(i) Next Else PlaySound tonII Text 150,200, "Gut !!" EndIf Flip EndIf FlushKeys Flip WaitKey Goto Menue .Tipp If tip = 0 Then PlaySound tonV Flip For f = 0 To 350 Cls Alles() DrawImage bild(0), 0, 0 Text 100,250, Loesung(Sg,a,3) Flip Delay 10 Next tip = 1 Else PlaySound tonIII For f = 0 To 350 Cls DrawImage bild(0), 0, 0 Alles() Text 100,250, "Du hattest doch schon einen Tipp !" Delay 10 Next EndIf Return Function Alles() Cls DrawImage bild(0), 0,0 End Function Function Input$(ax=0,ay=0,az$="", bx,by,b$="") Cls ; A$ = b Repeat Alles() Text ax,ay,az A = GetKey() If A > 31 Then Name$ = Name$ + Chr$(A) If (A=8) And Len(Name$)>0 Then Name$ = Left$(Name$,Len(Name$)-1) Text 150,100,Name$ + "_" Flip Until(Len(Name$)>0) And KeyHit(28) Return Name$ End Function Was habe ich falsch gemacht?[/code] |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das erste, was mir bei der Laden-schleife auffällt, ist, dass du die Punkte gar nicht mit einliest.
Übrigens noch ein kleiner tip: Fragen&Antworten solltest du in einem Type verwalten und extern laden. Gruß, Smily0412 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
nebelhorn |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Immerhin ist es mir gelungen einen Fehler zu finden und einen Fehler einzugrenzen.Deshalb nur die entscheidende Stelle meines Codes:
Ich speichere in einer .txt-Datei Highscore eine Bestenliste ab mit 10 Einträgen in der Form Looser.100 Verlierer.99 Michael.98 usw. Das Programm sortiert die Einträge aber falsch und macht leider keinen Highscore. Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() Dim Highscore$(10) Datei = ReadFile("Highscore.txt") If Datei = 0 Then RuntimeError "Highscore fehlt" For i = 1 To 10 Highscore$(i) = ReadString(Datei) Next CloseFile datei Punkte =12 ; Ergebnis simulieren If Punkte > Int(Right(Highscore(10),Instr(Highscore(10),"."))) Then Text 150,200, "Toll !" Text 150,250, "Highscore!" Flip Delay 1000 Name$ = Input(100,100,"Name:",100,150) If Punkte > Int(Right(Highscore$(9),Instr(Highscore(9),"."))) Then If Punkte > Int(Right(Highscore$(8),Instr(Highscore(8),"."))) Then If Punkte > Int(Right(Highscore$(7),Instr(Highscore(7),"."))) Then If Punkte > Int(Right(Highscore$(6),Instr(Highscore(6),"."))) Then If Punkte > Int(Right(Highscore$(5),Instr(Highscore(5),"."))) Then If Punkte > Int(Right(Highscore$(4),Instr(Highscore(4),"."))) Then If Punkte > Int(Right(Highscore$(3),Instr(Highscore(3),"."))) Then If Punkte > Int(Right(Highscore$(2),Instr(Highscore(2),"."))) Then If Punkte > Int(Right(Highscore$(1),Instr(Highscore(1),"."))) Then For i = 1 To 9 Highscore(i+1)=Highscore(i) Next Highscore(1) = Name + "." + Str$(Punkte) Else For i=2 To 9 Highscore(i+1)=Highscore(i) Next Highscore(2) = Name+"."+Str$(Punkte) EndIf Else For i=3 To 9 Highscore(i+1)=Highscore(i) Next Highscore(3) = Name+"."+Str$(Punkte) EndIf Else For i= 4 To 9 Highscore(i+1)=Highscore(i) Next Highscore(4) = Name+"."+Str$(Punkte) EndIf Else For i=5 To 9 Highscore(i+1)=Highscore(i) Next Highscore(5) = Name+"."+Str$(Punkte) EndIf Else For i= 6 To 9 Highscore(i+1)=Highscore(i) Next Highscore(6) = Name+"."+Str$(Punkte) EndIf Else For i= 7 To 9 Highscore(i+1)=Highscore(i) Next Highscore(7) = Name+"."+Str$(Punkte) EndIf Else For i= 8 To 9 Highscore(i+1)=Highscore(i) Next Highscore(8) = Name+"."+Str$(Punkte) EndIf Else For i=9 To 9 Highscore(i+1)=Highscore(i) Next Highscore(9) = Name+"."+Str$(Punkte) EndIf Else Highscore(10) = Name + "." + Str$(Punkte) EndIf Alles() For i = 1 To 10 Text 200,(i*25), Highscore(i) Next Flip WaitKey datei = WriteFile ("Highscore.txt") For i=1 To 10 WriteString datei,Highscore(i) Next CloseFile datei Else PlaySound tonII Text 150,200, "Gut !!" EndIf Flip FlushKeys Flip Function Alles() Cls End Function Function Input$(ax=0,ay=0,az$="", bx,by,b$="") Cls ; A$ = b Repeat Alles() Text ax,ay,az A = GetKey() If A > 31 Then Name$ = Name$ + Chr$(A) If (A=8) And Len(Name$)>0 Then Name$ = Left$(Name$,Len(Name$)-1) Text 150,100,Name$ + "_" Flip Until(Len(Name$)>0) And KeyHit(28) Return Name$ End Function |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
1.)Um den Text mit readstring auslesen zu können, muss der Text in einer Bestimmten form in der Datei gespeichert sein. Ein untereinander Auflisten geht hier nicht.
2.)Ausserdem solltest du dir das mit der verschachtelten if-Abfrage nochmal überlegen, sowas kann man mit ein paar kniffen auch günstiger lesen. 3.) Right(Highscore$(9),Instr(Highscore(9),".") right zählt die Zeichen von rechts ab. Instr gibt die Position aber von links wieder. 4.)mache statt ein Dim lieber zwei Arrays: Highscorename$[9] und Highscorepoints[9] Das macht die Abfrage auch einfacher. |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
nebelhorn |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es klappt jetzt! ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group