Web应用小案例:猜数小游戏

Web应用小案例:猜数小游戏

项目实现步骤:
1.创建Web项目NumberGuess_class
Web应用小案例:猜数小游戏_第1张图片
Web应用小案例:猜数小游戏_第2张图片
2.在Web目录下创建一个首页文件index.html
Web应用小案例:猜数小游戏_第3张图片
在里面键入一下代码
Web应用小案例:猜数小游戏_第4张图片
3.在Web目录中创建一个numguess的jsp文件

Web应用小案例:猜数小游戏_第5张图片
Web应用小案例:猜数小游戏_第6张图片
由于每次进网页,num变量没有值,所以会出现错误,因此我们需要使用try catch来进行错误处理,并且将错误信息打印在服务器端。

Web应用小案例:猜数小游戏_第7张图片
最后补充全部代码:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Number Guess Game</title>
</head>
<body>
    <p id="prompt"></p>
    <span id = "tt">I'm thinking of a number betweem 1 and 100.</span><br>
    <form method="get" id="fm">
        What's your guess?
        <input type="text" name="num">
        <input type="submit" value="submit">
    </form>
    <%
        int target = 0;
        if (session.getAttribute("target") == null) {
            //产生[1-100]之间的随机整数
            target = (int)(Math.random() * 100) + 1;
            //将猜测结果保存到session中
            session.setAttribute("target",target);
        } else {
            //从session中获取猜测目标随机整数
            target = (int) session.getAttribute("target");
        }

        //猜测次数
        int count = 0;
        if (session.getAttribute("count") == null) {
            //在session里创建count属性
            session.setAttribute("count",0);
        } else {
            //从session里取出count属性值
            count = (int)session.getAttribute("count");

        }

        //提示信息
        String message = "";
        try {
            //获取用户猜的数字
            int num = Integer.parseInt(request.getParameter("num"));//这儿会出现异常,需要使用try.catch进行处理
            //对用户猜的数字进行判断
            if (num > target) {
                count ++ ;
                //将猜测次数写入session中
                session.setAttribute("count",count);
                if (count > 1) {
                    message = "Good guess,but nope.Try lower. You have made" + count + "guesses.";
                } else {
                    message = "Good guess,but nope.Try lower. You have made" + count + "guess.";
                }

            } else if (num < target) {
                count ++ ;
                //将猜测次数写入session中
                session.setAttribute("count",count);
                if (count > 1) {
                    message = "Good guess,but nope.Try higher. You have made" + count + "guesses.";
                } else {
                    message = "Good guess,but nope.Try higher. You have made" + count + "guess.";
                }
            } else {
                count ++;
                message = "Congratulations!You got it.And after just " + count + "tries.
" + "Care to try again ?"; //删除session里的猜测目标与猜测次数 session.removeAttribute("target"); session.removeAttribute("count"); } } catch (NumberFormatException e) { System.err.println("error :" + e.getMessage());//在服务器端打印错误信息,并不会出现在客户端 } %> <script> var message = "<%= message %>"; var prompt = document.getElementById("prompt"); if (message.charAt(0) == "C") { document.getElementById("tt").hidden = true; document.getElementById('fm').hidden = true; } prompt.innerHTML = message; </script> </body> </html>

然后运行就可以了
运行结果如下:

Web应用小案例:猜数小游戏_第8张图片
以上是这个猜数字小游戏的所有代码和实现效果,改程序难点比较多,设计到很多方面的东西。

难点:

Web应用小案例:猜数小游戏_第9张图片
Web应用小案例:猜数小游戏_第10张图片
本次学习心得:
并没有完全掌握这个猜数小游戏,如果自己完成,还是实现不了,还得继续学习。
学会了session的掌握和数据的存取方法,等待下次使用加固。

你可能感兴趣的:(程序,Java学习总结)