Во-первых, мои извинения, если название вообще расплывчато, я довольно новичок в javascript.
Когда этот код выполняется, он должен создать 2 окна предупреждений. Один для каждой из характеристик Боба К. Конечно, все характеристики Боба 2 сейчас не определены, потому что я не могу понять, как заставить мою функцию SpawnInnerCharacteristics применять ко всем моим людям.
Мне нужно выяснить, как присваивать bob2 (и будущему bob3, и bob 4, и т. Д.) Свои собственные внутренние характеристики из функции внутренних характеристик. Для этого мне нужна помощь с А) Смена «Боба». внутри функции spawnInnerCharacteristics что-то, что может вместить больше, чем просто этот особый боб. и B) повторно запустить функцию SpawnInnerCharacteristics для каждого нового созданного Боба, чтобы у всех них были свои уникальные характеристики. И что бы я ни пропустил, чтобы эти две вещи происходили правильно.
Кроме того, необязательный третий вопрос, пока мы на нем, как бы мне было сгенерировать случайное количество бобов (каждый из которых содержал свои собственные внутренние характеристики с использованием моей функции SpawnInnerCharacteristics, а не копий)?
function rand(maxvalue) {
return Math.floor(Math.random() * Math.floor(maxvalue));
}
function person(id, c, nrg, e, K_, E_, D_, A_, C_, G_, B_, M_, SM_, V_, S_, T_, X_, H_, Z_,int_){
this.id = id;
this.color = c;
this.nrg = nrg;
this.ec = e;
this.K = K_;
this.E = E_;
this.D = D_;
this.A = A_;
this.C = C_;
this.G = G_;
this.B = B_;
this.M = M_;
this.SM = SM_;
this.V = V_;
this.S = S_;
this.T = T_;
this.X = X_;
this.H = H_;
this.Z = Z_;
this.int = int_;
}
var Mom = new person(1,"c","nrg","brwn", "K kbr", "E e", "d d", "Ay Ay", "c c", "g g", "B B", "m m", "Ay Ay", "v v", "S S", "Td Td", "X X", "h h", "Z Z", 2);
var Dad = new person(2,"c","nrg","black", "k kbr", "E E", "d d", "Ay Ay", "c c", "g g", "B B", "m m", "Ay Ay", "v v", "S S", "Td Td", "X X", "h h", "Z Z", 5);
var Bob = new person(spawnInnerCharacteristics);
var Bob2 = new person(spawnInnerCharacteristics);
function spawnInnerCharacteristics(){
Bob.K = physicalCharacteristics(Mom.K, Dad.K)
Bob.E = physicalCharacteristics(Mom.E, Dad.E)
Bob.D = physicalCharacteristics(Mom.D, Dad.D)
Bob.A = physicalCharacteristics(Mom.A, Dad.A)
Bob.C = physicalCharacteristics(Mom.C, Dad.C)
Bob.G = physicalCharacteristics(Mom.G, Dad.G)
Bob.B = physicalCharacteristics(Mom.B, Dad.B)
Bob.M = physicalCharacteristics(Mom.M, Dad.M)
Bob.SM = physicalCharacteristics(Mom.SM, Dad.SM)
Bob.V = physicalCharacteristics(Mom.V, Dad.V)
Bob.S = physicalCharacteristics(Mom.S, Dad.S)
Bob.T = physicalCharacteristics(Mom.T, Dad.T)
Bob.X = physicalCharacteristics(Mom.X, Dad.X)
Bob.H = physicalCharacteristics(Mom.H, Dad.H)
Bob.Z = physicalCharacteristics(Mom.Z, Dad.Z)
Bob.int = mentalCharacteristics(Mom.int, Dad.int)
return spawnInnerCharacteristics;
function physicalCharacteristics(a, b){
var PA = [a.split(" ") , b.split(" ")];
var AM = PA[0];
var AD = PA[1];
var CA = AD[Math.floor(Math.random()*AD.length)];
var LA = AM[Math.floor(Math.random()*AM.length)];
return LA + " " + CA;
}
function mentalCharacteristics(a, b){
return ((a*1 + b*1) /2 + rand(3));
}
}
spawnInnerCharacteristics();
window.alert("This is bob 1's K characteristic. Every once in a while, if the code is working how I'd like it to, the K's will vary between the two bobs: " + Bob.K);
window.alert("This is bob 2's K characteristic.: " + Bob2.K);