目标
利用python制作简易的老虎机小游戏,模块相对简单,美观上,后期还有待提升。
游戏规则:摇色子,随机生成点数。玩家判断点数是大是小(3-10小,11-18大)。玩家开始玩游戏。如果猜对,赢钱,并显示当前余额多少; 猜错,输钱,并显示当前余额多少。 输完后,显示没钱,游戏结束。
语言:python
工具:jupyter
前提准备
1.在终端下载打包工具
代码:pip install pyinstaller
2.所需要导入的库
- pygame
- radom
- tkinter
3.下载音乐,喜欢的歌曲,选择mp3格式,记住路径。
代码实现
import random
import tkinter
import pygame
def play_music():
pygame.mixer.init()
pygame.mixer.music.load(r"C:\Users\1\Music\Ice Cube - Why We Thugs.mp3")
pygame.mixer.music.play()
play_music()
window = tkinter.Tk()#先创建空白窗口
window.title("猜大小")#设置一个标题
window.geometry("400x400")#窗口大小
welcome_l = tkinter.Label(window,text="欢迎来到老虎机游戏",bg="gold",fg="black",font=("黑体 12 bold"),width=30,height=3)
welcome_l.grid(column=0, columnspan=2)
var1 = tkinter.StringVar()#tkinter
var1.set("当前账户金额余额1000元")#
balance_l = tkinter.Label(window,textvariable=var1,bg="gold",fg="green",font=("黑体 12 bold"),width=30,height=3)
balance_l.grid(column=0, columnspan=2)
e = tkinter.Entry(window,show=None,font=("黑体",30))
e.grid(column=0, columnspan=2,pady = 18)
var = tkinter.StringVar()
l = tkinter.Label(window,textvariable=var,bg="gold",fg="black",font=("黑体 12 bold"),width=30,height=3)
l.grid(column=0, columnspan=2,pady = 18)
def roll_dice():
print("开始摇色子")
points=[]
for i in range(3):
point = random.randint(1,6)
points.append(point)
return points
#判断点数是大是小(3-10小,11-18大)
def roll_result(total):
if 11 <= total <= 18:
return "大"
else:
return "小"
money = 1000
def big():
global money
your_bat = int(e.get())
if your_bat >money:
var.set("金额有误,请重新输入!")
else:
points = roll_dice()
total = sum(points)
if "大" == roll_result(total):
var.set(f"恭喜你,你赢了{your_bat}元")
money += your_bat
var1.set(f"当前账户余额为{money}元")
else:
var.set(f"很遗憾,你输了{your_bat}元")
money -= your_bat
var1.set(f"当前账户余额为{money}元")
if money == 0:
var.set("你输光了")
var1.set("没钱了")
def small():
global money
your_bat = int(e.get())
if your_bat >money:
var.set("金额有误,请重新输入!")
else:
points = roll_dice()
total = sum(points)
if "小" == roll_result(total):
var.set(f"恭喜你,你赢了{your_bat}元")
money += your_bat
var1.set(f"当前账户余额为{money}元")
else:
var.set(f"很遗憾,你输了{your_bat}元")
money -= your_bat
var1.set(f"当前账户余额为{money}元")
if money == 0:
var.set("你输光了")
var1.set("没钱了")
b = tkinter.Button(window,text="大",bg="blue",fg="black",font=("黑体 12 bold"),width=15,height=3,command=big)
s = tkinter.Button(window,text="小",bg="blue",fg="black",font=("黑体 12 bold"),width=15,height=3,command=small)
b.grid(row = 6,column=0)
s.grid(row = 6,column=1)
window.mainloop()
封装打包
图标:可以随意上网搜索一张方正图形即可,然后利用ico在线生成图标(直接网页搜索ico就有),将.png图片转换成.ico图片。尺寸适中即可。 生成的图片路径记住,后期将与.py文件放在一起。 如下图所示,
文件转换:将 .ipynb文件转换成.py文件,转换方式如下file---download as---python(.py)。记住将 图标与.py文件放在相同路径下,才能进行打包。
cd 改变路径,将路径调整到.py文件的路径下。如下图
打包成功后,代码地下有显示文件 打包好了的路径在哪,跟着这个路径即可找到。如下图第一行代码所示。成功打包的软件在代码行末尾有successfully。失败的话,也会有代码显示,所以耐心等待打包,不同电脑可能所花费的时间不同。失败原因会有很多种,可以将失败原因复制粘贴,上网查查解决方法。
成功
上面打包完以后,在dist文件夹中可以看到一个.exe的软件。这就是我们做好的样子啦。点击运行,就可以开始玩游戏啦。下图就是我做的简易小游戏啦!刚新手上路,不好之处请多多包涵。
总结
整体难度不大,简易猜大小 小游戏。
我上传了运行小视频,还在审核中,视频太短,后续能否过审未知,有看到这里的友友可以去看一下。