Problem mit dem Löschen von Variablen
Übersicht

CppAmateurBetreff: Problem mit dem Löschen von Variablen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bin grad daran, mein erstes Spiel in BlitzBasic zu programmieren. Man selbst ist ein Raumschiff und man wird von Kanonen angegriffen. Wenn man einen Kanonenschuss mit der eigenen Kanone zerstört, bekommt man Punkte. Der Spieler kann nur 30 Schüsse gleichzeitig auf dem Feld haben, der Gegner 900. Außerdem sollen bei einer Kollision beide Schüsse zerstört werden und daran hapert es. Hier der Code:
BlitzBasic: [AUSKLAPPEN]
Wenn man einen Schuss trifft, kann man selbst nicht mehr Schießen, der eigene Schuss wird zerstört, aber der des Gegners nicht. Also werden irgendwie alle 30 Werte von shotex auf 1 gestellt, was aber nicht sein soll. Sieht irgendjemand den Fehler? |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Types würden dir sicherlich bei deinem Problem helfen, dann brauchst du nicht so viele Dims erstellen.
schau doch mal auf www.blitzbase.de nach, dort gibt es 2 tutorials zum Thema Types, sieht zwar auf den ersten Blick kompliziert aus, ist aber eigentlich recht einfach. |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
CppAmateur |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja,
das würde den Code vielleicht lesbarer machen, aber helfen würde es nicht. |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Uii -das ist mal wirklich ein Paradebeispiel von Wuselcode -kein Wunder, daß du da den Überblick verlierst. Und dann verlangst du gleich von anderen, daß sie da durchsteigen. Das gibt Schmerzensgeld! ![]() Das der Code nicht eingerückt ist, wird wohl am Forum liegen, denn ich kann nicht glauben, daß jemand es schafft, ohne Einrückungen den Überblick zu behalten bei dem ganzen For-Next und If-Then-Gedönsel. Schau mal, so sauber könnte das aussehen: BlitzBasic: [AUSKLAPPEN]
Yeah baby, das ist der ZEN-Style des Programmierens. So sauber, daß man drauf essen kann ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
extra für das Forum habe ich mal den BB Code Former geschrieben,
das ist wohl in Vegessenheit geraten! denn dann sieht der SuperCode oben etwa so aus :BlitzBasic: [AUSKLAPPEN] Function ShotsCollide () hier zu finden http://people.freenet.de/rallimen/Basic x-pressive: du kannst in deiner Doppelschleife nicht beide Elemente löschen! E.TEnemyShot geht, aber das S.TShot nicht, wenn es mehrere E.TEnemyShot gibt! da S nicht exitiert nach einer Kolli |
||
[BB2D | BB3D | BB+]
|
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist mir danach auch eingefallen ![]() Rallimen, ich weiss nicht, ob der CodeFormer Sinn macht, wenn jemand zu faul zum sauberen Coden ist. Dadurch lernt er es ja auch nicht besser. Aber immerhin kann er seinen Code dann noch mal schnell formatieren, bevor er ihn auf andere loslässt ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sollte aber auch einfach mit EXIT gehen:
BlitzBasic: [AUSKLAPPEN]
|
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, aber dann nimmt er nur die ersten beiden Schüsse, die kollidieren, holt sich also pro Durchgang nur ein Paar. | ||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Alfadur |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja, normal nicht. eigentlich beendet er nur die innere for schleife, also die mit den E ... die S schleife führt er weiter durch und überprüft dann wieder jeden E mit dem nächsten S ...
man könnte alternativ auch noch ein if S<>null / if E<>null machen ... |
||
A Cray is the only computer that runs an endless loop in less than four hours. |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Am sichersten wäre es das S ausserhalb der inneren Schleife zu löschen...
BlitzBasic: [AUSKLAPPEN] Function ShotsCollide () Nun wird alles überprüft, aber ob es sinnvoll ist , werweis?? |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group