因此,这是我存储变量的信息,供计算机选择和玩家用于剪刀石头布游戏的选择:bot and user choice,站点的外观如下:the site。因此,我这样做的目的是使函数能够考虑这些条件并警告事件发生(例如:“您赢”或“您输”)。但是,它忽略了前两个条件,并直接转到最后一个“ else”,即使计算机选择的“ oo”例如是石头而您选择的是纸,也可以警告游戏并列。现在,老实说,我不知道如何解决此问题,因为它不会根据我的条件检测到任何错误,并且不会说变量是否存储错误,因此请帮助我解决这个问题,以及选择计算机时该部分上方的所有部分, “ oo”,并且存储的用户选择不是我做出的,我正在使用此作品(https://codepen.io/Re3ker/pen/VYBXBj)来改进我的格式(仅用于个人项目)
这是脚本的代码:
$(document).ready(function(){
var users = [],
shuffled = [],
loadout = $("#loadout"),
insert_times = 30,
duration_time = 10000;
$("#roll").click(function(){
users = [];
var lines = $('textarea').val().split('\n');
if(lines.length < 2){
$("#msgbox").slideToggle(100);
setTimeout(function() {
$("#msgbox").slideToggle(100);
}, 3000);
return false;
}
for(var i = 0;i < lines.length;i++){
if(lines[i].length > 0){
users.push(lines[i]);
}
}
$("#roll").attr("disabled",true);
var scrollsize = 0,
diff = 0;
$(loadout).html("");
$("#log").html("");
loadout.css("left","100%");
if(users.length < 10){
insert_times = 20;
duration_time = 5000;
}else{
insert_times = 10;
duration_time = 10000;
}
for(var times = 0; times < insert_times;times++){
shuffled = users;
shuffled.shuffle();
for(var i = 0;i < users.length;i++){
loadout.append('<td><div class="roller"><div>'+shuffled[i]+'</div></div></td>');
scrollsize = scrollsize + 192;
}
}
diff = Math.round(scrollsize /2);
diff = randomEx(diff - 300,diff + 300);
$( "#loadout" ).animate({
left: "-="+diff
}, duration_time, function() {
$("#roll").attr("disabled",false);
$('#loadout').children('td').each(function () {
var center = window.innerWidth / 2;
if($(this).offset().left < center && $(this).offset().left + 185 > center){
var userChoice=document.querySelector('input[name="one"]:checked').value;
var oo = $(this).children().text();
var a="rock";
var b="paper";
var c="scissors";
if(((userChoice=="paper")&&(oo==a))||((userChoice=="rock")&&(oo==c))|| ((userChoice=="scissors")&&(oo==b))){
alert("You wins! ");
}else if(((userChoice=="rock")&&(oo==b)) || ((userChoice=="paper")&&(oo==c))|| ((userChoice=="scissors")&&(oo==a))){
alert("you lose! ");
}else{
alert("A tie, PLAY AGAIN");
}
$("#log").append("The computer chose \n"+oo);
}
});
});
});
Array.prototype.shuffle = function(){
var counter = this.length, temp, index;
while (counter > 0) {
index = (Math.random() * counter--) | 0;
temp = this[counter];
this[counter] = this[index];
this[index] = temp;
}
}
function randomEx(min,max){
return Math.floor(Math.random()*(max-min+1)+min);
}
});
答案 0 :(得分:0)
Nvm,条件和变量已正确存储,但我使用textarea作弊:
岩石 纸 剪刀
从头到“石头”,“纸”和“剪刀”开始计算的空间。所以我要做的就是让它坚持到开始,之间没有任何间距