Заставить игрока исчезнуть после нажатия кнопки - PullRequest
0 голосов
/ 06 апреля 2020

Я пытался выяснить, как заставить кнопку скрывать черепаху в python IDLE.

if button.pressed:
        player2.hideturtle()

Я хочу сделать это так, чтобы при нажатии кнопки она вызывала только один игрок или два игрока. Я уже сделал кнопки, но они оба делают то же самое прямо сейчас и просто начинают игру для двух игроков. Как бы я исправил это, чтобы стать игрой для одного игрока, если это необходимо Игроку?

import turtle
import random
import time
from tkinter import *

master = Tk()

def openwindow():

 delay = 0.1

 wn = turtle.Screen()
 wn.setup(width=600, height=600)
 wn.title("The Bond")
 wn.bgcolor("black")
 wn.tracer(0)

 player1 = turtle.Turtle()
 player1.direction = "stop"
 player1.speed = "delay"
 player1.shape("circle")
 player1.color("yellow")
 player1.penup()
 player1.goto(-15,0)

 player2 = turtle.Turtle()
 player2.direction = "stop"
 player2.speed = "delay"
 player2.shape("circle")
 player2.color("red")
 player2.penup()
 player2.goto(15,0)

 def P1move():
            if player1.direction == "up":
                        y = player1.ycor()
                        player1.sety(y+20)
            if player1.direction == "down":
                        y = player1.ycor()
                        player1.sety(y-20)
            if player1.direction == "right":
                        x = player1.xcor()
                        player1.setx(x+20)
            if player1.direction == "left":
                        x = player1.xcor()
                        player1.setx(x-20)
 def P2move():
            if player2.direction == "up":
                        y = player2.ycor()
                        player2.sety(y+20)
            if player2.direction == "down":
                        y = player2.ycor()
                        player2.sety(y-20)
            if player2.direction == "right":
                        x = player2.xcor()
                        player2.setx(x+20)
            if player2.direction == "left":
                        x = player2.xcor()
                        player2.setx(x-20)

 def go_up():
            player1.direction = "up"
 def go_down():
            player1.direction = "down"
 def go_right():
            player1.direction = "right"
 def go_left():
            player1.direction = "left"
 def go_up2():
            player2.direction = "up"
 def go_down2():
            player2.direction = "down"
 def go_right2():
            player2.direction = "right"
 def go_left2():
            player2.direction = "left"

 wn.listen()
 wn.onkeypress(go_up2, "Up")
 wn.onkeypress(go_down2, "Down")
 wn.onkeypress(go_right2, "Right")
 wn.onkeypress(go_left2, "Left")
 wn.onkeypress(go_up, "w")
 wn.onkeypress(go_down, "s")
 wn.onkeypress(go_right, "d")
 wn.onkeypress(go_left, "a")

 while True:
             if player1.xcor() > 290 or player1.xcor() < -290 or player1.ycor() > 290 or player1.ycor()< -290:
                     time.sleep(1)
                     player1.goto(-15,0)
                     player1.direction = "stop"
             if player2.xcor() > 290 or player2.xcor() < -290 or player2.ycor() > 290 or player2.ycor()< -290:
                    time.sleep(1)
                    player2.goto(15,0)
                    player2.direction = "stop"


         wn.update()
         P1move()
         P2move()
         time.sleep(delay)

 wn.mainloop()

button = Button(master, text="One Player(s)", command=openwindow)
button2 = Button(master, text="Two Player(s)", command=openwindow)

button.pack()
button2.pack()

mainloop()

Вот этот рабочий код без кода скрытой черепахи или кнопки 2 сверху. отметить, что я не использую Pygame, у меня есть Tkinter, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...