猜数字大小的游戏

猜数字大小的游戏

######程序随机生成一个数,然后根据提示猜测数字,总共有五次机会,用完为止,游戏结束之后可以选择继续或者退出

  • 有用到递归
  • 循环
  • 判断
  • 模块化的代码
import com.sun.deploy.security.SelectableSecurityManager;
import com.sun.xml.internal.ws.runtime.config.TubelineFeatureReader;
import sun.font.TrueTypeFont;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        System.out.println("这是一个猜数字大小的游戏,你总共有五次机会!");
        temp();
        while (true){
            Scanner sc = new Scanner(System.in);
            System.out.println("你还想继续游戏吗?");
            System.out.println("——>继续(输入:1)");
            System.out.println("——>退出(输入:2)");
            System.out.print("请选择:");
            int t = sc.nextInt();
            if(t==1){
                System.out.println("————>游戏继续!");
                temp();
            }
            else if (t==2){
                System.out.println("游戏结束!");
                break;
            }
        }

    }

    private static void temp() {
        int b = (int)(Math.random()*10);
        System.out.println("答案是"+b);
        System.out.println("请输入一个1~10的数:");
        int c=4;
        while (true) {
            Scanner sc = new Scanner(System.in);
            int a = sc.nextInt();
            if(a!=b&&c<=4&&c>0){
                print(a,b);
                System.out.print("(剩余"+c+"次机会!):");
                System.out.println();
            }
            else if(a!=b&&c==0){
                System.out.println("对不起挑战失败!答案是"+b);
                break;
            }
            else if(a==b){
                System.out.println("恭喜你回答正确!答案是"+b);
                if(c==4){
                    System.out.println("运气太好了,第一次就回答正确!");
                }
                break;
            }
            c--;

        }
    }

    private static void print(int a,int b) {
        if(a>0&&a<11){
            switch (a-b){
                case -9:
                case -8:
                case -7: System.out.print("你猜的太小了,往大了猜");
                    break;
                case -6:
                case -5:
                case -4:System.out.print("有点小,往大了猜");
                    break;
                case -3:
                case -2:
                case -1: System.out.print("快接近了,往大了猜");
                    break;
                case 9:
                case 8:
                case 7: System.out.print("你猜的太大了,往小了猜");
                    break;
                case 6:
                case 5:
                case 4: System.out.print("有点大,往小了猜");
                    break;
                case 3:
                case 2:
                case 1: System.out.print("快接近了,往小了猜");
                    break;
            }
        }
        else{
            System.out.print("数字不合法!重新输入");
        }
    }
}

在这里插入图片描述

提示答案的部分可自行删除

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自己写的关于猜数字的aspx文件,using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class number : System.Web.UI.Page { private static readonly Random random = new Random(); private static readonly object syncLock = new object(); public static int RandomNumber(int min, int max) { lock (syncLock) { // synchronize return random.Next(min, max); } } public static int i = RandomNumber(1, 100); protected void Page_Load(object sender, EventArgs e) { // Label4.Visible = false; Label3.Visible = false; if (!IsPostBack) { ViewState["timeout"] = 60; } Label4.Text = i.ToString(); } protected void Button1_Click(object sender, EventArgs e) { int j = int.Parse(TextBox1.Text); Label3.Visible = true; if (j >= 1 & j <= 100) { if (j > i) { Label3.Text = "你的输入偏大,请重新输入! "; } else if (j < i) { Label3.Text = "你的输入偏小,请重新输入! "; } else { Label3.Text = "恭喜你,你猜对了!"; } } else { Label3.Text = "输入有误,请重新输入!"; } } protected void Button2_Click(object sender, EventArgs e) { Label4.Visible = true; } protected void Button3_Click(object sender, EventArgs e) { Label4.Text = i.ToString(); TextBox1.Text = ""; Label4.Visible = false; } protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) { } protected void TextBox1_TextChanged(object sender, EventArgs e) { } protected void Timer1_Tick(object sender, EventArgs e) { var timeout = int.Parse(ViewState["timeout"].ToString()); if(timeout > 0) { Label5 .Text = + timeout + "秒"; ViewState["timeout"] = --timeout; } else { Response.Redirect("任务结束"); } } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值