Formationen

Neue Frage »

Auf diesen Beitrag antworten »
Tommy1234 Formationen

Hallo,

ich möchte einheiten auf einem orthogonalen 2d Grid formatieren.

Tendenziell soll das ganze in Richtung aoe2 gehen.

Im Moment gehe ich das ganze so durch das ich aus einer liste die jeweilige id rausnehme also z.B. isses ein peasant oder ein Bogenschütze usw. und diese dann nachdem der erste am ziel angekommen ist abhängig von dessen Blickrichtung formatiere. Soll heißen milliz vorne dann nahkämpfer usw. und hinten die artillerie.
Das ganze bereitet mir allerdings Schwierigkeiten hinsichtlich der Überschaubarkeit und meinen symmetrievorstellungen ^^. Mal angenommen ich habe 5 millizen,die stehen, mit Blickrichtung nach oben, nebeneinander. Dahinter dann 3 Bogenschützen und dahinter dann drei Katapulte.

Meine Frage ist wie erzeugt man annähernd symmetrische reihen, ob nun einer fehlt oder nicht ist egal?
Und anhand welchen wertes entscheide ich wie breit eine reihe nun ist z.b 5 oder 10 in einer reihe ( bei mehreren einheiten)?


In meinem Beispiel wäre meine Absicht alles in 3er Reihen zu positionieren.

Also: 3 Millizen dahinter 2 millizen dahinter wiederum 3 Bogenschützen und wiederum hinter denen 3 Katapulte.

Hier mal etwas Codeunglücklich JAVA)

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:

if(winner != null) {
				
    entities.remove(winner);
				
    if(winner.path != null) {
        if(winner.path.size() == 0) {
	    if(winner.lastdirection==0) {
		while(!entities.isEmpty()) {
		    next = Collections.min(entities);
			if(next.type == "peasant") {
			    next.path = TiledMap.findPath((int)next.tileposition.x,(int)next.tileposition.y,(int)winner.tileposition.x+2,(int)winner.tileposition.y);
		        }
			if(next.type == "archer") {
				next.path = TiledMap.findPath((int)next.tileposition.x,(int)next.tileposition.y,(int)winner.tileposition.x%4,(int)winner.tileposition.y/4);
		        }
			winner = next;
			entities.remove(next);
		}
          }
     }
}

 
Auf diesen Beitrag antworten »
Tommy1234

nachtrag:

ich speichere jetz die gewünschte Formation abhängig von der benutzereingabe (button) in einer liste also z. B.

A A A A A A A
R R R R R R R
K K K K K K K

und übertrage diese dann auf die einehiten mal sehen obs klappt. Mehr Ideen hab ich grade nicht
Auf diesen Beitrag antworten »
Tommy1234

Hat sich erledigt
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »