⽤Python设计⼀个经典⼩游戏
本⽂主要介绍如何⽤Python设计⼀个经典⼩游戏:猜⼤⼩。
在这个游戏中,将⽤到前⾯我介绍过的所有内容:变量的使⽤、参数传递、函数设计、条件控制和循环等,做个整体的总结和复习。
游戏规则:
初始本⾦是1000元,默认赔率是1倍,赢了,获得⼀倍⾦额,输了,扣除1倍⾦额。
1. 玩家选择下注,押⼤或押⼩;
2. 输⼊下注⾦额;
3. 摇3个骰⼦,11≤骰⼦总数≤18为⼤,3≤骰⼦总数≤10为⼩;
4. 如果赢了,获得1倍⾦额,输了,扣除1倍⾦额,本⾦为0时,游戏结束。
程序运⾏结果是这样的:
现在,我们来梳理下思路。
1. 我们先让程序知道如何摇骰⼦;
2. 让程序知道什么是⼤,什么是⼩;
3. ⽤户开始玩游戏,如果猜对,赢钱;猜错,输钱;输完后,游戏结束。
梳理清楚思路后,接下来开始敲代码。
摇骰⼦:
定义roll_dice函数,3个骰⼦,循环次数numbers为3,骰⼦点数points初始值为空,这⾥的参数传递⽤到的是之前讲到的关键词参数传递。
随机数⽣成⽤import random来实现。Python中最⽅便的就是有很多强⼤的库⽀持,现在我们可以直接导⼊⼀个random的内置库,⽤它来⽣成随机数。如:
1 import random
2 point = random.randrange(1,7)
3 # random.randrange(1,7)⽣成1-6的随机数
4 print(point)
print(point)后可以看到打印出的随机数,每次运⾏结果都是随机的。
接下来我们看下摇骰⼦这部分的完整代码:
import random
def roll_dice(numbers = 3,points = None):
print('----- 摇骰⼦ -----')
if points is None:
points = []
# points为空列表,后续可以插⼊新值到该列表
while numbers > 0:
point = random.randrange(1,7)
points.append(point)
# ⽤append()⽅法将point数值插⼊points列表中
numbers = numbers - 1
# 完成⼀次,numbers减1,当⼩于等于0时不再执⾏该循环
return points
定⼤⼩:
11≤骰⼦总数≤18为⼤,3≤骰⼦总数≤10为⼩,代码如下:
def roll_result(total):
isBig = 11 <= total <=18
isSmall = 3 <= total <= 10
if isBig:
return '⼤'
elif isSmall:
return '⼩'
玩游戏:
初始本⾦1000元,默认赔率1倍;赢了,获得⼀倍⾦额,输了,扣除1倍⾦额;本⾦为0时,游戏结束。
def start_game():
your_money = 1000
while your_money > 0:
print('----- 游戏开始 -----')
choices = ['⼤','⼩']
# choices赋值为⼤和⼩,⽤户需输⼊⼆者之⼀为正确
your_choice = input('请下注,⼤ or ⼩:')
your_bet = input('下注⾦额:')
if your_choice in choices:
points = roll_dice()
# 调⽤roll_dice函数
total = sum(points)
# sum为相加,将3个骰⼦的结果相加
youWin = your_choice == roll_result(total)
if youWin:
print('骰⼦点数:',points)
print('恭喜,你赢了 {} 元,你现在有 {} 元本⾦'.format(your_bet,your_money + int(your_bet)))
# your_bet是字符串格式,这⾥需要转化为int类型进⾏计算
your_money = your_money + int(your_bet)
# 最新本⾦
else:
print('骰⼦点数:',points)
print('很遗憾,你输了 {} 元,你现在有 {} 元本⾦'.format(your_bet, your_money - int(your_bet)))
your_money = your_money - int(your_bet)
else:
print('格式有误,请重新输⼊')
# 如果输⼊的不是choices列表中的⼤或⼩,则为格式有误
else:
print('游戏结束')
start_game()
到这⾥,我们就完成了该游戏三⼤部分的设计,⼤家⼀定要仔细思考,梳理设计思路,动⼿敲出代码才好。最后,附【猜⼤⼩】游戏的完整代码:
import random
def roll_dice(numbers = 3,points = None):
print('----- 摇骰⼦ -----')
if points is None:
points = []
while numbers > 0:
point = random.randrange(1,7)
points.append(point)
numbers = numbers - 1
return points
python可以做什么游戏
def roll_result(total):
isBig = 11 <= total <=18
isSmall = 3 <= total <= 10
if isBig:
return '⼤'
elif isSmall:
return '⼩'
def start_game():
your_money = 1000
while your_money > 0:
print('----- 游戏开始 -----')
choices = ['⼤','⼩']
your_choice = input('请下注,⼤ or ⼩:')
your_bet = input('下注⾦额:')
if your_choice in choices:
points = roll_dice()
total = sum(points)
youWin = your_choice == roll_result(total)
if youWin:
print('骰⼦点数:',points)
print('恭喜,你赢了 {} 元,你现在有 {} 元本⾦'.format(your_bet,your_money + int(your_bet)))
your_money = your_money + int(your_bet)
else:
print('骰⼦点数:',points)
print('很遗憾,你输了 {} 元,你现在有 {} 元本⾦'.format(your_bet, your_money - int(your_bet)))
your_money = your_money - int(your_bet)
else:
print('格式有误,请重新输⼊')
else:
print('游戏结束')
start_game()
以上就是本⽂的全部内容,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,同时也希望多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。