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)随机截图
加载全部内容