Хотите создать место, где, когда Paddle_a попадает в любой из блоков, а затем черепаха.bye()Python

Программы на Python
Ответить
Anonymous
 Хотите создать место, где, когда Paddle_a попадает в любой из блоков, а затем черепаха.bye()

Сообщение Anonymous »

У меня возникла проблема с созданием столкновения: если белый блок (paddle_a) попадет в любой из красных блоков, игра закончится. (также хотелось бы знать, как добиться столкновения, при котором, если белый блок во что-то ударяется, он действует как стена/является стеной.

Код: Выделить всё

# Game creation
#Pong game test

import time
import turtle

wn = turtle.Screen()
wn.title("Pong")
wn.bgcolor("Black")
wn.setup(width=800, height=800)
wn.tracer(0)

# paddle a
paddle_a = turtle.Turtle()
paddle_a.speed(0)
paddle_a.shape("square")
paddle_a.color("white")
paddle_a.penup()
paddle_a.goto(0, -300)

# Functions
def paddle_a_up():
y = paddle_a.ycor()
y += 30
paddle_a.sety(y)
def paddle_a_down():
y = paddle_a.ycor()
y -= 30
paddle_a.sety(y)
def paddle_a_fun():
paddle_a.forward(20)
def paddle_a_dow():
paddle_a.backward(20)

# Keyboard binding
wn.listen()
wn.onkeypress(paddle_a_up, "w")
wn.onkeypress(paddle_a_down, "s")
wn.onkeypress(paddle_a_fun, "d")
wn.onkeypress(paddle_a_dow, "a")

# red blocks
block_a = turtle.Turtle()
block_a.speed
block_a.shape("square")
block_a.color("red")
block_a.penup()
block_a.goto(0, 0)

block_b = turtle.Turtle()
block_b.speed
block_b.shape("square")
block_b.color("red")
block_b.penup()
block_b.goto(0, 100)

block_c = turtle.Turtle()
block_c.speed
block_c.shape("square")
block_c.color("red")
block_c.penup()
block_c.goto(0, 300)

block_d = turtle.Turtle()
block_d.speed
block_d.shape("square")
block_d.color("red")
block_d.penup()
block_d.goto(0, -200)

block_e = turtle.Turtle()
block_e.speed
block_e.shape("square")
block_e.color("red")
block_e.penup()
block_e.goto(0, -100)

block_f = turtle.Turtle()
block_f.speed
block_f.shape("square")
block_f.color("red")
block_f.penup()
block_f.goto(0, 200)

block_g = turtle.Turtle()
block_g.speed
block_g.shape("square")
block_g.color("red")
block_g.penup()
block_g.goto(0, 100)

block_h = turtle.Turtle()
block_h.speed
block_h.shape("square")
block_h.color("red")
block_h.penup()
block_h.goto(0, 1)

# consequences
while True:
wn.update()

# Border checking
if paddle_a.ycor() > 380:
turtle.bye()

# Collision with red blocks
for collision in block_h:
if collision.distance(paddle_a) < 20:
time.sleep(1)
paddle_a.goto(0, 0)
paddle_a.direction = "stop"
Думал разное, все перепробовал, не получилось. просто нужна помощь, я новичок в кодировании столкновений и разработке игр в целом.

Подробнее здесь: https://stackoverflow.com/questions/746 ... turtle-bye
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»