Python基础进阶实战项目——弹球小游戏

前言

到现在,我们学习python也有一段时间了,相信不少伙伴已经掌握了python的基本语法。当然,也会有不少伙伴从入门到放弃,因为找不到方向,有时间想学就学。其实这些都是正常的现象,毕竟学习是很枯燥乏味的。

PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取

点击加群即可免费获取Python学习资料

本文主要给大家分享一个实战项目,通过python代码写一款我们儿时大多数人玩过的游戏---小弹球游戏。只不过当时,我们是在游戏机上玩,现在我们通过运行代码来玩,看看大家是否有不一样的体验,是否可以重温当年的乐趣呢!

整个游戏实现比较简单,只需在安装python的电脑上即可运行,玩游戏,通过键盘键控制弹球挡板的移动即可。原理不多说,且让我们去看看吧。

1、代码运行后,游戏界面如下所示:

 

2、游戏过程中,界面如下所示:

 

3、游戏结束后,界面如下所示:

 

游戏实现部分源码如下:

def main():
    tk = tkinter.Tk()

    # call back for Quit
    def callback():
        if mb.askokcancel("Quit", "Do you really wish to quit?"):
            Ball.flag = False
            tk.destroy()

    tk.protocol("WM_DELETE_WINDOW", callback)

    # Init parms in Canvas
    canvas_width = 600
    canvas_hight = 500
    tk.title("小弹球游戏V1版")
    tk.resizable(0, 0)
    tk.wm_attributes("-topmost", 1)
    canvas = tkinter.Canvas(tk, width=canvas_width, height=canvas_hight, bd=0, highlightthickness=0, bg='#00ffff')
    canvas.pack()
    tk.update()

    score = Score(canvas, 'red')
    paddle = Paddle(canvas, "magenta")
    ball = Ball(canvas, paddle, score, "grey")

    game_over_text = canvas.create_text(canvas_width / 2, canvas_hight / 2, text='Game over', state='hidden',
                                        fill='red', font=(None, 18, "bold"))
    introduce = '欢迎来到小弹球游戏 V1版:\n点击任意键--开始\n停止--回车键\n继续--回车键\n'
    game_start_text = canvas.create_text(canvas_width / 2, canvas_hight / 2, text=introduce, state='normal',
                                         fill='magenta', font=(None, 18, "bold"))
    while True:
        if (ball.hit_bottom == False) and ball.paddle.started:
            canvas.itemconfigure(game_start_text, state='hidden')
            ball.draw()
            paddle.draw()
        if ball.hit_bottom == True:
            time.sleep(0.1)
            canvas.itemconfigure(game_over_text, state='normal')
        tk.update_idletasks()
        tk.update()
        time.sleep(0.01)


if __name__ == '__main__':
    main()

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:浩道linux

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值