• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] übergeordnete objekte aus einem array herausfinden

scheuche

New member
Hi, also ich probiere folgendes und scheitere momentan noch daran. wäre für jede hilfe sehr dankbar
ich entwickle ein taktisches rundenbasiertes rollenspiel und bin im programmieren noch sehr grün hinter den ohren. nun habe ich mehrere objects (spieler/ gegner1 / gegner2 ..) die alle ihre eigene initiative (diese ist jeweils eine eigenschaft des jeweiligen object) haben. ich möchte nun zu beginn ermitteln, wer die höchste - niedrigste initiative hat. ich kam schon auf die idee mir ein array zu erzeugen in dem ich dann die ini-werte speichere:
Code:
 var position = [spieler.initiative, gegner1.initiative, gegner2.initiative]
und dieses sortiere ich dann wiederrum mit
Code:
position.sort
. Soweit so gut. jetzt habe ich position[0] = langsamster, position[1]=mittel, position[2]=schnellster. ich möchte nun anhand von der sortierung im array, auf die objekte per id zugreifen und daran scheitere ich weil javascript nicht weiß wer position[0].. ist (die initiative-werte sind immer zufällig da gegner wechseln etc). vielen dank
 
hö? ich weiß nicht ob mir deine antwort nun weiter hilft:confused: (danke trotzdem!). sortiert habe ich das array ja schon. ich habe nun
Code:
var langsamster = position[0];  var mittlerer = position[1];  var schnellster = position[2]
nun möchte ich ja aber über die drei neuen variablen die EIGENTLICHEN objekte die die jeweilige eigenschaft haben ansprechen. vielleicht hilft das weiter?! also sprich: ich möchte sagen, langsamster (wer auch immer du bist) mach das, mittlerer mach dies und schnellster mache jenes.
 
Zuletzt bearbeitet:
na da kommen wir der sache schon näher^^, aber es sind drei verschiedene objekte die nüschd miteinander zu tun haben, außer das sie alle über die eigenschaft initiative verfügen. geht das trotzdem in die richtung?
 
außer das sie alle über die eigenschaft initiative verfügen.
Das ist die einzige Voraussetzung für diesen Ansatz.

Code:
var player = [spieler, gegner1, gegner2];
var sortedByInitiative = player.sort(function(a, b){
	if (a.initiative < b.initiative){
		return -1;
	}
	if (a.initiative > b.initiative){
		return 1;
	}
	return 0;
});
var smallestInitiative = sortedByInitiative[0];
 
Zurück
Oben