python编写弹球游戏的实现代码


Posted in Python onMarch 12, 2018

 弹球游戏:

from tkinter import *       
import time 
import random 
tk=Tk()    #创建一个界面 
tk.title("弹球游戏") 
canvas=Canvas(tk,width=800,height=600,bg="skyblue",bd=0,highlightthickness = 0) 
tk.resizable(0,0) #表示边框不能被拉伸 
canvas.pack() #使部件放在主窗口中 
tk.update()  #刷新界面 
class Ball: #球的类 
  def __init__(self,canvas,paddle,color): 
    self.canvas=canvas 
    self.paddle=paddle 
    self.id=canvas.create_oval(10,10,25,25,fill=color) #在画布上画出一个球 
    self.canvas.move(self.id,240,100)   #初始球的位置 
    stat=[-3,-2,-1,1,2,3]   
    random.shuffle(stat) 
    self.x=stat[0] 
    self.y=-3 
    self.canvas_height=self.canvas.winfo_height() #获取画布的的高度 
    self.canvas_width=self.canvas.winfo_width() 
    self.hit_bottom=False  
  def hit_paddle(self, pos):    #判断输赢 
    paddle_pos = self.canvas.coords(self.paddle.id ) 
    if pos[2]>= paddle_pos[0] and pos[0]<= paddle_pos[2]: 
      if pos[3]>= paddle_pos[1] and pos[3]<= paddle_pos[3]: 
        return True 
    return False 
  def draw(self): #小球移动 
    self.canvas.move(self.id,self.x,self.y) 
    pos=self.canvas.coords(self.id) 
    if pos[1]<=0: #判断小球是否碰到边框,如果碰到回弹 
      self.y=3 
    if pos[3]>=self.canvas_height: #判断球拍是否有接到球 ,如果没接到游戏结束 
      self.hit_bottom=True 
    if self.hit_paddle(pos)==True: #判断求是否碰到了球拍,如果碰到了使小球回弹 
      self.y=-3 
    if pos[0]<=0: #来判断球拍是不是碰到了边框,, 
      self.x=3 
    if pos[2]>=self.canvas_width: 
      self.x=-3 
class Paddle: #球拍的的类 
  def __init__(self,canvans,color): 
    self.canvas=canvas 
    self.id=canvas.create_rectangle(0,0,150,10,fill=color) 
    self.canvas.move(self.id,400,450) 
    self.x=0 
    self.canvas_width=self.canvas.winfo_width() 
    self.canvas.bind_all("<KeyPress-Left>",self.turn_left) #通过按键来使球拍移动 
    self.canvas.bind_all("<KeyPress-Right>", self.turn_right) 
  def turn_left(self,event): #每次按键球拍移动的距离 
    self.x=-5 
  def turn_right(self,event): 
    self.x=5 
  def draw(self): #球拍移动的方法 
    pos=self.canvas.coords(self.id) 
    self.canvas.move(self.id, self.x, 0) 
    if pos[0]<=0: 
      self.x=0 
    if pos[2]>=self.canvas_width: 
      self.x=0 
paddle=Paddle(canvas,"blue") 
ball=Ball(canvas,paddle,"red") 
while True: #用循环 如果球怕没有接到球就推出 
  if ball.hit_bottom==False: 
    ball.draw() 
    paddle.draw() 
  else: 
    break 
  tk.update_idletasks()# 不停的刷新画布 
  tk.update() 
  time.sleep(0.01)

总结

以上所述是小编给大家介绍的python编写弹球游戏的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python struct模块解析
Jun 12 Python
python中使用urllib2获取http请求状态码的代码例子
Jul 07 Python
TensorFlow的权值更新方法
Jun 14 Python
Flask web开发处理POST请求实现(登录案例)
Jul 26 Python
用python代码将tiff图片存储到jpg的方法
Dec 04 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
Jun 14 Python
python线程的几种创建方式详解
Aug 29 Python
python网络编程之多线程同时接受和发送
Sep 03 Python
python实现代码统计器
Sep 19 Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 Python
TensorFLow 数学运算的示例代码
Apr 21 Python
python 下载文件的几种方式分享
Apr 07 Python
python学生管理系统代码实现
Apr 05 #Python
python图书管理系统
Apr 05 #Python
怎么使用pipenv管理你的python项目
Mar 12 #Python
python实现图书管理系统
Mar 12 #Python
python实现快速排序的示例(二分法思想)
Mar 12 #Python
Python中的pack和unpack的使用
Mar 12 #Python
python文本数据相似度的度量
Mar 12 #Python
You might like
发挥语言的威力--融合PHP与ASP
2006/10/09 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
javascript 模拟点击广告
2010/01/02 Javascript
jquery 经典动画菜单效果代码
2010/01/26 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
Vue如何将页面导出成PDF文件
2020/08/17 Javascript
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
Python实现ping指定IP的示例
2018/06/04 Python
python实现自动登录
2018/09/17 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
Python字符串的一些操作方法总结
2019/06/10 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
成教自我鉴定
2013/10/27 职场文书
简历中个人自我评价分享
2014/03/15 职场文书
师德先进个人材料
2014/12/20 职场文书
个人工作保证书
2015/02/28 职场文书
毕业实习单位意见
2015/06/04 职场文书
步步惊心观后感
2015/06/12 职场文书
勤俭节约主题班会
2015/08/13 职场文书