Variablenstrukturierung durch Types

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Wendigo

Betreff: Variablenstrukturierung durch Types

BeitragSa, Okt 03, 2009 10:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Community,
ich arbeite gerade an meinem ersten größeren Projekt und merke dass es langsam immer länger dauert beim proggen nach der richtigen Variable zu suchen. Bin ständig im Deklarationsbereich die Variablenkommentare am Durchforsten.
Da kam mir die Idee einfach sämtliche zusammenhängende Variablen in Types zu strukturieren und so eine rudimentäre Art von OOP zu erhalten. Sprich auch für Variablen von denen nur eine einzige Instanz im Spiel existiert.
z.B.:
BlitzBasic: [AUSKLAPPEN]

Type tPlayer
PosX#
PoxY#
PlayerImage
...
End Type

Type tGrafik
XMAX%
YMAX%
FrameTimer
...
End Type


Ich benutze zum Proggen Project Studio Express welches ziemlich gutes Intellisense mitbringt und auf diese Weise eine gefilterte Auswahl an möglichen Variablen anzeigen würde.
Hat von euch jemand Erfahrungen in dieser Richtung gemancht. Ob dadurch möglicherweise die Performance o.Ä. drunter leidet?

LG Wendigo

Xaymar

ehemals "Cgamer"

BeitragSa, Okt 03, 2009 11:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Die perfomance leidet sehr drunter, types sind ja nicht das schnellste(zumindest wenn du die variablen nicht zwischenspeicherst gehen locker 200ms an rechenzeit drauf(nur fürs durchsuchen und finden der variable).(Ja ich habs schonmal versucht)
Warbseite
 

Wendigo

BeitragSa, Okt 03, 2009 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Thx für die schnelle antwort.
Schade, dann muss ich wohl weiter suchen Crying or Very sad
 

DjDETE

BeitragSa, Okt 03, 2009 11:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst die Veriablen auch einfach tplayer_posX,tplayer_posY,usw. nennen.
MfG
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.

hazumu-kun

BeitragSo, Okt 04, 2009 12:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau denk dir ein System aus:

Kategorie_Objekt_Wert
-> Menu_Button_x

Und stör dich nicht an langen Variablennamen, wenn deine IDE gut ist, ist die AutoComplete Funktion auch gut!
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Midimaster

BeitragSa, Okt 10, 2009 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kann dem nicht zustimmen! Types sind vielleicht etwas langsamer, aber der Aspekt der Übersichtlichkeit bei größeren Projekten spricht eindeutig für Typen.

Wie meinst Du das mit den 200 msec?

Hier hab ich mal einen Speed-Test gemacht ohne Typen und mit Typen. Und die Typen-Variante schneidet bei mir sogar besser ab:

Code: [AUSKLAPPEN]

SuperStrict
Graphics 800,600,0
Global Bild:Timage=CreateImage(200,200)
Global x%,y%

Global zeit%=MilliSecs()
   For Local i%=0 To 100
       x=x+1
       y=y+1
       DrawImage Bild,x,y
   Next
   Flip
Print MilliSecs()-Zeit


Global Spieler:TSpieler[99]

Spieler[0] = TSpieler.Create()
Spieler[0].Bild=Bild

zeit=MilliSecs()
   For Local i%=0 To 100
       Spieler[0].x=Spieler[0].x+1
       Spieler[0].y=Spieler[0].y+1
      DrawImage Spieler[0].Bild,Spieler[0].x,Spieler[0].y
   Next
   Flip
Print MilliSecs()-Zeit


End




Type TSpieler

   Field x%,y%,Bild:Timage
   
   Function Create:TSpieler()
      Return New TSpieler
   End Function
   
End Type

Xaymar

ehemals "Cgamer"

BeitragSa, Okt 10, 2009 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
WTF? Das ist Bmax-.- wir befinden uns in BB
Warbseite
 

BIG BUG

BeitragSa, Okt 10, 2009 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Trotzdem sind Types in der Form wie Wendigo sie benutzen möchte auch in BB recht schnell, denn der Type muss in diesem Fall ja nicht erst durchsucht werden, sondern es besteht ja bereits ein direkter Link zu den Variablen, der Speedverlust ist also minimal.

@Wendigo
Du kannst es ruhig so machen wie Du möchtest...

Ein solches Vorgehen ist erprobt und hat auch den Vorteil dass Du automatisch eine auf korrekt geschriebene Variablennamen hast, unabhängig von der verwendeten IDE
Wenn Du dann Dein Spiel später noch um Netzwerk oder lokalen Multiplayer erweitern möchtest, hast Du es außerdem dann durch die bereits bestehende Organisation in Types auch leichter.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

Wendigo

BeitragMo, Okt 12, 2009 12:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Thx für die Info Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group