猜数字,萌新求大神解答,谢谢!

The_Capricorn 2017-03-27 03:59:08
JavaScript 使用Math方法才1~20之间的随机数,可以连续猜10次,如果猜的比随机数大,则输出“你猜大了”,小就输出“你猜小了”,猜中了就输出“你猜中了,数字是**”,应该怎么写?
...全文
125 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Psyduckzzzz 2017-03-29
  • 打赏
  • 举报
回复
利用if循环来实现,Math实现取值范围!
Psyduckzzzz 2017-03-29
  • 打赏
  • 举报
回复
<script type="text/javascript">
var i;
var nums=prompt("请输入数字:","5");
var num=Math.ceil(Math.random()*20+1); //取值在1--20之间
for(i=1;i<10;i++){
if(nums==num){
alert("恭喜您,猜对了");break; }else if(nums<num){
nums=prompt("数字太小了,请重新进行第"+(i+1)+"次 输入","");

} else{

nums=prompt("数字太大了,请重新进行第"+(i+1)+"次 输入","");
}
if(i==9){
alert("没机会了");
}

}

</script>
天际的海浪 2017-03-27
  • 打赏
  • 举报
回复

<html>

<head>
<title>猜数游戏</title>
<style type=text/css>
*  { font-size: 14px; line-height: 150%; }
</style>
<script language=javascript>
var times;  //猜数次数
var t;  //猜数用时
var number;  //随机数
var timer;  //定时器

function play()  //游戏开始
{
  clearInterval(timer);  //清除上一次的计时
  times=0;  //次数归零
  t=0;  //用时归零
  note.innerHTML="";  //清除上一次游戏的提示
  number=Math.floor(Math.random()*parseInt(max.innerText))+1;  //生成随机数
  line.style.display="";  //显示计时和结束按钮行
  note.style.display="";  //显示提示
  slt.disabled=true;  //禁用最到数值范围选择框
  num.disabled=false;  //解除输入框的禁用状态
  num.focus();  //让输入框自动得到焦点
  time.innerText=t++;  //开始计时
  timer=setInterval("time.innerText=t++",1000);  //计时
}

function guess()  //猜数
{
  if(!/^\d+$/.test(num.value)||/^0/.test(num.value))
  {
    alert("您应该输入一个大于0的整数!");
    num.value="";
    num.focus();
    return;
  }
  var n=parseInt(num.value);  //这次猜的数
  times++;  //次数自加
  if(n>parseInt(max.innerText))  //如果大于最大值
    note.innerHTML="<br>第 "+times+" 次,您猜的是:<span style='color:red;'>"+n+"</span>,超出了 1~"+max.innerText+" 的范围!"+note.innerHTML;
  else if(n>number)  //如果大于这个数
    note.innerHTML="<br>第 "+times+" 次,您猜的是:<span style='color:red;'>"+n+"</span>,<span style='color:red;'>大于</span>这个数;"+note.innerHTML;
  else if(n<number)  //如果小于这个数
    note.innerHTML="<br>第 "+times+" 次,您猜的是:<span style='color:red;'>"+n+"</span>,<span style='color:red;'>小于</span>这个数;"+note.innerHTML;
  else  //排除以上情况,则是等于这个数
  {
    alert("恭喜您!您在第 "+times+" 次猜对了这个数字:"+number+",共用时 "+t+" 秒。\n本次游戏结束!\n点击开始按钮可以进行下一次游戏。");
    over(false);
  }
  num.value="";  //清空输入框
  if(n!=number)  //如查没有猜对
    num.focus();  //输入框得到焦点以进行下一次输入
}

function over(notEnd)
{
  if(notEnd)  //如果提前结束游戏
    alert("真笨啊,这个数字是 "+number+",本次游戏结束!\n点击开始按钮可以进行下一次游戏。");
  clearInterval(timer);  //停止计时
  line.style.display="none";  //隐藏计时和结束按钮行
  note.style.display="none";  //隐藏提示
  num.value="";
  num.disabled=true;  //禁用数字输入框
  slt.disabled=false;  //解除选择框的禁用状态
}

function hotKey()  //定义快捷键,当body的onkeydown事件激发时执行
{
  if(event.ctrlKey)  //如果按下了Ctrl键
  {
    if(event.keyCode==13 && note.style.display=='none')  //Ctrl+Enter且当前游戏没有开始
      play();
    if(event.keyCode==83 && note.style.display=='')  //Ctrl+S且当前游戏正在进行
      over(true);
  }
}
</script>
</head>

<body onkeydown="hotKey();">
<br>
<!-- 生成游戏的界面 -->
<table width=400 align=center style="border: 1px solid black;" cellpadding=15>
  <tr>
    <td>
      <h2 style="font-size:16px;" align=center>猜数游戏</h2>
      <b>游戏说明:</b>随机生成一个 1 到
      <select onchange="max.innerText=this.options[this.selectedIndex].text" id=slt>
      <script language=javascript>
        for(var i=100; i<=1000; i+=100)
          document.writeln("<option>"+i+"</option>");
      </script>
      </select>
      的数字,用尽可<br><b>     </b>能少的时间和次数猜对这个数字。<br><br>
      <button onclick="play();" style="width:350px;">生成一个 <span style="color:red;">1</span> 到
      <span style="color:red;" id=max>100</span> 的数字开始游戏(Ctrl+Enter)</button><br><br>
      <b>请输入您要猜的数:</b><input id=num size=4 onkeydown="if(event.keyCode==13&&!event.ctrlKey)guess();" disabled>(输入数字后回车)<br>
      <span id=line style="display:none;"><br><b>开始计时:</b><span id=time style="color:red;">0</span> 秒
      <input type=button value=结束游戏并查看答案(Ctrl+S) style="height:25px;width:210px;color:green;" onclick="over(true)"><br></span>
      <span id=note style="display:none;"><br></span>
    </td>
  </tr>
</table>
</body>

</html>

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