亲宝软件园·资讯

展开

Python实现不一样的猜数字游戏的示例代码

木木子学python 人气:0

前言

日子从不亏欠,每一个努力向上的人,

未来的走运, 都是过往尽力的积累。

人勤春来早,奋进正当时。新春伊始,我们迎来了2023年开工第一天。

栗子同学恭祝大家开工大吉,新年新气象,万事开门红!

大家知道“猜数字”这个游戏吗?顾名思义就是一个人想一个数字,另一个人猜。这个游戏简单又有趣,小编小时候很喜欢玩。游戏开始了!小伙伴从 1~100 中任选一个数字记在心里让我猜,我每猜一个数字,他只能说小了、大了或对了。直到我猜到数字,游戏结束。

那时的我比较笨,总是从 1 开始依次往上猜……

1,小了。那就是 2,2 也小。那就是 3……就这样一个一个猜测数字花费了很长时间。如果他定的数字是 99,那我要猜 99 次才能猜到!小伙伴表示很无奈,后来也不想再和我玩了。

长大之后的一次偶然的机会,我看到了一本书叫《算法图解》。这本书上竟然提到了小时候我玩的“猜数字”游戏,我才了解到,这个游戏不是最终猜到这个数字就算赢,而是又快又准确地猜到数字,那才是高手!那如何快速准确地猜到数字呢?书中告诉了我们“猜数字”游戏快速胜出的小窍门,让我大呼神奇,茅塞顿开。首先从 50 开始猜。

​小了,但我们可以排除一半的数字!1~50 都小了。接下来,猜 75。

​大了,那余下的数字又排除了一半!75~100 都可以排除。接下来,猜 63(50 和 75 中间的数字)。

大了,但又可以排除一半数字!可以从 51~62 中选了!

接下来,猜 57(50 和 63 中间的数字)。对了!

猜数字游戏还是一个挺好玩的游戏,可以勾起你童年的回忆。这样的游戏也很适合在聚会上玩,今天一起来猜猜吧!来挑战编写一款猜数字Python代码的高级版本哦!顺便教大家怎么玩才能快速找到答案啦!

正文

创建一个可以猜数字的游戏,它会在1~100以内随机选择一个数,然后让玩家挑战在10轮以内猜出这个数字,每一轮都要告诉玩家正确或者错误,如果出错了,则告诉他数字是低还是高了,一旦玩家猜测正确,或者玩家用完了回合游戏将会结束。游戏结束后,可以让玩家选择重新开始,消耗相应的金币即可以继续游戏。

一、运行环境

 ​[开发环境]:

 python 3.6 运行代码 

 pycharm 2021 辅助敲代码 

 第三方模块 pip install 模块名 

 镜像源安装 pip install -i pypi.douban.com/simple/ +模块名 

python 安装包 安装教程视频 

pycharm 社区版 专业版 及 激活码免费找我拿即可 !

二、代码展示

主程序——

import random
import time
x1 = ['╠','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','╣']
for i in x1:
    print(i, end='')
    time.sleep(0.02)
print('\n加', end='')
time.sleep(0.05)
print('载', end='')
time.sleep(0.05)
print('中', end='')
time.sleep(0.05)
print('.', end='')
time.sleep(0.05)
print('.', end='')
time.sleep(0.05)
print('.', end='')
time.sleep(0.05)
print('.', end='')
time.sleep(0.05)
print('.', end='')
time.sleep(0.05)
print('.')
print('欢迎来到猜数游戏!')
lives = 10
tax = 1
ranswer = 0
coines = 300
number = random.randint(0, 100)
name = input('请输入昵称!')
if name != '爸爸':
    print('尊敬的用户' + name + '您好')
    print('欢迎来到猜数游戏!')
elif name == '爸爸':
    print('我是你爸爸!')
    print('你是我儿子!')
a = ['第' + str(tax) + '关!']
for l in a:
    time.sleep(0.05)
    print(l)
c = ['现有' + str(coines) + '金币!' ]
for d in c:
    time.sleep(0.05)
    print(d)
