视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
用Python设计一个经典小游戏
2025-09-25 21:26:21 责编:小OO
文档
⽤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

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()

以上就是本⽂的全部内容,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,同时也希望多多⽀持!下载本文

显示全文
专题