2018.07.25 HTML+CSS+JS小项目猜数字

时间:2018.07.25 大一学期末暑假
地点:成都-实习
项目类型:网页结合js制作的猜数字
制作时间:两天

网页源码:

<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>无标题文档</title>
</head>

<body>
<div class="rule">
    <h2>欢迎来到猜数字!</h2><br>
        <p>
        <b>规则介绍:</b><br>
        当前,<b>您有8次猜数字的机会</b><br>
        <b style="font-weight: 600;color: #E00003;">系统将会随机生成一个0~100以内且生成后不变的数字</b><br>
        <b>您输入一个0~100以内的数字后</b>,系统会判断是否与随机生成的数字吻合<br>
        <b>如果您输入的偏大,则会告知偏大,同理偏小则告知偏小</b><br>
        8次机会如果能猜出,则胜利,否则将失败!<br>
        </p>
</div>
<div class="userscan">
    <p>请在下面输入您决定的数字:
    <br>
    <form id="formstyle">
        <input type="number" name="usernum"  id="textbox">
        <button type="button" id="submitbox" onClick="userNumber()">提交</button>
        </form>
    </p>

</div>
<div class="judgeview">
    <p id="judgep1">请输入您的数字!<span id="judge"></span></p>

    <p id="judgep2">当前您还剩:<span id="chance"></span> 次机会</p>

</div>

样式代码:

@charset "utf-8";
/* CSS Document */

/*规则样式*/
    *{
        margin: 0;
        padding: 0;
    }
    body{
        font-family: "微软雅黑";
        font-weight: 100;
        width:auto;
        height: auto;
    }
    b{
        font-weight: 500;
    }
    .rule{
        text-align: center;
        background: linear-gradient(to right ,#00FF84,#00E3FF);

        padding: 30px;
    }
    .rule h2{
        word-spacing:50px;
    }
    .rule p{

        font-size: 18px;
    }
    form{
        display: inline;
    }
    /*用户输入界面*/
    .userscan{
        background: linear-gradient(to right ,#000,#C8C8C8);
        text-align: center;
        position: relative;
        padding: 50px;
        width:auto;
        height: 20%;
    }
    .userscan p{
        margin: auto;
        color: #FFFFFF;
        width:100%;
    }
    .userscan form{
        display: block;
        margin: 2% 0 0 0;
        padding: 0 5% 0 0;
    }
    #textbox{
        margin: auto;
        border-radius:20px 0 0 20px;
        border:1px solid #9F9F9F;
        width:10%;
        height:50px;
        outline:none;
        font-size:24px;
        border: none;

    }
    #submitbox{
        border: none;
        margin: auto;
        display:inline;
        border-radius:0px 20px 20px 0px;
        position: absolute;
        border:1px none #000;
        background: linear-gradient(to right ,#1CBFFF,#3A9FFF);
        width:5%;
        height:50px;
        color: #FFFFFF;
        font-size:16px;
        font-weight:600;
        outline:none;
        font-size:20px;
        margin-left: -5px;
    }
    /*判断界面*/
    .judgeview{
        width: 100%;
        height:400px;
        background: linear-gradient(to right ,#C000FF,#F0FF00);
    }
    .judgeviwe p{
        display: none;


    }
    #judgep1{
        width: 100%;
        height:30%;
        text-align: center;
        padding:80px 0 0 0px;
        font-size: 24px;
        font-weight: 600;

    }
    #judgep2{
        width: 100%;
        height:40%;
        text-align: center;
        padding:20px 0 0 0px;
        font-size: 24px;
    }
    #randwindow{
        display:block;
    }
    #judge{
        font-size: 50px;
        color:#FD0000;
    }
    #chance{
        color:#FD0000;
        font-weight: 600;
        font-size: 40px;
    }

js代码:

// JavaScript Document
//对移动设备进行样式适
    if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){
        alert("test");
        document.getElementById("textbox").style.width="35%";
        document.getElementById("submitbox").style.width="20%";
    }

    //定义系统随机生成的数字,声明用户的数字
    var systemnum = Math.round(Math.random()*100); 
    var usernum;
