主頁 > 知識庫 > python實現(xiàn)簡單反彈球游戲

python實現(xiàn)簡單反彈球游戲

熱門標簽:看懂地圖標注方法 打印谷歌地圖標注 佛山通用400電話申請 電話外呼系統(tǒng)招商代理 電話機器人貸款詐騙 京華圖書館地圖標注 廣東旅游地圖標注 淮安呼叫中心外呼系統(tǒng)如何 蘇州人工外呼系統(tǒng)軟件

python簡單游戲-反彈球,供大家參考,具體內(nèi)容如下

tkinter實現(xiàn),直接貼上代碼

from tkinter import*
import time
import random

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)
        starts = [-3,-2,-1,1,2,3]
        random.shuffle(starts)
        self.x = starts[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 = 4
        if pos[3] >= self.canvas_height:
            self.hit_bottom=True
        if self.hit_paddle(pos)==True:
            self.y=-4
        if pos[0] = 0:
            self.x = 4
        if pos[2] >= self.canvas_width:
            self.x = -4

class 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,200,400)
        self.x=0
        self.canvas_width = self.canvas.winfo_width()
        canvas.bind_all('KeyPress-Left>',self.turn_left)
        canvas.bind_all('KeyPress-Right>',self.turn_right)
        self.hit_bottom = False

    def draw(self):
        self.canvas.move(self.id,self.x,0)
        pos = self.canvas.coords(self.id)
        if pos[0] = 0:
            self.x = 0
        elif pos[2] >= self.canvas_width:
            self.x = 0

    def turn_left(self,evt):
        self.x=-7

    def turn_right(self,evt):
        self.x=7 
        
tk = Tk()
tk.title("反彈吧!球球")
#tk.resizable(0,0)
tk.wm_attributes("-topmost",1)
canvas = Canvas(tk,width=650,height=600,bd=0,highlightthickness=0)
canvas.pack()
tk.update()

paddle=Paddle(canvas,'blue')
ball = Ball(canvas,paddle,'red')

while 1:
    if ball.hit_bottom==False:
        ball.draw()
        paddle.draw()
    tk.update_idletasks()
    tk.update()
    time.sleep(0.01)

效果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Python生命游戲?qū)崿F(xiàn)原理及過程解析(附源代碼)
  • 詳解Python 實現(xiàn)元胞自動機中的生命游戲(Game of life)
  • python實現(xiàn)生命游戲的示例代碼(Game of Life)
  • python實現(xiàn)21點小游戲
  • 教你用Python寫一個植物大戰(zhàn)僵尸小游戲
  • python實戰(zhàn)之90行代碼寫個猜數(shù)字游戲
  • 教你如何用python開發(fā)一款數(shù)字推盤小游戲
  • 用Python寫一個簡易版彈球游戲
  • Python實戰(zhàn)之實現(xiàn)康威生命游戲

標簽:呼和浩特 衡水 股票 江蘇 駐馬店 中山 湖州 畢節(jié)

巨人網(wǎng)絡(luò)通訊聲明:本文標題《python實現(xiàn)簡單反彈球游戲》,本文關(guān)鍵詞  python,實現(xiàn),簡單,反彈,球,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python實現(xiàn)簡單反彈球游戲》相關(guān)的同類信息!
  • 本頁收集關(guān)于python實現(xiàn)簡單反彈球游戲的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章