Kan man das hier vereinfachen?
Übersicht

![]() |
YankeeBetreff: Kan man das hier vereinfachen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also das hier ist ein kleines Spiel, wo 2 leute spielen, einer ist ein raumschiff und muss dem 2tem Spieler, ein asteroid(oder wie auch immer) ausweichen. Wenn der Asteroid das raumschff erwischt kommt ein knall und beide beginnen wieder am anfang.
Code: [AUSKLAPPEN] Graphics 800, 800 SetBuffer BackBuffer() rocket=LoadImage("rocket.bmp") stein=LoadImage("rock.bmp") knall=LoadSound("boom.wav") stein_x=500 stein_y=500 rocket_x=30 rocket_y=40 While Not KeyDown (1) ;prufe Rocket bewegung If KeyDown (203) rocket_x=rocket_x-4 If rocket_x<0 Then rocket_x=0 EndIf If KeyDown(205) rocket_x=rocket_x+4 If rocket_x>604 Then rocket_x=604 EndIf If rocket_y>604 Then rocket_y=604 If KeyDown (200) rocket_y=rocket_y-3 If rocket_y<0 Then rocket_y=0 EndIf If rocket_y<0 Then rocket_y=0 If KeyDown(208) rocket_y=rocket_y+3 If rocket_y>604 Then rocket_y=604 EndIf ; prufe Stein bewegung If KeyDown (30) stein_x=stein_x-4 If stein_x<0 Then stein_x=0 EndIf If stein_y<0 Then stein_x=0 If KeyDown(32) stein_x=stein_x+4 If stein_x>604 Then stein_x=604 EndIf If stein_y>604 Then stein_y=604 If KeyDown (17) stein_y=stein_y-3 If stein_y<0 Then stein_y=0 EndIf If KeyDown(31) stein_y=stein_y+3 If stein_y>604 Then stein_y=604 EndIf ;Bildschirm neu aufbauen Cls If stein_x>604 Then stein_x=604 DrawImage stein,stein_x,stein_y DrawImage rocket,rocket_x,rocket_y Flip If ImagesCollide(stein, stein_x, stein_y,0, rocket, rocket_x, rocket_y,0) Text rocket_x, stein_y, "Wer auch immer den stein spielt, hat gewonnen!" PlaySound knall Delay 1000 stein_x=500 stein_y=500 rocket_x=30 rocket_y=40 EndIf Brauche hilfe bei dem da, weil ich finde das da ist ihrgendwie zu groß...^^ Danke Yankee ![]() |
||
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bitte nimm die Code-Tags und rück den Programcode ein, dann wirds gleich viel übersichtlicher ![]() Außerdem ist der Code da oben alles andere als lang! ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
Yankee |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja aber wie solll ich so schreiben damits übersichtlicher ist? ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich wüsste nicht, was es an dem Code noch zu vereinfachen gäbte. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du könntest es in Functions unterteilen, dann ist es übersichtlicher, aber ansonsten würde ich auch nichts weiter verändern.
Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
![]() |
Chester |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nicht zu vergessen sind Includes, aber dass würde sich bei deinem Code noch nicht lohnen.
https://www.blitzforum.de/view...731#178659 kann ich dir nur mal empfehlen. ChEsTeR |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest die frei rumfliegenden If-Abfragen mal in die KeyDowns mit rein packen, wie es überlicherweise auch schon der Fall ist. Dann ist wenigstens mal ein bischen mehr Ordnung und 'Struktur' drin...
Anstelle If KeyDown() könnte man das ganze auch in Case packen. Der Code währe dadurch auch noch ein wenig kürzer... Oder...Code: [AUSKLAPPEN] ;Man kann auch
;Anstelle If KeyDown(205) rocket_x=rocket_x+4 If rocket_x>604 Then rocket_x=604 EndIf ;Das hier machen If KeyDown(205) rocket_x=rocket_x+4:If rocket_x>604 rocket_x=604 Für den letzten Vorschlag muß ich mich aber in Deckung begeben... |
||
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
*nach Hectic werf*
Sehr richtig ![]() @Yankee: Wichtig ist im Allgemeinen ja nicht die kürze des Codes sondern die Übersichtlichkeit. Also das du Functions wie UpdatePlayers (), MovePlayers (), Shoot ()... benutzt und dadurch auch besser an bestimmten Teilen des Codes arbeiten kannst. Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, bleibt ja letztendlich 'Geschmackssache', wie man es macht. Ich zu meinem Teil finde das folgende nicht wirklich unübersichtlich. Zu mal eine Tastaturabfrage ja nun wirklich nicht zu dem 'Problemcode' eines Programmes gehört.
Code: [AUSKLAPPEN] ;Pruefe Rocket Bewegung
Für mich perfekt und alles was die Tastaturabfrage betrifft, auf einem Blick erkennbar. Ich kann an solch geschriebenem Code Fehler wesentlich schneller überblicken. If KeyDown(203) rocket_x=rocket_x-4:If rocket_x<0 rocket_x=0 If KeyDown(205) rocket_x=rocket_x+4:If rocket_x>604 rocket_x=604 If KeyDown(200) rocket_y=rocket_y-3:If rocket_y<0 rocket_y=0 If KeyDown(208) rocket_y=rocket_y+3:If rocket_y>604 rocket_y=604 ;Pruefe Stein Bewegung If KeyDown(30) stein_x=stein_x-4:If stein_x<0 stein_x=0 If KeyDown(32) stein_x=stein_x+4:If stein_x>604 stein_x=604 If KeyDown(17) stein_y=stein_y-3:If stein_y<0 stein_y=0 If KeyDown(31) stein_y=stein_y+3:If stein_y>604 stein_y=604 ![]() Ok, ich hau ja schon ab.... ... .. . . . . . ![]() |
||
Farami |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Um ganz ehrlich zu sein finde ich Hectic's Code-Schnipsel von der Übersicht her auch wirklich besser... Aber nunja, ist wohl Geschmackssache... | ||
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jo, ok... Einigen wir uns auf Geschmackssache ![]() Jiriki [Edit] Auch ist es besser wenn andere den Code noch verwenden sollen ![]() |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
![]() |
Yankee |
![]() Antworten mit Zitat ![]() |
---|---|---|
okidoki danke an alle | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group