3个适合新手练习的python小游戏
作者:爱摸鱼的菜鸟码农 发布时间:2023-08-02 02:12:27
标签:新手,练习,python,小游戏
学Python之前我们先来几个简单的小游戏练练手,这三个小游戏一个比一个复杂,建议新手慢慢来:
1.猜拳
import random #导入随机模块
num = 1
yin_num = 0
shu_num = 0
while num <= 3:
if shu_num == 2 or yin_num == 2:
break
user = int(input('请出拳 0(石头) 1(剪刀) 2(布)'))
if user > 2:
print('不能出大于2的值')
else:
data = ['石头', '剪刀', '布']
com = random.randint(0, 2)
print("您出的是{},电脑出的是{}".format(data[user], data[com]))
if user == com:
print('平局')
continue
elif (user == 0 and com == 1) or (user == 1 and com == 2) or (user == 2 and com == 0):
print('你赢了')
yin_num += 1
else:
print('你输了')
shu_num += 1
num += 1
2.数字 *
import random
import time
bomb = random.randint(1, 99)
print(bomb)
start = 0
end = 99
while 1 == 1:
people = int(input('请输入{}到{}之间的数:'.format(start, end)))
if people > bomb:
print('大了')
end = people
elif people < bomb:
print('小了')
start = people
else:
print('BOOM!!!')
break
print('等待电脑了输入{}到{}之间的数:'.format(start, end))
time.sleep(1)
com = random.randint(start + 1, end - 1)
print('电脑输入:{}'.format(com))
if com > bomb:
print('大了')
end = com
elif com < bomb:
print('小了')
start = com
else:
print('BOOM!!!')
break
3.赌大小
import time
import random
# 让用户注册
name = input('请填写用户名:')
age = input("{}您好,请输入您的年龄 : ".format(name))
user_info = {'name': name, 'age': int(age)} # 用户信息
user_properties = ['X 1-5'] # 用于存放用户道具 默认道具
properties = ['X3 (250G)', 'X1-5 (300G)'] # 道具列表 显示用
# 根据用户年龄 给与不同的初始金币
if 10 < user_info['age'] < 18:
glod = 1000
elif 18 <= user_info['age'] <= 30:
glod = 1500
else:
glod = 500
user_info['glod'] = glod
# 输出相关提示信息
print("{}您好,欢迎游玩本游戏,您的初始金币为:{}".format(user_info['name'], user_info['glod']))
print("\n")
time.sleep(1)
print('游戏说明'.center(50, '*'))
print('*'.ljust(53), '*')
print('*', end='')
print("电脑每次投掷三枚骰子,总点数>=10为大,否则为小".center(32), end='')
print('*')
print('*'.ljust(53), '*')
print('*' * 54)
print("\n")
# 开始游戏
result = input('是否开始游戏 yes or no : ')
go = True
if (result.lower() == 'yes'):
while go:
dices = []
# 开始投掷
for i in range(0, 3):
dices.append(random.randint(1, 6))
total = sum(dices) # 计算总和
user_input = input('请输入big OR small : ') # 等待用户输入
u_input = user_input.strip().lower()
time.sleep(1)
# 判断用户输入
print('骰子点数为:{}'.format(dices), end=' ')
if (total >= 10 and u_input == 'big') or (total < 10 and u_input == 'small'):
print('您赢了!!!')
multi = 1 # 倍数
if len(user_properties) > 0: # 如果用户有道具 选择是否使用道具
use_pro = input('是否使用道具: ')
if use_pro.lower() == 'yes':
use_pro = int(input('请选择使用第几个道具{} :'.format(user_properties)))
use_pro -= 1
# 判断道具类型
if user_properties[use_pro] == 'X 3':
multi = 3
print('奖金翻3倍')
elif user_properties[use_pro] == 'X 1-5':
multi = random.randint(1, 5)
print('奖金翻{}倍'.format(multi))
user_properties.remove(user_properties[use_pro]) # 删除道具
user_info['glod'] += 100 * multi; # 金额增加
else:
print('您输了!')
user_info['glod'] -= 100; # 错误 用户金币减 100
# 判断用户金币 是否够下次玩 不够则退出程序
if (user_info['glod'] <= 0):
print('您的金币已经用完,感谢您的游玩')
break
if user_info['glod'] % 1000 == 0: # 用户金币 是1000的倍数是 可购买道具
shop = input('您现在有金币:{},是否购买道具 yes or no: '.format(user_info['glod']))
if shop.lower() == 'yes':
good_num = int(input('请选择要购买第几个道具 {}'.format(properties)))
if good_num == 1:
user_properties.append('X 3') # 给用户添加道具
user_info['glod'] -= 250
print('购买成功!消耗金币250')
elif good_num == 2:
user_properties.append('X 1-5') # 给用户添加道具
user_info['glod'] -= 300 # 用户金币减 300
print('购买成功!消耗金币300')
else:
print('没有该道具,您失去了这次机会')
else:
# 一直提示 太烦
# conti = input('您现在有金币:{},是否继续游玩,yes or no: '.format(user_info['glod']))
print('您现在有金币:{} '.format(user_info['glod']))
else:
print('欢迎下次游玩,再见!')
来源:https://blog.csdn.net/huang5333/article/details/111715129
0
投稿
猜你喜欢
- 一、场景描述这里有以四张发票为例(辰哥网上搜的),将发票图片放到pic文件夹下。随便打开一张发票提取目标:金额、名称、纳税人识别号、开票人。
- 本文实例讲述了python处理图片之PIL模块简单使用方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/env pytho
- 废话不多说,直接上代码!@if ($user->id !== Auth::user()->id)<div id="
- 一、什么是域名系统DNS 计算机域名系统 (DNS) 是由解析器以及域名服务器组成的。当我们在上网的时候,通常输入的是网址,其实这就是一个域
- 这是早上找了点时间写了一个利用404错误达到静态态效果的类,准备在HTTP://PJSKIN.MYSUC.COM中使用的。不过现在没时间去弄
- python序列类型包括哪三种python序列类型包括:列表、元组、字典列表:有序可变序列创建:userlist = [1,2,3,4,5,
- jQuery之父John Resig写过一篇《Sub-Pixel Problems in CSS》,一个50px宽的div中有4个float
- numpy随机打乱数据方法np.random.shuffleimport numpy as np#实验可得每次shuffle后数据都被打乱,
- 设计师不等于美工设计无所不在,但大多数企业不知道如何使用它。现代设计进入中国大概是二十多年的时间,而在国外,尤其在美国在欧洲,大概有一百年的
- 前言本文主要给大家介绍了关于python指定时间调用函数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:在前面的一
- 这些导航菜单来自于Dribbble网站,出自于世界各地的优秀设计师之手,涵盖了各种不同的风格,个个都非常精美。这里我将这些导航菜单展示出来,
- 在用HTML(HyperText Markup Language,超文本链接标示语言)语言编写Web页面时,由于所用的Web浏览器对HTML
- 一、Pandoc转换1.1 问题由于我们markdown编辑器比较特殊,一般情况下,我们不太好看,如果转换成pdf的话,我们就不需要可以的去
- 先上代码,主要语句为np.where(b[c]==1),详细解释如下:import numpy as np b = np.array([[-
- 使用tensorflow过程中,训练结束后我们需要用到模型文件。有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练。这时候我
- 最近在折腾验证码识别。最终的脚本的识别率在92%左右,9000张验证码大概能识别出八千三四百张左右。好吧,其实是验证码太简单。下面就是要识别
- 一、前言这篇文章主要是记录一下php生成静态页面的大致步骤,关于页面静态化,大家想必都听说过,但是真正用的时候反而不是很多。有些页面考虑到访
- 一个站点成功与否,不是在于所用的程序语言是PHP还是ASP,也不在于用BLOG建站或是CMS建站,内容和专业很重要。博客很好起步,CMS体系
- 在FF下,如果内容含有FLASH,FLASH不会被隐藏掉,做为变通,我在收缩完成之后,将生成的内容容器隐藏掉了。<!DOCTYPE h
- matplotlib中的字体文件被封装在font_manager这个子模块中,fontManager.ttflist这个列表涵盖了所有Mat