Эй, я новичок в мире программирования, поэтому решил начать создавать простые игры, чтобы изучить логику, лежащую в их основе.
В моем коде классической игры в понг я не знаю почему, но я не могу переместить обоих игроков (jugadorA и jugadorB). Я могу перемещаться только по одному.
Если бы кто-нибудь посмотрел на мою возможность и дал мне предложение, я был бы очень благодарен. Кроме того, если у вас есть предложения по простым играм для программирования на Python (язык, который я изучаю), я внимательно слушаю.
import turtle
#Ventana
wn = turtle.Screen()
wn.title("Mi Pong")
wn.bgcolor("black")
wn.setup(width = 800, height = 600)
wn.tracer(0)
#Marcador
marcadorA = 0
marcadorB = 0
#Jugador A
jugadorA = turtle.Turtle()
jugadorA.speed(0)
jugadorA.shape("square")
jugadorA.color("white")
jugadorA.penup()
jugadorA.goto(-350,0)
jugadorA.shapesize(stretch_wid = 5, stretch_len = 1)
#Jugador B
jugadorB = turtle.Turtle()
jugadorB.speed(0)
jugadorB.shape("square")
jugadorB.color("white")
jugadorB.penup()
jugadorB.goto(350,0)
jugadorB.shapesize(stretch_wid = 5, stretch_len = 1)
#Pelota
pelota = turtle.Turtle()
pelota.speed(0)
pelota.shape("circle")
pelota.color("blue")
pelota.penup()
pelota.goto(0,0)
pelota.dx = 3
pelota.dy = 3
#Linea Division
division = turtle.Turtle()
division.color("white")
division.goto(0,400)
division.goto(0,-400)
#Pen
pen = turtle.Turtle()
pen.speed(0)
pen.color("white")
pen.penup()
pen.hideturtle()
pen.goto(0,260)
pen.write("Juegador A: 0 Jugador B: 0", align = "center", font= ("Courier", 24, "normal"))
#Funciones
def jugadorA_up():
y = jugadorA.ycor()
y += 20
jugadorA.sety(y)
def jugadorA_down():
y = jugadorA.ycor()
y -= 20
jugadorA.sety(y)
def jugadorB_up():
y = jugadorB.ycor()
y += 20
jugadorB.sety(y)
def jugadorB_down():
y = jugadorB.ycor()
y -= 20
jugadorB.sety(y)
#teclado
wn.listen()
wn.onkeypress(jugadorA_up,"w")
wn.onkeypress(jugadorA_down,"s")
wn.onkeypress(jugadorB_up,"Up")
wn.onkeypress(jugadorB_down,"Down")
while True:
wn.update()
# Mover los jugadores al mismo tiempo
if "w" in wn._keys:
jugadorA_up()
if "s" in wn._keys:
jugadorA_down()
if "Up" in wn._keys:
jugadorB_up()
if "Down" in wn._keys:
jugadorB_down()
pelota.setx(pelota.xcor() + pelota.dx)
pelota.sety(pelota.ycor() + pelota.dy)
#Bordes
if pelota.ycor() > 290:
pelota.dy *= -1
if pelota.ycor() < -290:
pelota.dy *= -1
#Bordes derecha e izquierda
if pelota.xcor() > 390:
pelota.goto(0,0)
pelota.dx *= -1
marcadorA += 1
pen.clear()
pen.write("Juegador A: {} Jugador B: {}".format(marcadorA,marcadorB), align = "center", font= ("Courier", 24, "normal"))
if pelota.xcor() < -390:
pelota.goto(0,0)
pelota.dx *= -1
marcadorB += 1
pen.clear()
pen.write("Juegador A: {} Jugador B: {}".format(marcadorA,marcadorB), align = "center", font= ("Courier", 24, "normal"))
if ((pelota.xcor() > 340 and pelota.xcor() < 350)
and (pelota.ycor() < jugadorB.ycor() + 50
and pelota.ycor() > jugadorB.ycor() -50)):
pelota.dx *= -1
if ((pelota.xcor() < -340 and pelota.xcor() > -350)
and (pelota.ycor() < jugadorA.ycor() + 50
and pelota.ycor() > jugadorA.ycor() -50)):
pelota.dx *= -1
Подробнее здесь: https://stackoverflow.com/questions/759 ... rs-at-once
Черепаха-понг: переместите двух игроков одновременно [дубликат] ⇐ Python
Программы на Python
-
Anonymous
1766804301
Anonymous
Эй, я новичок в мире программирования, поэтому решил начать создавать простые игры, чтобы изучить логику, лежащую в их основе.
В моем коде классической игры в понг я не знаю почему, но я не могу переместить обоих игроков (jugadorA и jugadorB). Я могу перемещаться только по одному.
Если бы кто-нибудь посмотрел на мою возможность и дал мне предложение, я был бы очень благодарен. Кроме того, если у вас есть предложения по простым играм для программирования на Python (язык, который я изучаю), я внимательно слушаю.
import turtle
#Ventana
wn = turtle.Screen()
wn.title("Mi Pong")
wn.bgcolor("black")
wn.setup(width = 800, height = 600)
wn.tracer(0)
#Marcador
marcadorA = 0
marcadorB = 0
#Jugador A
jugadorA = turtle.Turtle()
jugadorA.speed(0)
jugadorA.shape("square")
jugadorA.color("white")
jugadorA.penup()
jugadorA.goto(-350,0)
jugadorA.shapesize(stretch_wid = 5, stretch_len = 1)
#Jugador B
jugadorB = turtle.Turtle()
jugadorB.speed(0)
jugadorB.shape("square")
jugadorB.color("white")
jugadorB.penup()
jugadorB.goto(350,0)
jugadorB.shapesize(stretch_wid = 5, stretch_len = 1)
#Pelota
pelota = turtle.Turtle()
pelota.speed(0)
pelota.shape("circle")
pelota.color("blue")
pelota.penup()
pelota.goto(0,0)
pelota.dx = 3
pelota.dy = 3
#Linea Division
division = turtle.Turtle()
division.color("white")
division.goto(0,400)
division.goto(0,-400)
#Pen
pen = turtle.Turtle()
pen.speed(0)
pen.color("white")
pen.penup()
pen.hideturtle()
pen.goto(0,260)
pen.write("Juegador A: 0 Jugador B: 0", align = "center", font= ("Courier", 24, "normal"))
#Funciones
def jugadorA_up():
y = jugadorA.ycor()
y += 20
jugadorA.sety(y)
def jugadorA_down():
y = jugadorA.ycor()
y -= 20
jugadorA.sety(y)
def jugadorB_up():
y = jugadorB.ycor()
y += 20
jugadorB.sety(y)
def jugadorB_down():
y = jugadorB.ycor()
y -= 20
jugadorB.sety(y)
#teclado
wn.listen()
wn.onkeypress(jugadorA_up,"w")
wn.onkeypress(jugadorA_down,"s")
wn.onkeypress(jugadorB_up,"Up")
wn.onkeypress(jugadorB_down,"Down")
while True:
wn.update()
# Mover los jugadores al mismo tiempo
if "w" in wn._keys:
jugadorA_up()
if "s" in wn._keys:
jugadorA_down()
if "Up" in wn._keys:
jugadorB_up()
if "Down" in wn._keys:
jugadorB_down()
pelota.setx(pelota.xcor() + pelota.dx)
pelota.sety(pelota.ycor() + pelota.dy)
#Bordes
if pelota.ycor() > 290:
pelota.dy *= -1
if pelota.ycor() < -290:
pelota.dy *= -1
#Bordes derecha e izquierda
if pelota.xcor() > 390:
pelota.goto(0,0)
pelota.dx *= -1
marcadorA += 1
pen.clear()
pen.write("Juegador A: {} Jugador B: {}".format(marcadorA,marcadorB), align = "center", font= ("Courier", 24, "normal"))
if pelota.xcor() < -390:
pelota.goto(0,0)
pelota.dx *= -1
marcadorB += 1
pen.clear()
pen.write("Juegador A: {} Jugador B: {}".format(marcadorA,marcadorB), align = "center", font= ("Courier", 24, "normal"))
if ((pelota.xcor() > 340 and pelota.xcor() < 350)
and (pelota.ycor() < jugadorB.ycor() + 50
and pelota.ycor() > jugadorB.ycor() -50)):
pelota.dx *= -1
if ((pelota.xcor() < -340 and pelota.xcor() > -350)
and (pelota.ycor() < jugadorA.ycor() + 50
and pelota.ycor() > jugadorA.ycor() -50)):
pelota.dx *= -1
Подробнее здесь: [url]https://stackoverflow.com/questions/75973129/turtle-pong-move-two-players-at-once[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия