Python-弹球游戏增强版
来源:互联网 发布:colorsnapper for mac 编辑:程序博客网 时间:2024/04/30 07:24
from tkinter import *import timeimport randomtk = Tk()tk.title("Game")tk.resizable(0,0)tk.wm_attributes('-topmost',1)canvas = Canvas(tk,width=500,height=400,bd=0,highlightthickness=0)canvas.pack()tk.update()bg = PhotoImage(file="F:\\1、Python\\Python代码\\弹球游戏\\图片\\背景.gif")for x in range(0,5): for y in range(0,4): canvas.create_image(x*100,y*100,image=bg,anchor='nw')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,245,100) self.x = 0 self.y = 0 self.canvas_width = self.canvas.winfo_width() self.canvas_height = self.canvas.winfo_height() self.hit_bottom = False self.num = 0 self.canvas.bind_all('<Button-1>',self.turn_sb) def turn_sb(self,evt): start = [-3,-2,-1,1,2,3] random.shuffle(start) self.x = start[0] self.y = 3 def hit(self,pos): pos_paddle = self.canvas.coords(self.paddle.id) if pos[3] <= pos_paddle[3] and pos[3] >= pos_paddle[1]: if pos[2] >= pos_paddle[0] and pos[0] <= pos_paddle[2]: return True return False def draw(self): self.canvas.move(self.id,self.x,self.y) pos = self.canvas.coords(self.id) if pos[0] <= 0: self.x = 3 if pos[2] >= self.canvas_width: self.x = -3 if pos[1] <= 0: self.y = 3 if pos[3] >= self.canvas_height: self.hit_bottom = True if self.hit(pos) == True: self.y = -3 self.num += 1class Paddle: def __init__(self,canvas,color): self.canvas = canvas self.id = canvas.create_rectangle(0,0,100,10,fill=color) self.canvas.move(self.id,250,330) 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 draw(self): self.canvas.move(self.id,self.x,0) pos = self.canvas.coords(self.id) if pos[0] <= 0: self.x = 0 if pos[2] >= self.canvas_width: self.x = 0 def turn_left(self,evt): self.x = -4 def turn_right(self,evt): self.x = 4 paddle = Paddle(canvas,'blue')ball = Ball(canvas,paddle,'red')while 1: if ball.hit_bottom == False: ball.draw() paddle.draw() else: time.sleep(1) canvas.create_text(250,150,text="游戏失败,继续努力", \ font=("Courier",30),fill='yellow') string = "成功次数 %s " canvas.create_text(250,180,text= string % ball.num,font=("Courier",20),fill="yellow") break tk.update_idletasks() tk.update() time.sleep(0.01)
0 0
- Python-弹球游戏增强版
- 弹球游戏
- 弹球游戏
- 弹球游戏
- 弹球游戏
- 弹球游戏
- 弹球游戏
- 非html5实现js版弹球游戏
- 用python做个弹球游戏(一)
- 《趣学Python编程》笔记---第二部分:弹球游戏
- java实现弹球游戏
- 实践教程--弹球游戏
- java 弹球游戏
- Android弹球游戏
- Linux C 弹球游戏
- 弹球游戏源代码
- Tkinter做弹球游戏
- JS弹球游戏
- 【lufylegend】年会九宫格抽奖程序
- rtsp简介(ZT)之消息流程-转
- s3c2440 tty驱动
- 橘子皮巧治咳嗽痰多 泡茶喝-转
- Linux 系统应用编程——网络编程(高级篇)
- Python-弹球游戏增强版
- MySQL修改密码和加密
- HA下的Spark集群工作原理解密
- udp获取本机ip
- SoundPool播放Assets资源
- 数据分析师(实习)试题解析
- udp linux 获取本机ip
- 飞龙的程序员书单 – 其它
- [ILINK32 Error] Error: Unresolved external 'WSAIoctl'