python 乒乓球_打乒乓 - python代码库 - 云代码

[python]代码库import turtle as t

#2. 创建背景

game = t.Screen()

game.title("打乒乓")

game.bgcolor("black")

game.setup(800,600)

game.tracer(0)

#3. 创建球拍

xm = t.Turtle()

xm.ht() #先隐藏

xm.up()

xm.speed(0)

xm.color('yellow')

xm.shape('square')

xm.shapesize(5, 1)

xm.goto(-350, 0)

xm.st() #再显示

#5. 创建如花

ruhua = t.Turtle()

ruhua.ht() #先隐藏

ruhua.up()

ruhua.speed(0)

ruhua.color('white')

ruhua.shape('square')

ruhua.shapesize(5, 1)

ruhua.goto(350, 0)

ruhua.st() #再显示

#6. 创建乒乓球

pp = t.Turtle()

pp.up()

pp.speed(0)

pp.color('white')

pp.shape('circle')

pp.st() #再显示

pp.dx = 2

pp.dy = 2

player_speed = 10

xm_score = 0

ruhua_score = 0

def write_score():

pen.clear()

score_text = "小明:{} 如花:{}".format(xm_score, ruhua_score)

pen.write(score_text, align="center", font=("Arial", 20, 'bold'))

pen = t.Turtle()

pen.ht()

pen.up()

pen.color('white')

pen.goto(-30, 250)

write_score()

def xm_up():

y = xm.ycor()

y = y + player_speed

xm.sety(y)

def xm_down():

y = xm.ycor()

y = y - player_speed

xm.sety(y)

def ruhua_up():

y = ruhua.ycor()

y = y + player_speed

ruhua.sety(y)

def ruhua_down():

y = ruhua.ycor()

y = y - player_speed

ruhua.sety(y)

game.listen()

game.onkey(xm_up, 's')

game.onkey(xm_down, 'x')

game.onkey(ruhua_up, 'Up')

game.onkey(ruhua_down, 'Down')

#判定是否要退出

running = True

def stop_loop():

global running

running = False

#获得窗口的Tk对象,并注册关闭事件

root = game.getcanvas().winfo_toplevel()

root.protocol('WM_DELETE_WINDOW', stop_loop)

#主循环

while running:

game.update()

pp.setx(pp.xcor() + pp.dx)

pp.sety(pp.ycor() + pp.dy)

if(pp.ycor() > 290) or (pp.ycor() < -290):

pp.dy *= -1

#9 接球

y_up = ruhua.ycor()+50

y_down = ruhua.ycor()-50

if(pp.ycor() < y_up and pp.ycor() > y_down and pp.xcor() > 340):

pp.dx *= -1

pp.setx(339)

if(pp.ycor() < xm.ycor() + 50 and pp.ycor() > xm.ycor() - 50 and pp.xcor() < -340):

pp.dx *= -1

pp.setx(-339)

#10 球出界

if (pp.xcor() > 380):

pp.goto(0,0)

xm_score += 1

print("小明得分!")

write_score()

if (pp.xcor() < -380):

pp.goto(0,0)

ruhua_score += 1

print("如花得分!")

write_score()

#game.mainloop()

201903221632.jpg

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值