游戏-猜数字

结果如下:
在这里插入图片描述代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    #div1{
        width:270px;
        height:372px;
        background:url("img/timg.jpg") no-repeat;
        margin:0 auto;
        position:relative;
    }
    #div1 p{
        position:absolute;
        bottom:60px;
        left:0;
        width:100%;
        text-align:center;
    }
    </style>
</head>
<body>
    <button id="start">游戏开始</button>
    <input type="text" placeholder="请输入你猜的数字" id="number">
    <button id="btn">确定</button>
    <p>本次游戏猜测的次数:<span>0</span></p>
    <p>游戏最快记录:<span>0</span></p>       <!--表示最快几次猜到-->
    <div id="div1">
        <p id="p1"></p>
    </div>
    <script>
        var oStart=document.getElementById("start");
        var oNumber=document.getElementById("number");
        var oBtn=document.getElementById("btn");
        var aSp=document.getElementsByTagName("span");
        var oP=document.getElementById("p1");
        var iRandom=0;     //随机生成数
        var flag=false;   //控制是否开启游戏,否则没点开始游戏按钮,就能开始
        var iNow=0;    //当前游戏猜测的次数
        oStart.onclick=function(){
            iRandom=Math.round(Math.random()*99+1);
            oP.innerHTML="我已经记住了一个数字";
            flag=true;    //点击开始按钮,让flag开启
            // iNow=0;        //因为iNow是全局变量,所以每次游戏开始之前要让它请0
            aSp[0].innerHTML=iNow=0;
            oNumber.value="";
        }
        oBtn.onclick=function(){
            if(flag){
                if(oNumber.value!="" && parseInt(oNumber.value)==oNumber.value){//判断输入的是不是数字
                    // iNow++;    //每点击一次确认,让次数增加1
                    aSp[0].innerHTML = ++iNow;

                    // if(oNumber.innerHTML>iRandom+20){
                    //     oP.innerHTML="你的数字太大了";
                    // }else{
                    //     oP.innerHTML="你的数字有点大";
                    // }
                    // 换成三元运算
                    if(oNumber.value>iRandom){
                        oP.innerHTML=oNumber.value>iRandom+20 ? "你的数字太大了" :"你的数字有点大";
                    }else if(oNumber.value<iRandom){
                        oP.innerHTML=oNumber.value<iRandom-20 ? "你的数字太小了" :"你的数字有点小";
                    }else{
                        oP.innerHTML="你猜对了!";
                        flag=false;   //当猜对了就关掉flag,然后重新点击开始按钮,进行新一轮的游戏
                        if(aSp[1].innerHTML=="0"){
                            aSp[1].innerHTML=iNow;
                        }else if(iNow<aSp[1].innerHTML){
                            aSp[1].innerHTML=iNow;
                        }
                    }
                }else{
                    oP.innerHTML="请输入一个正整数";
                }
            }else{
                oP.innerHTML="请先开始游戏";
            }
        }
    </script>
</body>
</html>
猜数字游戏是一种玩家与电脑进行互动的游戏,在游戏开始时,电脑会随机生成一个1-1000之间的数字作为答案。然后玩家通过键盘输入猜测的数字,电脑会根据玩家的猜测给出相应的提示,提示玩家猜的数字是太大了还是太小了,直到玩家猜中答案或者猜测次数达到上限。如果玩家猜中了答案,游戏结束并给出恭喜的提示,如果猜测次数达到上限,游戏也会结束并给出相应的提示。 以下是一个Python的猜数字游戏的示例代码: ```python import random def guess_number(): answer = random.randint(1, 1000) chances = 10 print("游戏规则:") print("1、随机生成一个1-1000之间的数。") print("2、10次猜数字的机会,如果没有猜正确,游戏结束。") print('3、输入字母"q",则退出游戏。') print() for i in range(chances): print(f"第{i + 1}次猜数字") guess = input("请输入[1-1000]之间的数字:") if guess.isdigit(): guess = int(guess) if guess < answer: print(f"您输入的数字太小了,您还有{chances - i - 1}次机会,请重新输入:") elif guess > answer: print(f"您输入的数字太大了,您还有{chances - i - 1}次机会,请重新输入:") else: print(f"你只用了{i + 1}次就猜对啦,好腻害呀~") break elif guess == "q": print("退出游戏!") break else: print("输入的内容必须为整数,请重新输入:") if i + 1 == chances: print("您输入已经超过10次,游戏结束!") guess_number() ``` 这个示例代码中,我们使用了`random`模块来随机生成一个1-1000之间的数字作为答案。在每次循环中,根据玩家的猜测与答案的比较给出相应的提示,同时记录猜测的次数。如果玩家猜中答案,输出恭喜的提示并结束游戏;如果玩家输入"q",则退出游戏;如果猜测次数达到上限,输出游戏结束的提示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值