Mehrere Einheiten

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Mehrere Einheiten

Beitrag von Green Snake »

Hi

wie ihr vielleicht schon wisst, wird mein neues bzw derzeitiges projekt ein game in der isometrie ansicht.
ihr alle kennt warscheinlich age of empires, oder sonst ein spiel dieser art.
dort gibt es ja mehrere einheiten, die man selbstständig bewegen kann.
jetzt das problem liegt beim "erschaffen" dieser einheiten.
wie kann ich dann mehrere einheiten aufs spielfeld bringen, ohne für jede einheit eine eigene procedure zu schreiben?

ich daachte da an therards, das finde ich aber vollkommen unnötig.
es gab da mal ein beispiel, aufbau hies es gleube ich.
dort wird genau mein problm gelöst, jedenfalls fast.
ich blick bei dem ganzen source code nicht ganz durch.
und ich kann auch die procedure, oder den code abschnitt nicht finden, der dieses problem beseitigt.


bin um jede hilfe froh.

gruss snake

ps. *ichsitzenvorjapbemitaufbausourcecode,undsucheverzweifeltnachderprocedure :lol: *
-.-"
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Für solche Problemstellungen bietet sich OOP an, das geht mit PB aber nun leider nicht so einfach. Threads bringen dir aber rein gar nichts
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Nimm doch eine Linkedlist und jede Einheit ist ein element der LL. Dann gehst du nach und nach alle Elemente durch und führst gewisse "Actions" für jede Einheit aus. So mache ich das in meinen Spielen dieser Art.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

hmm...kenne mich nich so aus mit den linkedlists, habe sie auch noch nie verwändet (höchstens in einem tutorial)
ok, wenn du meinst, ich werde diese listen nochmals SEHR genau anscheuen, werde mich dann wieder melden, wenn ichs kapiert habe.

danke euch beiden :allright:
-.-"
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Also bei Dingen wo vorher eine ungewisse Anzahl von Objekten gegeben ist, so wie es in einem Strategiespiel ja der Fall ist, sind LinkedLists eine gute Wahl. Dort kann man einfach Elemente hinzufügen, mit neuen Eigenschaften versehen, auf dem Bildschirm anzeigen lassen usw.
Arrays wäre auch eine Möglichkeit, allerdings nicht so gut geeignet, da man eine maximale Anzahl durch die Arraygrenze hat und auch immer so viel Speicher reserviert hat, egal ob er benötigt wird oder nicht.

Die Linked List sollte übrigens vom Typ einer Structur sein, welche Infos über die EInheit enthält. Hier mal ein Auszug meiner Structur meines C&C1 Clones:

Code: Alles auswählen

Structure unit_struc       ;--------       Die Unitstructure
  pos_x.f
  pos_y.f
  size_x.w
  size_y.w
  abs_speed.f
  speed_x.f
  speed_y.f
  graphic.w
  ID.w
  action.w
  walk.b
  direction.b
  versatz_x.w
  versatz_y.w
  selected.b
  clip_x.w
  clip_y.w
  
  current_building.w
  current_building_time.l
  building_pos.b
  
  anim_rotation_speed.b
  anim_rotation_step.f
  anim_direction_typ.b
  anim_max_anim_steps.w
  anim_current_anim_step.w
  anim_time_per_step.l
  anim_current_anim_time.l
  zielpos_x.w
  zielpos_y.w
  zielwinkel.w
  abs_winkel.w
EndStructure
Da sind alle wichtigen Dinge dabei. Grafik, Position, Animationsstufen und Zeit, Blickwinkel, richtung, einmalige ID, Geschwindigkeit, alles was wichtig ist für die Einheit. Dazu kommen noch Dinge wie Lebensenergie, Schaden, Reichweite usw...
Eine Variable "Action" könnte die derzeitige Aktion der Einheit beinhalten, etwa das Drehen in Mausrichtung oder das Angreifen eines Gegners.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

danke dir nochmals :allright:
werde das morgen bzw schon fast heute noch mal sehr genau anschauen. :allright:

mein strategie spiel zur zeit is ja noch komplizierter als mein vorheriges in 3d :lol:

aber es macht mehr spass, da sich bald (hoffe ich) die ersten erfolge zeigen, was bei 3d leider nicht der fall war :cry:

nochmal danke dir sunny :allright:

edit:
leider weis ich nicht bzw noch nicht genau, was ich damit anfangen soll, werds aber schon packen :allright:
-.-"
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Hast du dir schon mal das Spiel angeschaut, das bei PB dabei ist?
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

du meinst waponez II ?
hmm...so genau noch nicht, aber ich werds mal machen.
denkst du, dass ich dir die lösung finde?
-.-"
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Ja!
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

ok, werd das mal SEHR genau anschauen. :allright:
-.-"
Antworten