Gamestudio Links
Zorro Links
Newest Posts
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
Trading Journey
by howardR. 04/28/24 09:55
Zorro Trader GPT
by TipmyPip. 04/27/24 13:50
Data from CSV not parsed correctly
by jcl. 04/26/24 11:18
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (AndrewAMD), 953 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Allgemeine Frage zum Programmieren #408498
10/02/12 12:54
10/02/12 12:54
Joined: Aug 2011
Posts: 133
Germany, Supergeheimes Hinter-...
G
gameplan Offline OP
Member
gameplan  Offline OP
Member
G

Joined: Aug 2011
Posts: 133
Germany, Supergeheimes Hinter-...
Hallo,

ich habe in meinem Spiel ziemlich viele Entities gleichzeitig auf dem Bildschirm in Aktion. Da es soviele sind, kann ich nicht allen eindeutige Pointer zuweisen, oder zumindest nur temporäre.
D.h. um irgendeine bestimmte Entity zu manipulieren, lasse ich jedes mal eine for-Schleife ("for(temp_ent = ent_next(NULL); temp_ent; temp_ent = ent_next(temp_ent))") durchlaufen, nur um diese dann anhand eines Skills (also "temp_ent.eigenschaft A == 1") ersteinmal zu finden. Danach folgt dann anhand des durch die for-schleife zugewiesenene Pointers "temp_ent" der eigentliche Befehl. So mache ich dies eigentlich bei fast jeder Sache.

Ist das nun eigentlich die übliche Vorgehensweise? Geht das auch einfacher/besser/effektiver? Falls ja, wie würde man soviele unterschiedliche Entites identifizieren und ansprechen?


Version: A8 free
OS: Windows 10
Re: Allgemeine Frage zum Programmieren [Re: gameplan] #408499
10/02/12 13:22
10/02/12 13:22
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Wenn jede entity eine eindeutige / einzigartige Nummer hat könntest du mit einem ENTITY*-Array arbeiten.


POTATO-MAN saves the day! - Random
Re: Allgemeine Frage zum Programmieren [Re: Kartoffel] #408500
10/02/12 13:33
10/02/12 13:33
Joined: Aug 2011
Posts: 133
Germany, Supergeheimes Hinter-...
G
gameplan Offline OP
Member
gameplan  Offline OP
Member
G

Joined: Aug 2011
Posts: 133
Germany, Supergeheimes Hinter-...
Stimmt, daran hab ich auch schon gedacht, und tatsächlich lasse ich beim Erzeugen jeder Entity eine Zählvariable mitlaufen und als Skill zuweisen. Aber müsste ich dann nicht auch wieder, um eine Entity mit einer bestimmten Nummer zu manipulieren, ersteinmal wieder eine for-Schleife zum Finden der Entity laufen lassen?


Version: A8 free
OS: Windows 10
Re: Allgemeine Frage zum Programmieren [Re: gameplan] #408501
10/02/12 13:49
10/02/12 13:49
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Definiere doch einfach ein Array, wie Kartoffel sagte, bspw. wie folgt:

#define MAX_ENEMIES 100

ENTITY* ent_enemies[MAX_ENEMIES];

var enemy_num = 0;

action enemy()
{
ent_enemies[enemy_num] = me;
enemy_num++;
EDIT: hier solltest du natürlich noch prüfen, ob enemy_num < MAX_ENEMIES ist, sonst eine Fehlermeldung ausgeben
...
}


for(i = 0; i < enemy_num; i++)
{
you = ent_enemies[i];
your.pan += 5*time_step;
}

Last edited by Superku; 10/02/12 13:49.

"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends
Re: Allgemeine Frage zum Programmieren [Re: Superku] #408502
10/02/12 14:00
10/02/12 14:00
Joined: Aug 2011
Posts: 133
Germany, Supergeheimes Hinter-...
G
gameplan Offline OP
Member
gameplan  Offline OP
Member
G

Joined: Aug 2011
Posts: 133
Germany, Supergeheimes Hinter-...
Danke für die Antworten. So ein Array für Entites zu verwenden, das heißt direkt über die Pointer, ist mir bisher nicht in den Sinn gekommen und ich werde mir überlegen ob es für meine Zwecke einsetzbar ist.


Version: A8 free
OS: Windows 10
Re: Allgemeine Frage zum Programmieren [Re: gameplan] #408503
10/02/12 14:21
10/02/12 14:21
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Du könntest Dir vielleicht auch eine Hashtable programmieren, wenn Du den Aufwand nicht scheust. Dann könntest Du über Gruppen von Entities, die den gleichen Schlüssel haben, iterieren.


Always learn from history, to be sure you make the same mistakes again...
Re: Allgemeine Frage zum Programmieren [Re: Uhrwerk] #408504
10/02/12 14:29
10/02/12 14:29
Joined: Aug 2011
Posts: 133
Germany, Supergeheimes Hinter-...
G
gameplan Offline OP
Member
gameplan  Offline OP
Member
G

Joined: Aug 2011
Posts: 133
Germany, Supergeheimes Hinter-...
Hm, Hashtable, das übersteigt wohl im Moment meine Programmierkenntnisse. Eigentlich erreiche ich mein Ziel beim Programmieren meist mit eher einfachen Mittlen, und viel Vektor und Matrizen Mathematik. Für die Zuweisung von Eigenschaften und Gruppen zwischen Entites und untereinander verwende ich beispielsweise mehrre Matrizen, in denen Entitynummern andere verknüpfende Informationen abgelegt sind.


Version: A8 free
OS: Windows 10
Re: Allgemeine Frage zum Programmieren [Re: gameplan] #408507
10/02/12 16:02
10/02/12 16:02
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Eine Hashtable ist nicht sonderlich schwer zu programmieren. Ich bin mir sehr sicher, dass Du das schaffen würdest. Wenn Du allerdings mit Deinen Mitteln gut zurecht kommst, dann bleib dabei. Warum Zeit für schwierige Sachen verplempern, wenn man nicht muss. War nur als Anregung gedacht, falls Du mehrfach Verwendung dafür gefunden hättest.


Always learn from history, to be sure you make the same mistakes again...

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1