console.log(judge)
    //声明计数变量,用于储存用户剩余机会
    var index = 8;
    document.getElementById("chance").innerHTML=index;

    //对数字进行处理的方法    
    function userNumber(){

        //储存用户提交数据
        usernum = document.getElementById("textbox").value; 

        //参数过滤
        if( usernum < 0 || usernum > 100 || usernum == ''){
            //替换空字符为“空”
            if(usernum == ''){
                usernum = "空";
            }
            //弹出警告
            alert("您输入的数字不合法!请重新输入!不允许为:" + usernum + " !" );
            return;
        }

        //判断结果
        if(systemnum < usernum){
            document.getElementById("judgep1").innerHTML=`您输入的结果:<span id="judge">偏大</span>`;
        }
        else if(systemnum > usernum){
            document.getElementById("judgep1").innerHTML=`您输入的结果:<span id="judge">偏小</span>`;
        }
        else{
            index = - 1;
            document.getElementById("judgep2").innerHTML=`你猜对了!YOU WIN!`;
            document.getElementById("judgep1").innerHTML=`正确数字就是:<span id="judge">` + systemnum + `~</span>`;
            document.getElementById("submitbox").disabled=true;
            return; 
        }

        //判断机会余额
        if(index == 0){
        document.getElementById("judgep2").innerHTML=`您已失败!!!正确的数字是:` + systemnum + `~` ;
        alert("您的机会已经用完!!!");
        return;
        }else if( index == -1){
            return;
        }

        //机会减少
        index--;
        document.getElementById("chance").innerHTML=index;

        return;

    }

总结:时隔大半年,重温了一个星期的HTML和CSS,花了几天快速学习JS,写的一个可以玩的网页小项目

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,让我们来创建一个猜数字小游戏。 首先,我们需要一个 HTML 页面来构建游戏界面。在页面中添加一个标题和一个输入框,用于玩家输入猜测的数字。我们还需要一个按钮来提交猜测。 ```html <!DOCTYPE html> <html> <head> <title>猜数字游戏</title> <style> body { text-align: center; } h1 { font-size: 36px; margin-top: 50px; } input { margin-top: 20px; font-size: 24px; padding: 5px; } button { margin-top: 20px; font-size: 24px; padding: 5px 10px; } #result { margin-top: 20px; font-size: 24px; } </style> </head> <body> <h1>猜数字游戏</h1> <input type="number" id="guess" placeholder="输入数字" /> <button id="submit">提交</button> <div id="result"></div> <script src="game.js"></script> </body> </html> ``` 接下来,我们将使用 JavaScript 编写游戏逻辑。我们需要生成一个随机数作为答案,并在玩家提交猜测后检查猜测是否正确。 ```javascript // 生成随机数作为答案 const answer = Math.floor(Math.random() * 100) + 1; // 获取输入框和按钮元素 const guessInput = document.getElementById('guess'); const submitBtn = document.getElementById('submit'); // 获取结果元素 const resultEl = document.getElementById('result'); // 当玩家提交猜测时,检查猜测是否正确 submitBtn.addEventListener('click', () => { const guess = Number(guessInput.value); if (isNaN(guess)) { resultEl.innerText = '请输入数字'; } else if (guess === answer) { resultEl.innerText = '恭喜你猜对了!'; } else if (guess > answer) { resultEl.innerText = '太大了,请重新猜测'; } else { resultEl.innerText = '太小了,请重新猜测'; } }); ``` 最后,我们需要添加一些样式来美化游戏界面。我们将按钮和结果文本居中显示,并使用不同的颜色来表示不同的结果。 ```css body { text-align: center; } h1 { font-size: 36px; margin-top: 50px; } input { margin-top: 20px; font-size: 24px; padding: 5px; } button { margin-top: 20px; font-size: 24px; padding: 5px 10px; background-color: #3498db; color: #fff; border: none; border-radius: 5px; cursor: pointer; } #result { margin-top: 20px; font-size: 24px; color: #e74c3c; } ``` 完成后,我们可以将 HTMLCSS 和 JavaScript 文件保存到同一文件夹中,并在浏览器中打开 HTML 文件,即可开始玩猜数字小游戏。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值