2D spiel stockt

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

xXBerghuhnXx

BeitragSa, Dez 12, 2009 13:42
Antworten mit Zitat
Benutzer-Profile anzeigen
oh ;D sry dummer fehler

DAK

BeitragSa, Dez 12, 2009 14:17
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab das (vorallem wenns mehrere möglichkeiten gegeben hat, wies gelöscht werden könnt) so gelöst:

Code: [AUSKLAPPEN]

löschen=0
if Schuss_Trifft() then
     Mach_Schaden()
     löschen=1
endif
if Schuss_fliegt_aus_dem_Bildschirm() then
     löschen=1
endif
...
if löschen=1 then delete objekt
Gewinner der 6. und der 68. BlitzCodeCompo

Midimaster

BeitragSa, Dez 12, 2009 14:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Mal ein kleiner Tipp zu den Variablenname... wenn andere Dein Script gut lesen können sollen (und ja vielleicht auch mal du nach Monaten selbst), dann benenne die Variablen sinnvoller.

Die Typgruppe nur Singular "Meteorid" zu nennen, stimmt semantisch nicht, weil es sich ja um eine ganze Menge von Meteoriden handeln kann. Hier schwören die meisten Coder auf "Meterorids", also der Plural.
Code: [AUSKLAPPEN]
Type Meteorids
     Field X...
End Type

Du nennst den Typ "Meteorid" und kannst dann, wenn wirklich ein einzelner kommt, ihn natürlich nicht nochmal Meteorid nennen, weil der Name ja schon vergeben ist. Dafür führst Du den Begriff "info"??? ein. Schade eigentlich...

Das Bild heißt dann "Meteorid1", nicht sehr aussagekräftig und verführt den Betrachter dazu, an einen weiteren "Typ" zu glauben, weil Du ja schon "Meteroid" so verwendet hast. Besser ist irgend ein Name, der auf ein Image hinweist, z.B. "PicMeteorid", ...

Die Koordinaten kannst Du nun ohne den Zusatz "Meteorid.." vorneweg benennen, weil sie ja sowieso immer nur im Zusammenhang mit dem Object erwähnt werden. z.b. Meteorid\Y.

Code: [AUSKLAPPEN]
BildMeteorid=LoadImage(..

Type MeteoridenTyp
    Field X%
    Field Y%
End Typ

For Meteorid.MeteoridenTyp = Each MeteoridenTyp
    If Meteorid\X > 300 Then
        Delete Meteorid.MeteoridenTyp
    Else
        DrawImage BildMeteorid, Meteorid\X, Meteorid\Y,0
    Endif
Next


In dem kleinen Beispiel wirkt es jetzt vielleicht etwas oversized, aber in einem gesamten Programm mit 1000 Zeilen kann es recht hilfreich sein, eine Stelle zu finden

Noch was finde ich sehr mutig. ersetze:
Code: [AUSKLAPPEN]
If Meteorid\X = 300 Then

....durch...

Code: [AUSKLAPPEN]
If Meteorid\X > 300 Then


Solange die Meteoriden sich immer um 1 vorwärts bewegen ist alles OK, aber was, wenn ein Meteorid bei 299 ist, und sich dann um 2 ( oder 1.04) bewegt?
 

xXBerghuhnXx

BeitragSa, Dez 12, 2009 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für eure Tipps und eure Hilfe ;D .
Werds mir merken und nächstes mal besser machen bzw nacher mal verbessern

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group