简单的猜数字小游戏

/**
简单的猜数字小游戏 要求如下:
用户输入想猜测数字的范围,输入1000则是0~1000之内的数字,程序就会内置一个 1 到 1000 之间的数字作
为猜测的结果,由用户猜测此数字,用户每猜测一次,由系统提示猜测结果:大了、小了或
者猜对了;直到用户猜对结果,则提示游戏结束。用户可以提前退出游戏,即,游戏过程中
,如果用户录入数字0则游戏终止.
加入新功能: 记次猜测次数功能,提示游戏开始时间,计猜测总用时功能,提示游戏结束时间

思路:
1.用户输入电脑生成的数值取值范围,接收并判断是否是合理数值?
2.游戏开始,显示当前系统时间.
3.计时从用户输入完正确取值范围后开始运行
4.判断用户输入数字是否是0,0结束游戏
5.其余情况判断是否大于或小于系统数字即可,每猜一次计数器++
6.游戏结束,显示用时,显示当前系统时间.
*/

public class GuessNumber {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
        String nowTime = sdf.format(date);

        /*第一位不能是0,是0就退出游戏*/
        String userRegex = "[1-9][\\d]+";    

        System.out.println("请输入您想挑战的0~最大数范围");
        String userScan = scan.next();
        /*判断用户输入的数字是否满足要求*/
        if(userScan.matches(userRegex)){
            int num = Integer.parseInt(userScan);
            guessGame(num);
        }else{
            /*游戏结束时间*/
            System.out.println("取值范围非法,无法开始游戏,再见");
            System.out.println("游戏结束时间:"+nowTime);
        }
    }

    public static void guessGame(int num) {
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
        String nowTime = sdf.format(date);
        Scanner scan = new Scanner(System.in);
        Random rand = new Random();

        int count = 0;    //计数器
        int guessNum = rand.nextInt(num);
        System.out.println("系统已经生成完毕");

        long startTime = System.currentTimeMillis();
        System.out.println("请输入您猜测的数字(0退出):");
        int scanNum = scan.nextInt();

        while(scanNum != guessNum){
            if(scanNum == 0){
                break;
            }else if(scanNum > guessNum){
                count++;
                System.out.println("不好意思,猜大了,请继续输入");
                scanNum = scan.nextInt();
            }else if(scanNum < guessNum){
                count++;
                System.out.println("不好意思,猜小了,请继续输入");
                scanNum = scan.nextInt();
            }
        }
        if(scanNum == 0){
            System.out.println("遗憾退出,欢迎再来");
            System.out.println("游戏结束时间:"+nowTime);
        }else{
            long endTime = System.currentTimeMillis();
            long totalTime = (endTime - startTime)/1000;

            System.out.println("恭喜,您用了"+count+"次猜对了!");
            System.out.println("您的总用时:"+totalTime+"秒");
            System.out.println("游戏结束时间:"+nowTime);
        }
    }
}

时间: 2024-08-03 07:07:46

简单的猜数字小游戏的相关文章

c语言简单的猜数字小游戏

//系统随机生成0--100的数,你猜是多少,大了或小了提示,猜对为止. #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int a=0,b=-1; int num = 1; while (num == 1) { printf("是否进行游戏(1:是 0:否)");     f: scanf("%d", &num); if ((num!=

C语言编程 如何构建一个简单的猜数字小游戏

源代码如下: #include<stdio.h> #include<stdlib.h> #include<time.h>//生成随机函数起点时用到time.h int main() { int number1 = 0, choice = 0, number2 = 0; printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");//界面设置 printf(&qu

Java 初学 第一弹--编译并运行书上的简单程序(猜数字小游戏)

(博主原创) 首先说明一下,博主是大一上学期结束寒假时自己看的Java,然后我看的是Head First Java的中文版,因为大一学了c,所以里面的一些基本思想还是了解的,在看这本书时就浏览了一下(就是那种光看没有自己动手去敲代码的),然后看到书上的一个猜数字小游戏,就想手动敲一下,熟悉熟悉Java的语法,但是真正去做时,发现比看起来要困难一些. 首先是Java在建立一个源码文件之前要先建一个package,然后我用的Eclipse写的Java(感觉和pycharm风格差不多),再新建一个文件

个人项目-猜数字小游戏

一      题目简介 猜数字小游戏 二     源码的github链接 链接: https://github.com/gaoshuhua/master 三     所设计的模块测试用例.测试结果截图 import static org.junit.Assert.*; import org.junit.Test; public class GameTest { @Test public void test() { fail("Not yet implemented"); } } 四  

需求:有一个猜数字小游戏,请写一个程序实现在测试类中只能使用5次,超过5次提示:游戏试玩结束,请付费。

package cn.idcast4; import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.Reader;import java.io.Writer;import java.util.Properties; /* * 需求:有一个猜数字小游戏,请写一个程序实现在测试类中只能使用5次, *

c语言:编写猜数字小游戏。

编写猜数字小游戏. 程序: #include<stdio.h> #include<time.h> void menu() { printf("***欢迎来挑战猜数字游戏***\n"); printf("*****请选择开始或退出*****\n"); printf("******1.start 0.exit******\n"); } void game() { int num = 0; srand((unsigned)tim

「Linux学习」之for循环if判断猜数字小游戏

vim /root/ip.sh #! /bin/bash read -p '请输入您要测试的ip: ' ip ping -c 2 $ip &> /dev/null if [ $? -eq 0 ];then echo 可以通信 else echo 不可以通信 创建猜数字小游戏 vim /root/num.sh #! /bin/bash num1=$[$RANDOM%10] read -p ' 请您输入一个0~9之间的数字 :' if [ $num1 -eq $num2 ];then echo

猜数字小游戏

#include <stdio.h> #include <stdlib.h> #include <time.h> void print_menu() { printf("**********************\n"); printf("******* 1.start ******\n"); printf("******* 0. exit ******\n"); printf("*********

Python基础入门-实现猜数字小游戏

今天呢,我们来通过前面学过的一些知识点来完成一个猜数字大小的游戏程序设计.那么呢,一般人写代码直接上来就干,没有分析,这样的做法是没有产出的,除非你是大牛,今天呢,我会把我学习编程的思路分享给大家,我的思路可能不是最好的,但是一定可以给你一点点的启发,来,让我们看一下这个写这个小程序该怎么去分析呢? 需求分析:用python实现一个猜数字的小游戏(场景可以自拟)这里我给出的需求是,我们还是先看一下流程图吧! 程序分析流程图: 分析思路: 1.如果设置默认值也就是结果数字,那么请输出"I"