JAVA猜数字游戏显示的提示的范围越来越小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA猜数字游戏显示的提示的范围越来越小相关的知识,希望对你有一定的参考价值。

例如答案是50的 我回答30的时候会提示30~100,我再回答70时会提示30~70......就是提示会根据我的回答会越来越小.

int result = 50;  // 对的结果
int s = 0, e = 100;  // 区间范围  s 开始,e 结束
int tmp;  // 存放输入的数
boolean bool = true;
while(bool) 
System.out.println("请输入:");
Scanner sc =new Scanner(System.in);
tmp = sc.nextInt();
if(tmp == result) 
System.out.println("回答正确!");
break;
 else if (tmp > s && tmp < result) 
s = tmp;
 else if(tmp < e && tmp > result)
e = tmp;

System.out.println("提示:" + s + "~" + e);

你试试,应该就是你想要的

参考技术A 可以使用三个数据判读
启始 结束 答案
0 100 ?
在判读时大於答案覆盖结束值
在判读时小於答案覆盖启始值
这样就能做到你想要的效果了!!!追问

额。我也是这样想的。不过那个代码不知道怎么写好。可以写一下吗,谢谢

追答public class test 
int start=0;
int end=100;
int key=50;
public void Numberguess(int i)
if(i==key)
System.out.println("恭喜你答对了!");
else if(i<key && start<i)
start=i;
System.out.println("范围:"+start+"~~"+end);
else if(i>key && i<end)
end=i;
System.out.println("范围:"+start+"~~"+end);


本回答被提问者采纳

python小练习简单的猜数字游戏

简单的猜数字游戏

前两天在论坛回答问题时候,看到一个猜数字的游戏,就在原来的基础上改了一下,玩一玩。

 

此程序,数字范围和尝试次数是事先设定好的,当然可以通过代码修改。经过测试,由于难度过大,我在其中加入的作弊功能,聪明的你一定能发现啦~

代码思路:

随机生成初始数 random.randint()

循环限制尝试次数

将输入的数与初始数进行比较,并输出比较结果

经过不断尝试,相等后会下载一张暴漫的图片,暴漫的图片分两种

imglist = re.findall(data-original-image-url="(.*?\.jpg)",html) # 一种是单幅的图片
picSmall = re.findall(src="(https://wanzao2.b0.upaiyun.com/web_maker/.*?-picSmall),html) # 另一种是一系列组图,因为一系列的这种我还没想到怎么区分不同的组图,所以就使上一种了

最后用urllib下载列表中随机一张,就以这张图片作为答对的奖励啦。其实还可以做翻页的,但想到就是奖励,没有太大必要。

 

代码:

import re
import requests
import random
import urllib.request

def getHtml(url):
    headers = {
        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0,
        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
        Accept-Encoding: gzip, deflate,
        Upgrade-Insecure-Requests: 1,
    }
    page = requests.get(url,headers=headers)
    html = page.text
    return html

def getImg(html):
    imglist = re.findall(data-original-image-url="(.*?\.jpg)",html) # .decode(‘utf-8‘)
    # picSmall = re.findall(‘src="(https://wanzao2.b0.upaiyun.com/web_maker/.*?-picSmall)‘,html)
    rad = random.randint(0,len(imglist))
    urllib.request.urlretrieve(imglist[rad],开心一刻.jpg)
    print(请在目录下查看今日图片...)

if __name__ == __main__:
    
    i=1
    jihui = 8
    number=random.randint(1,1000)
    usage = ‘‘‘
    ------------------------
    -    每日一笑 v 1.0    -
    -    数字范围:1-1000  -
    -    尝试次数:8       -
    ------------------------
    ‘‘‘
    print(usage)
    temp=int(input(请猜一猜今天的数字是什么:))
    while i<9:
            if temp == 123456:
                    print(答案是+ str(number) +...)
            if temp!=number:
                    jihui -= 1
                    if jihui == 0:
                            print(机会用完了...)
                            break
                    if temp>number:
                            print(哎呀,大啦! + 还剩余+ str(jihui) +次机会..)
                    elif temp<number:
                            print(哎呀,小啦,小啦!+还剩余+ str(jihui) +次机会..)
                    temp=int(input(请再猜一次吧:))
            else:
                    print(对啦对啦!!!)
                    html = getHtml("http://baozoumanhua.com/all/hot?page=1")
                    getImg(html)
                    break
            i+=1
    print(游戏结束~)

 

以上是关于JAVA猜数字游戏显示的提示的范围越来越小的主要内容,如果未能解决你的问题,请参考以下文章

C语言 猜数字游戏代码

猜数字游戏需求分析

猜数字游戏 - Java实现

java之猜数字游戏

使用C语言编写猜数字问题

Java猜数字游戏