Scoreanzeige
Übersicht

![]() |
JufiBetreff: Scoreanzeige |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, ich wollte in meine Weltraumshooter einen punktezähler einbauen, habe es dann
font = LoadFont("Times New Roman",20,0,0,0) SetFont font Text 10,10, "Score:" + score If score = Alien(I,0) = -1 Then score = 5 Flip FlushKeys FreeFont font mit dem Code oben probiert, aber wenn ich starte schreibt er "Array index out of bounds"! Wass muss ich ändern, damit es funktioniert? Danke im voraus! |
||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Willkommen hier im Forum ![]() Man bräuchte ein bisschen mehr Code, um sehen zu können, worin das Problem besteht. So z.B. weiss ich nicht wie "gross" dein Dim-Feld ist und die Variabel I ist mir auch unbekannt. mfg Cardonic ~edit~ Achja, und benutze immer Code-Tags, um deinen Code besser lesbarer zu machen und vom Rest deines Posts hervorzuheben: Code: [AUSKLAPPEN] [code]....[/code]
|
||
- Zuletzt bearbeitet von Cardonic am Mo, Okt 02, 2006 17:03, insgesamt einmal bearbeitet
![]() |
Jufi |
![]() Antworten mit Zitat ![]() |
---|---|---|
wieviel mehr? (Ich könnte den Text vom ganzen Spiel hochladen, wenn nötig ![]() |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das wäre sicher nicht schlecht.
Vermutlich ist das Dim feld "Alien zu klein. Mach es einfach mal um einen Wert grösser. Man vertut sich da leicht, auch weil die Zählung bei 0 beginnt. MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
- Zuletzt bearbeitet von Blitzcoder am Mo, Okt 02, 2006 17:06, insgesamt einmal bearbeitet
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es muss einfach das Wesentliche her.
Wenn du den ganzen Code hier postest, dann ist bestimmt genug da, um den Fehler zu finden ![]() mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
Jufi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gut, wie ihr wollt
; Shooter.bb Graphics 640, 480 SetBuffer BackBuffer() hinter = LoadImage("Hinter.bmp") schiff = LoadImage("spaceship.bmp") alienbild = LoadImage("Alien.bmp") rakete = LoadImage("Schuss.bmp") schusston = LoadSound("gun_shotgun2.WAV") trefferton = LoadSound("rockbeast_die.WAV") menue = LoadImage("Menue.bmp") Dim Rak(100,2) Dim Al(100,2) Dim Alien(5,2) Dim AlienExplodiert(5,1) x = 305 y = 420 ;hauptmenü .menue Cls DrawImage menue,0,0 If KeyDown(1) Then End If KeyDown(28) Then Goto start Flip Goto menue .start Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter,0,H DrawImage schiff, X,Y ;Pause If KeyDown(197) Or KeyDown(25) Then font = LoadFont("Times New Roman",80,0,0,0) SetFont font Text 150,200, "P A U S E" Flip FlushKeys WaitKey FreeFont font EndIf ;Schuß-Test If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+10 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ;Score font = LoadFont("Times New Roman",20,0,0,0) SetFont font Text 10,10, "Score:" + score If score = Alien(I,0) = -1 Then score = 5 Flip FlushKeys FreeFont font ; ggf. Raketen zeichnen For I=1 To 100 If Rak(1,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf Next ;Pfeiltasten Abfragen If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ;Rand überschreitung verhindern If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 ;Kollision testen For I=1 To 100 If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete, Rak(I,1), Rak(I,2))Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf Next ;Explosion Alien zeichnen For I=1 To 5 If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf EndIf Next ;Alien Steuerung For I=1 To 5 If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 If Alien(I,0) <> -1 Then DrawImage alienbild, Alien(I,1), Alien(I,2) Next Flip Until KeyDown(1) End Viel Spass beim Fehlersuchen ![]() |
||
- Zuletzt bearbeitet von Jufi am Mo, Okt 02, 2006 17:22, insgesamt einmal bearbeitet
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bitte benutze die Code Tags.
Bitte wie soll das gehen? Code: [AUSKLAPPEN] If score = Alien(I,0) = -1 Then score = 5
Zweimal "=". Ausserdem frage ich mich, wo das I herkommt. Die Variable I wird nur stänndig in For schleifen benutzt. und zwar bis 100. Ab ende der schleife ist der wert also immer 100. Das Dim Feld Alien geht aber nur bis 100. MfG Blitzcoder EDIT: Wenn es geht, dann lade doch mal die ganzen datein mit hoch. Die Grafiken und so, wenn du nichts dagegen hast. Denn wenn man den Code zum laufen bringt, geht es immer besser, den fehler zu finden. Du kannst die Grafiken ja zippen und hier ins Archiv laden. |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
![]() |
Jufi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Äh, wohin laden? (Sry, bin seit ca.10 min im Forum Aktiv ![]() |
||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du zählst bei der Kollisionsabfrage den Score hoch:
Code: [AUSKLAPPEN] ;Kollision testen
[...] If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete, Rak(I,1), Rak(I,2))Then PlaySound(trefferton) Alien(J,0) = -1 Score = Score + 5 ; <--- Hier EndIf [...] Next Und schmeisst dafür die Zeile, die Blitzcoder schon angesprochen hat, raus (die mit den zwei "=") Was ich sonst noch beachten würde: 1) Wenn ich dich wäre, dann würde ich auf die Zeileneinrückung achten. 2) Bilder, Sounds und/oder Schriften nie in der Hauptschleife laden mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
Jufi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab die Zeilen rückung eigentlich schon, aber im Forum wird es merkwürdigerweise nicht angezeigt | ||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann ist ja gut. Wenn du die besagten Code-Tags benutzen würdest, dann würde die Zeileneinrückung angezeigt werden.
mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
Jufi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weiss, dass es DP ist, aber:
1.Die Gegner sind sehr langsam geworden! 2.Die Gegner "flimmern"! 3.Die Schusstaste ist manchmal "taub"! 4.für einen Abschuss kriegt man mehr Punkte als normal! Ich hoffe ihr könnt mir helfen! ![]() |
||
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Blitzcoder hat Folgendes geschrieben: Zweimal "=". Ausserdem frage ich mich, wo das I herkommt. Die Variable I wird nur stänndig in For schleifen benutzt. und zwar bis 100. Ab ende der schleife ist der wert also immer 100. Das Dim Feld Alien geht aber nur bis 100.
Ach ja? ![]() Code: [AUSKLAPPEN] For steps=1 To 5
Next Print steps IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Ich hab mal ein kleines Beispiel geschrieben wie die Punkte hoch gezählt werden. Hier mal mein Code: Code: [AUSKLAPPEN] Graphics 640,480,16,2
SetBuffer BackBuffer() Global Punkte=0,Punktezaehler=0 ;Die Hauptschleife Repeat Cls ;Punkte anzeigen Text 20,20,"Punkte: "+Punkte ;Wenn die Leertaste gedrück wird, wird ;Punktezaehler um jeweils 10 erhöt If KeyHit(57) Then Punktezaehler = Punktezaehler + 10 EndIf ;jede 60 Millisekunde wird Punkte um 1 erhöt bis es ;den Punktezaehler entspricht If MilliSecs()-timer > 60 Then timer = MilliSecs() If Not Punkte = Punktezaehler Then Punkte = Punkte + 1 EndIf EndIf Flip Until KeyHit(1) End kannst es ja dementsprechend in deinem Spiel einbauen ![]() Gruss Andreas |
||
![]() |
Jufi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] ........... Punkte = 0, Punktezaehler = 0 ........... Aber da sagt er immer "Expecting until or Forever! |
||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich hab den Code 1:1 kopiert, und es funktioniert einwandfrei.
Die Fehlermeldung, die bei dir kommt, bedeutet, dass die While-Schleife nicht richtig geschlossen ist (oder eine If-Abfrage o.Ä. innerhalb der While-Schleife). Überprüfe, ob du nicht die letzten paar Zeilen vergessen hast, oder versehentlich etwas geändert wurde. mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
Jufi |
![]() Antworten mit Zitat ![]() |
---|---|---|
nachgeprüft, hab aber nichts gefunden | ||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst ihn ja ein zweites mal kopieren; der Code ist wirklich nicht fehlerhaft.
mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
Jufi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Programm aleine funktioniert schon, aber wenn ich es ins Spiel einbaue gehts nicht mehr! | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du sollst ihn ja auch verstehen und anpassen, nicht einfach einpasten.
Vielleicht solltest Du erstmal Grundwissen erlangen, also mach bitte ein paar tutorials durch bevor Du hier nach Nichtigkeiten fragst. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group