while lives > 0:
    print('请', end='')
    time.sleep(0.05)
    print('输', end='')
    time.sleep(0.05)
    print('入', end='')
    time.sleep(0.05)
    print('0', end='')
    time.sleep(0.05)
    print('-', end='')
    time.sleep(0.05)
    print('1', end='')
    time.sleep(0.05)
    print('0', end='')
    time.sleep(0.05)
    print('0', end='')
    time.sleep(0.05)
    print('的', end='')
    time.sleep(0.05)
    print('数', end='')
    time.sleep(0.05)
    print('字', end='')
    time.sleep(0.05)
    answer = input(':')
    ranswer = int(answer)
    if ranswer < number:
        print('''|( ̄Д  ̄)=凸
太小了!''')
        lives -= 1
        time.sleep(0.5)
    elif ranswer > number:
        print('''(︶︿︶)=凸
太大了!''')
        lives -= 1
        time.sleep(0.5)
    if ranswer == number:
        print('''(凸艹皿艹)凸
竟然对了!''')
        tax += 1
        lives = 8
        time.sleep(0.05)
        print('是', end='')
        time.sleep(0.05)
        print('否', end='')
        time.sleep(0.05)
        print('在', end='')
        time.sleep(0.05)
        print('玩', end='')
        time.sleep(0.05)
        print('?', end='')
        time.sleep(0.05)
        print('\n不', end='')
        time.sleep(0.05)
        print('玩', end='')
        time.sleep(0.05)
        print('试', end='')
        time.sleep(0.05)
        print('试', end='')
        time.sleep(0.05)
        print('!', end='')
        print('へ', end='')
        time.sleep(0.05)
        print('(', end='')
        time.sleep(0.05)
        print('`', end='')
        time.sleep(0.05)
        print('_', end='')
        time.sleep(0.05)
        print('ゝ', end='')
        time.sleep(0.05)
        print('´', end='')
        time.sleep(0.05)
        print(')', end='')
        time.sleep(0.05)
        print('▄',end='')
        time.sleep(0.05)
        print('︻',end='')
        time.sleep(0.05)
        print('┻',end='')
        time.sleep(0.05)
        print('┳',end='')
        time.sleep(0.05)
        print('═',end='')
        time.sleep(0.05)
        print('═',end='')
        time.sleep(0.05)
        print('━',end='')
        time.sleep(0.05)
        print('一')
        time.sleep(0.05)
        print('y', end='')
        time.sleep(0.05)
        print('/', end='')
        time.sleep(0.05)
        yn = input('n')
        if yn == 'n':
            print('杀过' + sr(tax) + '关!')
            print('   凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)')
            x1 = ['╠','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','╣']
            for i in x1:
                print(i, end='')
                time.sleep(0.02)
            break
        else:
            print('ヾ(@^▽^@)ノ还是好盆友!')
            lives = 10
            number = random.randint(0, 100)
            a = ['第' + str(tax) + '关!']
            for l in a:
                time.sleep(0.05)
                print(l)
            coines += 300
            c = ['现有' + str(coines) + '金币!' ]
            for d in c:
                time.sleep(0.05)
                print(d)
            continue
    if lives == 0 and coines > 200:
        print('很', end='')
        time.sleep(0.05)
        print('遗', end='')
        time.sleep(0.05)
        print('憾', end='')
        time.sleep(0.05)
        print('!')
        time.sleep(0.05)
        print('机', end='')
        time.sleep(0.05)
        print('会', end='')
        time.sleep(0.05)
        print('耗', end='')
        time.sleep(0.05)
        print('尽', end='')
        print('!')
        print('是', end='')
        time.sleep(0.05)
        print('否', end='')
        time.sleep(0.05)
        print('在', end='')
        time.sleep(0.05)
        print('玩', end='')
        time.sleep(0.05)
        print('(', end='')
        time.sleep(0.05)
        print('消', end='')
        time.sleep(0.05)
        print('耗', end='')
        time.sleep(0.05)
        print('2', end='')
        time.sleep(0.05)
        print('0', end='')
        time.sleep(0.05)
        print('0', end='')
        time.sleep(0.05)
        print('金', end='')
        time.sleep(0.05)
        print('币', end='')
        time.sleep(0.05)
        print(')', end='')
        time.sleep(0.05)
        print('y', end='')
        time.sleep(0.05)
        print('/', end='')
        time.sleep(0.05)
        YN = input('n') 
        if YN == 'y':
            print('ヽ( ̄ω ̄( ̄ω ̄〃)ゝ是条汉子!')
            lives = 10
            coines -= 300
            c = ['现有' + str(coines) + '金币!' ]
            for d in c:
                time.sleep(0.05)
                print(d)
            number = random.randint(0, 100) 
        else:
            tax -= 1
            print('杀过' + str(tax) + '关!')
            print('   凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)')
            x2 = ['╠','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','╣']
            for j in x2:
                print(j, end='')
                time.sleep(0.02)
    elif lives == 0 and coines < 200:
        y = ['金币不足!\n无法复活!']
        for f in y:
            print(f)
            time.sleep(0.05)
            tax -= 1
            print('杀过' + sr(tax) + '关!')
        break

三、效果展示

游戏规则:猜数字高级版本是一个闯关版本—每10次机会猜,猜对即可获取300金币,猜错即

游戏失败,初始金币为300,每玩一次需要消耗200金币。

1)第一关卡

2)随机截图

加载全部内容

相关教程
猜你喜欢
用户评论