每日一个python小游戏---射击游戏(附源码)

目录

1.tkinter库

2.游戏框架

3.构建游戏

3.1 定义函数

解析

3.2 定义变量

3.3 完整代码

 4.结束语


1.tkinter库

由于本游戏用到了tkinter库,所以要用pip指令下载:

pip install tkinter

 具体可至【Python】Tkinter模块(巨详细)_python tkinter-CSDN博客学习

2.游戏框架

格斗游戏要有伤害显示,这里我就在控制台打印一下;还要有攻击。

这些我们都定义为函数,将他封装起来。

可是一个一个的定义函数太麻烦,所以就定义为传参函数。

此外,还要有游戏窗口和Button控件。

游戏窗口可以用Tk()函数实现,Button控件具体可至python tkinter Button的使用-CSDN博客学习

不过我们前面讲了要定义传参函数,但Button的command不支持传参函数,所以要用到lambda表达式构建匿名函数。

command=lambda: 函数名(参数)

3.构建游戏

既然思路有了,代码也要写出来。但别看思路很简单,代码写起来真的很肝;player1和player2要分开,使用pychram还比较简单。

3.1 定义函数

player1和player2的代码直接CV(复制粘贴),改到你怀疑人生,我这个善良的作者就帮你们改了^_^

Code:

def player1_hit(n):
    global player2_hp
    if n == 0:
        player2_hp -= 5
        print(f"{player1_name}对{player2_name}造成了5点伤害,{player2_name}剩余血量:{player2_hp}")
        player1_disable_button(0)
    elif n == 1:
        player2_hp -= 8
        print(f"{player1_name}对{player2_name}造成了8点伤害,{player2_name}剩余血量:{player2_hp}")
        player1_disable_button(1)
    elif n == 2:
        player2_hp -= 12
        print(f"{player1_name}对{player2_name}造成了12点伤害,{player2_name}剩余血量:{player2_hp}")
        player1_disable_button(2)
    elif n == 3:
        player2_hp -= 15
        print(f"{player1_name}对{player2_name}造成了15点伤害,{player2_name}剩余血量:{player2_hp}")
        player1_disable_button(3)
    if player2_hp <= 0:
        print(f"---游戏结束,{player1_name}胜利!---")
        player1_win.destroy()
        player2_win.destroy()

def player1_disable_button(n):
    if n == 0:
        player1_button_pg.config(state=DISABLED)
        player1_button_pg.after(300, lambda: player1_enable_button(0))
    elif n == 1:
        player1_button_yjn.config(state=DISABLED)
        player1_button_yjn.after(1000, lambda: player1_enable_button(1))
    elif n == 2:
        player1_button_ejn.config(state=DISABLED)
        player1_button_ejn.af

你可能感兴趣的:(python,游戏,开发语言)