probleme mit types
Übersicht

![]() |
RealBigDonutBetreff: probleme mit types |
![]() Antworten mit Zitat ![]() |
---|---|---|
juten tach
ich beschäftige mich jetzt seit ca. 2 wochen mit blitz basic 2D, hab auch schon ein kleines spielchen programmiert, klappte alles wunderbar. für mein neustes "projekt" brauche ich typesweil ich eine unbestimmte anzahl autos unabhängig voneinander den bildschirm herunterfahren lassen möchte. ich hab mich hier im forum und in tuts schon schlaugemacht, komm aber trotzdem einfach nicht weiter, und hoffe, ihr könnt mir helfen. hier der code: Code: [AUSKLAPPEN] Graphics 640,475 SeedRnd MilliSecs() SetBuffer BackBuffer() Global framerate=CreateTimer(60) Global player=LoadImage("dings\auto\player.bmp") Global car=LoadImage("dings\auto\car.bmp") Global background=LoadImage("dings\auto\background.bmp") Global life=LoadImage("dings\auto\life.bmp") Global cartimer=Rand(500,3000) Global cartime=MilliSecs() Global start_y=-80 Global max_vel=2 Type tcar Field car_x,car_y,car_vel End Type startmenu() Function game() cartime=MilliSecs() While Not KeyHit(1) WaitTimer(framerate) create_car() update_car() Flip Cls Wend endmenu() End Function Function startmenu() Text 320,240,"Mir fällt kein Name ein",True,True Text 320,260,"press space",True,True Flip WaitKey() If KeyDown(57) Cls game() EndIf End Function Function endmenu() While Not KeyDown(1) Text 320,240,"GAME OVER",True,True Text 320,260,"press esc to exit or space to restart",True,True If KeyDown(57) Flip Cls death=0 game() EndIf Flip Wend End End Function Function create_car() If MilliSecs()>=cartimer+cartime SeedRnd MilliSecs() max_vel=max_vel+1 c.tcar=New tcar c.tcar\car_y=start_y c.tcar\car_vel=Rand(2,max_vel) position=Rand(1,5) If position=1 c.tcar\car_x=80 EndIf If car_position=2 c.tcar\car_x=180 EndIf If car_position=3 c.tcar\car_x=280 EndIf If car_position=4 c.tcar\car_x=380 EndIf If car_position=5 c.tcar\car_x=490 EndIf EndIf End Function Function update_car() For c.tcar=Each tcar c.tcar\car_y=c.tcar\car_y+c.tcar\car_vel DrawImage car,c.tcar\car_x,c.tcar\car_y Next End Function mach ich einen denkfehler oder hab ich mich nur verschrieben? hilfe! |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um dir helfen zu können, müssen wir erst mal wissen, wo das Problem liegt.
Eine genaue Beschreibung des Problems, was passieren soll und was stattdessen passiert, bitte. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ja eine genauere Beschreibung wäre sinnvoll. So spontan fällt mir nur das auf: BlitzBasic: [AUSKLAPPEN] position=Rand(1,5);Rand die Variable Position lg, count-doku |
||
![]() |
RealBigDonut |
![]() Antworten mit Zitat ![]() |
---|---|---|
das problem ist folgendes:
die autos bewegen sich nicht auf dem bildschirm verteilt voneinander getrennt nach unten, sondern bewegen sich nur am rechten rand. außerdem bewegen sie sich nicht gleichmäßig, blinken und springen hoch und runter. das ist die genaueste beschreibung, die ich hinkrieg, es ist auf jeden fall ziemliches chaos oh verdammt, das hab ich übersehen ![]() jetzt sieht man die autos zwar so wie sie sollen herunterfahren, aber im hintergurnd blinken sie immer noch hin und her |
||
- Zuletzt bearbeitet von RealBigDonut am So, Jun 06, 2010 17:24, insgesamt einmal bearbeitet
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kannst du mal das komplette hochladen?
Also mit Bildern usw. Am besten ins Archiv Ich sehs mir dann mal durch. |
||
![]() |
RealBigDonut |
![]() Antworten mit Zitat ![]() |
---|---|---|
dateien sind hochgeladen, danke schonma im vorraus | ||
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habs mir jetzt mal angesehen.
Es läuft doch alles richtig. Das was du als blinken siehst, sind Autos, die gaaanz schnell von oben nach unten rasen. Du hast zwar einen Timer drin, lässt aber trotzdem noch mit Flip 1 ![]() ![]() auf den internen warten. -> Unötiger Leistungsverlust bzw. hohe CPU Last. Zudem zählst du max_vel für jedes Auto einen hoch. D.h. die autos werden mit der Zeit immer schneller. Hier mal ein verbesserter Code, habe veränderte Stellen mit einem Kommentar markiert: BlitzBasic: [AUSKLAPPEN] Graphics 640,475,32,2 mfg, count-doku |
||
![]() |
Badudel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Donut,
ein Link wäre erst einmal sehr hilfreich gewesen... ALso, bei mir funktioniert alles einwandfrei. Manche sind extrem schnell, das liegt aber an BlitzBasic: [AUSKLAPPEN] max_vel=max_vel+1 Vel ist die Geschwindigkeit, und du erhöhst Max_vel bei jedem Auto...
Ein paar kleine Tips habe ich aber noch: - SeedRnd Millisecs() reicht einmal pro Programm - Graphics mit krummen Werten im Vollbildmodus gibt auf den meisten Grafikkarten einen Fehler aus - Wenn du einen Timer benutzt, dann benutze Flip 0 - Bei Types kannst du anstatt BlitzBasic: [AUSKLAPPEN] For c.tcar=Each tcareinfach BlitzBasic: [AUSKLAPPEN] For c.tcar=Each tcarschreiben. Grüße! EDIT: Zu spät... |
||
Wir werden dem Schwein schon schlachten, auch wenn ihm quiekt.
Zum Teufel mit das Grammatik! |
n-Halbleiter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Badudel hat Folgendes geschrieben: BlitzBasic: [AUSKLAPPEN]
For c.tcar=Each tcareinfach BlitzBasic: [AUSKLAPPEN] For c.tcar=Each tcar tcar\x <- Bist du dir da sicher? ![]() |
||
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit Ploing! Blog "Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935) |
![]() |
Badudel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nee nich x sondern car_x.. Haarspalterei... | ||
Wir werden dem Schwein schon schlachten, auch wenn ihm quiekt.
Zum Teufel mit das Grammatik! |
![]() |
RealBigDonut |
![]() Antworten mit Zitat ![]() |
---|---|---|
vielen dank für die schnelle und zahlreiche hilfe ![]() hab das problem mit der gescwindigkeitserhöhung mit ner 2ten "zähler"variable gelöst, außerdem noch den cartimer in die schleife reingepackt, jetzt fahren sie schön gesittet hintereinander |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich spalte das Haar gleich noch einmal... n-Halbleiter wollte wohl drauf hinweisen dass es so gehört:
Code: [AUSKLAPPEN] c\car_x
(Ich schreibe dies nur als Korrektur, nicht als Empfehlung - "c" ist ja nun wirklich keine schöne Variablenbezeichnung *hust*) mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
n-Halbleiter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke, Eingeproggt, das meinte ich. Ich hätte mich wohl besser ausdrücken sollen. :/
Was ich dir, RealBigDonut, noch ans Herz legen kann (wobei das auch nur Anregungen sind): https://www.blitzforum.de/foru...php?t=1261 Das kann bei der Benennung helfen, genauso wie dir mit Sicherheit später noch IDEal (eine IDE) helfen wird. Die kannst du hier bekommen (die aktuellste Version ist schon etwas älter, aber das macht nichts). Wenn du die nutzt, kannst du sehr viele Fehler schon vom Anfang an vermeiden. |
||
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit Ploing! Blog "Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group