python乒乓球

這是我用python編的一個小遊戲,需要下載simpleaudio庫,喜歡的可以玩。
以下是源代碼:
import turtle as t
import simpleaudio as sa
yeah=sa.WaveObject.from_wave_file(‘bounce.wav’)

#創建背景
game = t.Screen()
game.title(‘雙人乒乓球’)
game.bgcolor(‘black’)
game.setup(800,600)

#創建球拍
racket1 = t.Turtle()
racket1.ht()#隱藏
racket1.up()
racket1.speed()
racket1.color(‘white’)
racket1.shape(‘square’)
racket1.shapesize(5,1)
racket1.goto(-350,0)
racket1.st()#顯示

#創建2號球拍
racket2 = t.Turtle()
racket2.ht()#隱藏
racket2.up()
racket2.speed()
racket2.color(‘yellow’)
racket2.shape(‘square’)
racket2.shapesize(5,1)
racket2.goto(350,0)
racket2.st()#顯示

#添加乒乓球
table = t.Turtle()
table.up()
table.speed()
table.color(‘white’)
table.shape(‘circle’)
table.st()
table.dx = 5
table.dy = 5

player_speed = 50

racket1_score=0
racket2_score=0
#顯示分數
pen=t.Turtle()
pen.ht()
pen.up()
pen.color(‘white’)
pen.goto(-30,250)
score_text=‘玩家A的分數:{} 玩家B的分數:{}’.format(racket1_score,racket2_score)
pen.write(score_text,align=‘center’,font=(‘Arial’,20))

def racket1_up():
y=racket1.ycor()
y=y+player_speed
racket1.sety(y)
def racket1_down():
y=racket1.ycor()
y=y-player_speed
racket1.sety(y)

def racket2_up():
y=racket2.ycor()
y=y+player_speed
racket2.sety(y)
def racket2_down():
y=racket2.ycor()
y=y-player_speed
racket2.sety(y)

game.listen()
game.onkey(racket1_up,‘w’)
game.onkey(racket1_down,‘s’)
game.onkey(racket2_up,‘Up’)
game.onkey(racket2_down,‘Down’)
#遊戲主循環
while True:
table.setx(table.xcor()+table.dx)
table.sety(table.ycor()+table.dy)

if (table.ycor()>290 or (table.ycor()<-290)):
    table.dy*=-1
#球拍接球
y_up=racket2.ycor()+50
y_down=racket2.ycor()-50
if (table.ycor()<y_up and table.ycor()>y_down and table.xcor()>340):
    table.dx*=-1 
    table.setx(339)  
    yeah.play()      

if (table.ycor()<racket1.ycor()+50  and table.ycor()>racket1.ycor()-50 and table.xcor()<-340):
    table.dx*=-1 
    table.setx(-339)
    yeah.play()

#判斷球出界
if (table.xcor()>380):
    table.goto(0,0)
    racket1_score+=1
    pen.clear()
    score_text='玩家A的分數:{}  玩家B的分數:{}'.format(racket1_score,racket2_score)
    pen.write(score_text,align='center',font=('Arial',20))

if(table.xcor()<-380):
    table.goto(0,0)
    racket2_score+=1
    pen.clear()
    score_text='玩家A的分數:{}  玩家B的分數:{}'.format(racket1_score,racket2_score)
    pen.write(score_text,align='center',font=('Arial',20))

game.mainloop()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章