如何为猜谜游戏编写javascript逻辑

如何为猜谜游戏编写javascript逻辑,javascript,jquery,arrays,json,logic,Javascript,Jquery,Arrays,Json,Logic,我正在尝试制作一个简单版本的猜谜游戏。我有一些全局变量来存储东西,例如 var-allTheCharacters=[]; var allTheCharactersComp=[]; var theHuman=[]//随机字符存储在这里 var计算机=[]//随机字符存储在这里 var-singleChar; [{ “id”:1, “男性”:没错, “女性”:假, “姓名”:“吉米”, “秃头”:假, “黑发”:没错, “白发”:假, “金发”:假, “红头发”:假, “紫色头发”:假, “蓝头发

我正在尝试制作一个简单版本的猜谜游戏。我有一些全局变量来存储东西,例如

var-allTheCharacters=[];
var allTheCharactersComp=[];
var theHuman=[]//随机字符存储在这里
var计算机=[]//随机字符存储在这里
var-singleChar;
[{
“id”:1,
“男性”:没错,
“女性”:假,
“姓名”:“吉米”,
“秃头”:假,
“黑发”:没错,
“白发”:假,
“金发”:假,
“红头发”:假,
“紫色头发”:假,
“蓝头发”:假,
“胡子”:假,
“胡子”:假,
“眼镜”:假的,
“耳环”:假的,
“帽子”:没错,
“棕色皮肤”:没错,
“苍白皮肤”:假,
“图像”:“img/face1.jpg”
}, {
“id”:2,
“男性”:假,
“女性”:没错,
“姓名”:“Vanessa”,
“秃头”:假,
“黑发”:假,
“白发”:假,
“金发”:没错,
“红头发”:假,
“紫色头发”:假,
“蓝头发”:假,
“胡子”:假,
“胡子”:假,
“眼镜”:假的,
“耳环”:假的,
“帽子”:假的,
“棕色皮肤”:假,
“苍白皮肤”:没错,
“图像”:“img/face2.jpg”
}, {
“id”:3,
“男性”:没错,
“女性”:假,
“姓名”:“本杰明”,
“秃头”:没错,
“黑发”:假,
“白发”:没错,
“金发”:假,
“红头发”:假,
“紫色头发”:假,
“蓝头发”:假,
“胡子”:假,
“胡子”:没错,
“眼镜”:假的,
“耳环”:假的,
“帽子”:假的,
“棕色皮肤”:假,
“苍白皮肤”:没错,
“图像”:“img/face3.jpg”
}]
var newGame=函数(){
$('.start button').one('click',函数(事件){
匝数==0;
humanTurn();
//checkForWinner();
圈数==1;
computerTurn();
//checkForWinner();
});
};
$(文档).ready(函数(){
新游戏();
});
//获取价值
函数grabInputValue(){
//在选择提交时单击事件
$(.pickAFeatureBtn”)。在('click',函数(e){
e、 预防默认值();
humanTurn();
控制台日志(转);
});
}
grabInputValue();
函数humanTurn(){
所有字符;
//console.log(所有字符都是comp);
对于(i=allTheCharactersComp.length;i>=0;i--){
//log(所有字符comp[i]);
var singleChar=allTheCharactersComp[i];
// 
$.each(单字符,函数(索引,val){
//console.log(索引,val);
var hasFeature=($('.featureList').val());
if(index==hasFeature&&val==false){
console.log(索引+”:“+val);
//需要从所有字符中删除对象
所有字符组合拼接(索引1);
}
});
}
console.log(所有字符都是comp);
圈数=1;
//控制台日志(转);
};
函数computerTurn(){
//未来。。。
//这是否与humanTurn()代码类似?
};
函数checkForWinner(){
//未来。。。
//检查所有字符。长度=1;
};

检查属性
男性的
女性的
黑发
白发
金发
红发
蓝头发
紫色头发
秃头的
胡须
胡子
玻璃杯
耳环
帽子
绿眼睛
眼眶淤青
黑皮肤
浅色皮肤
因为
splice()
返回删除的元素并更改原始数组

if(index == hasFeature && val == false){
  console.log(index + " : " + val);
  //Need to remove object from allThe Characters
  //allTheCharactersComp = allTheCharactersComp.splice(index, 1);
  allTheCharactersComp.splice(index, 1);
}

您可以使用下面这样的简单代码

代码中有解释

var textCharactersLeft=$(“#charactersLeft”);
var textCharacterToFind=$(“#characterToFind”);
var foundTitle=$(“#found”);
var allTheCharacters=[{id:1,男性:!0,女性:!1,姓名:“吉米”,秃头:!1,“黑发:!0,”白发:!1,“金发:!1,”红发:!1,“紫发:!1,”蓝发:!1,胡须:!1,眼镜:!1,耳环:!1,帽子:!0,“棕色皮肤:!0,“苍白皮肤:!1,图片:“img/face1.jpg”},{id:2,男性:!1,女性:!0,姓名:!SA,!秃头:!1,!白发:,“金发”:!0,“红发”:!1,“紫发”:!1,“蓝发”:!1,胡须:!1,胡须:!1,眼镜:!1,帽子:!1,“棕色皮肤:!1,苍白皮肤:!0,图像:“,img/face2.jpg”},{id:3,男性:!0,女性:!1,姓名:“本杰明”,秃头:!0,“黑发:!1,白发:!0,“金发:!1,红发:!1,“紫色头发:!1,”蓝发“:!1,胡须:!1,胡须:!0,眼镜:!1,耳环:!1,帽子:!1,“棕色皮肤:!1,”苍白皮肤:!0,图像:“img/face3.jpg”}];
text charactersft.text(所有字符.map(c=>c.name).join(“,”);
//计算机字符的可能字符
var charactersLeftForComputer=所有字符;
//人类性格的可能特征
var characterLeftForHuman=所有字符;
//为人类选择一个随机字符
var theHuman=allTheCharacters[Math.floor(Math.random()*allTheCharacters.length-1)];
//为计算机选择一个随机字符
var theComputer=allTheCharacters[Math.floor(Math.random()*allTheCharacters.length-1)];
textCharacterToFind.text(计算机名称);
//将onclick事件添加到“拾取特征”按钮。
$('.pickAFeatureBtn')。在('click',函数(事件){
event.preventDefault();
humanTurn();
});
//调用拾取功能单击
函数humanTurn(){
//获取选定的功能
让selectedFeature=document.querySelector(“.featureList”).value;
//删除所有可能没有此功能的字符。
//如果选择“男性”,则计算机字符为男性。此