मैंने स्टैक ओवरव्लो में अन्य सुझावों को खोज और कोशिश कर रहा है। दुर्भाग्यवश उत्तर मेरे लिए काम नहीं कर रहे हैं। वे 'के लिए' के बजाय 'foreach' का उपयोग करने का सुझाव दे रहे हैं, लेकिन मैं कैसे कर सकता हूं ... अगर मैं केवल 50 बार फिर से शुरू करना चाहता हूं? : <जेएसलिंट: अप्रत्याशित 'के लिए'। अप्रत्याशित 'var'
ठीक है, मैं बस कोड पेस्ट कर दूंगा और देखते हैं कि कुछ अच्छे लोग मेरी मदद कर सकते हैं या नहीं।
JSLint समाप्त करने में असमर्थ था।
अप्रत्याशित 'के लिए'। के लिए (var i = 1; i < = 50; i + = 1) {
लाइन 6 कॉलम 8अप्रत्याशित 'var'। के लिए (वर मैं = 1; मैं < = 50; i + = 1) {
लाइन 6 स्तंभ 13
"use strict";
var campo = [];
var ronda = 0;
// Llenamos el campo de 50 humanos/maquinas/extraterrestres = 150 jugadores
for (var i=1;i<=50;i+=1){
campo.push(new Human("h"+i));
campo.push(new Machine("m"+i));
campo.push(new Alien("e"+i));
}
// Array.prototype.suffle para barajar el Array
Array.prototype.shuffle = function() {
var input = this;
for (var i=input.length-1;i>=0;i-=1){
var randomIndex = Math.floor(Math.random()*(i+1));
var itemAtIndex = input[randomIndex];
input[randomIndex]=input[i];
input[i] = itemAtIndex;
}
};
// Barajamos el Array campo
campo.shuffle();
// Comprobamos que quedan más de 1 jugador por ronda
while (campo.length>1) {
console.log("Iniciando ronda: " + ++ronda);
console.log(campo.length + " jugadores luchando.");
// Recorremos el campo, y luchamos
var muertos = 0;
for (var i=0; i<campo.length-1; i+=2){
// Caso de numero impar de jugadores:
// Por ejemplo cuando solo quedan 3 jugadores. Pelean 1 vs 2. El 3 se libra.
// - Si siguen vivos y aguantan otra ronda, se barajan las posiciones otra vez y
// vuelven a pelear dos. Y el nuevo tercero no pelea.
// - Si uno de los dos muere, en la siguiente ronda ya solo quedan 2, y pelean normal.
campo[i].fight(campo[(i+1)]);
// # descomentar solo la siguiente linea para hacer comprobaciones #
// console.log("["+ campo[i].username + "] VS ["+ campo[(i+1)].username + "]");
if (campo[i].health<=0) {
console.log("El " + campo[i].constructor.name + " llamado " + campo[i].showName() + " ha sido asesinado :<");
var fallecido = campo.splice(i, 1);
// # descomentar solo la siguiente linea para hacer comprobaciones #
//console.log(fallecido[0]);
i--; // como el array se hace pequeño, hay que corregir el error para que no se salte jugadores
muertos++;
} else {
if (campo[(i+1)].health<=0) {
console.log("El " + campo[(i+1)].constructor.name + " llamado " + campo[(i+1)].showName() + " ha sido asesinado :<");
var fallecido = campo.splice((i+1), 1);
// # descomentar solo la siguiente linea para hacer comprobaciones #
// console.log(fallecido[0]);
i--; // como el array se hace pequeño, hay que corregir el error para que no se salte jugadores
muertos++;
}
else {
// # descomentar solo la siguiente linea para hacer comprobaciones #
// console.log("Siguen vivos");
}
}
}
console.log("Fin de ronda!")
if (muertos === 1) {
console.log("Ha muerto " + muertos + " jugador.");
} else {
console.log("Han muerto " + muertos + " jugadores.");
}
// Al final de la ronda barajamos de nuevo
campo.shuffle();
}
if (campo.length === 1) {
console.log("Vaya!! Ha sido una memorable batalla!");
console.log("Después de tantos bits derramados y de " + ronda + " rondas... el jugador '" + campo[0].constructor.name + "' llamado '" + campo[0].showName() + "' se ha alzado con la victoria!!");
}
वहाँ कोड में के लिए कुछ अन्य हैं, लेकिन यह कम से रोकने के लिए लगता है पेहला। अग्रिम धन्यवाद! कहने के लिए भूल गए, कोड PERFECT काम करता है। लेकिन मैं इसे जेएसलिंट के साथ मान्य कर रहा था, जेएसलिंट में चेतावनियों के लिए 'सहनशील' भी काम नहीं करता है।
यह सिर्फ Crockford, बेवकूफ जा रहा है फिर से, तुमसे कह 'for' छोरों कभी इस्तेमाल किया जा कभी नहीं करना चाहिए है। मैं बस इसे अनदेखा करूँगा। – adeneo
यह प्रश्न इंगित करता है कि इस चेतावनी को 'सहन करने के लिए' अनदेखा करने का विकल्प है। http://stackoverflow.com/questions/30518554/jslint-unexpected- – miltonb
हाँ, इसे अनदेखा करना सबसे अच्छा होना चाहिए ... लेकिन मैं वास्तव में यह जानना चाहता हूं कि इससे कैसे निपटें। मुझे पता है कि इस "समस्या" के साथ बहुत सारे धागे हैं लेकिन कोई भी मेरे लिए काम नहीं करता है।वैसे भी शुक्रिया! –