Ein paar Fragen zu GLBasic und dem Gp2x

Coden in GLBasic
Autor
Nachricht
Benutzeravatar
Schnatterplatsch
9 Bit
Beiträge: 845
Registriert: Di Mär 17, 2009 18:51

Re: Ein paar Fragen zu GLBasic und dem Gp2x

#46 Beitrag von Schnatterplatsch » Sa Mai 02, 2009 14:35

So, ich muss doch nochmal stören.
TYPE Tradership
MaxSpeed=20
MaxCargo=25
Name$="Terran Tradership"
ENDTYPE

TYPE Battleship
MaxSpeed=15
MaxCargo=5
Name$="Terran Battleship"
ENDTYPE
Legt praktisch 2 verschiedene schiffe an. Jetzt soll es ja im Universum gaaaaaanz viele schiffe geben.
DIM Schiff[2000]
jetzt würde ich gerne jedem Schiff einen Typ zuweisen.
GLOBAL Schiff[0] AS Battleship
GLOBAL Schiff[1] AS Tradership
variable already exists : Schiff
syntax error"

EO, wäre so praktisch gewesen. Gibt es irgendeine aequivalente Möglichkeit einem Array-Bestandteil einen type zuzuweisen???

Benutzeravatar
GernotFrisch
7 Bit
Beiträge: 230
Registriert: Di Aug 28, 2007 11:53
Wohnort: neben dem ED ;)
Kontaktdaten:

Re: Ein paar Fragen zu GLBasic und dem Gp2x

#47 Beitrag von GernotFrisch » Sa Mai 02, 2009 15:03

Code: Alles auswählen

TYPE Tship
MaxSpeed
MaxCargo
Name$
ENDTYPE

GLOBAL gSchiff[] AS Tship
DIM gShip[2000] // ist viel -> warum nicht nur verwendete mit DIMPUSH? - aber egal

MakeTraderShip( gSchiff[0] )
MakeBattleShip( gSchiff[1] )


FUNCTION MakeTraderShip: ship as Tship // , hier parameter vorgeben?
   ship.MaxSpeed = 20
   ship.MaxCargo = 25
   ship.Name$="Terran Tradership"
ENDFUNCTION
Also, der Typ "Tship" hält die Daten eines Schiffs -> egal welcher Typ (Quasi der Bauplan). Das Feld "gSchiff[]" hält Schiffsinstanzen. Also "echte Schiffe".
Ich würde das DIM rausnehmen und ein neues Schiff einfach mit DIMPUSH an gSchiff[] anhängen.
GLBasic
Basic for gamers

Benutzeravatar
Schnatterplatsch
9 Bit
Beiträge: 845
Registriert: Di Mär 17, 2009 18:51

Re: Ein paar Fragen zu GLBasic und dem Gp2x

#48 Beitrag von Schnatterplatsch » Sa Mai 02, 2009 15:32

Dankeschön *blumeblumeblume*
DIM gShip[2000]
sollte eigentlich
DIM gSchiff[2000]
heißen, oder????

aber ansonsten funktioniert das so wie ichs haben wollte. nur richtig verstehen tu ich eine stelle nicht.
FUNCTION MakeTraderShip: ship as Tship // , hier parameter vorgeben?
ship.MaxSpeed = 20
ship.MaxCargo = 25
ship.Name$="Terran Tradership"
ENDFUNCTION
warum ich jetzt mit gSchiff[0].MaxSpeed den wert abfragen kann den eigentlich ship.MaxSpeed bekommen hat.

Benutzeravatar
GernotFrisch
7 Bit
Beiträge: 230
Registriert: Di Aug 28, 2007 11:53
Wohnort: neben dem ED ;)
Kontaktdaten:

Re: Ein paar Fragen zu GLBasic und dem Gp2x

#49 Beitrag von GernotFrisch » Mo Mai 04, 2009 12:14

Weil Du ein Type immer als Referenz übergibst.
Also, das ship, das Du in die Funktion reingibst ist nur ein Wegweiser (Zeiger) auf das schte Schiff in Deinem gSchiff[] Feld.
GLBasic
Basic for gamers

Antworten

Zurück zu „GLBasic“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast