【发布时间】:2020-07-05 10:49:19
【问题描述】:
我是 Python 新手。我正在尝试创建一个太空游戏,其中两艘太空船互相争斗。用户控制一个,另一个将随机飞行和射击。用户必须保护自己并在另一艘船上开火。如果任何一艘船都能成功击中另一艘船 10 次,则那艘船获胜。
问题:我无法同时看到两艘船。当我控制一只乌龟时,另一只乌龟不显示。请帮忙。
from turtle import *
import random
import pygame
class Application:
space_ship = Turtle()
window = Screen()
window_X = 640
window_Y = 640
ship_x = space_ship.xcor()
Clock = pygame.time.Clock()
def __init__(self):
self.game_config()
self.enemy_config()
def enemy_config(self):
enemy = Turtle()
enemy.penup()
enemy.speed(0)
enemy.shapesize(2)
enemy.setposition(0,-250)
while True:
self.Clock.tick(20)
enemy.fd(10)
if enemy.ycor() >= 340:
enemy.right(50)
enemy.sety(-320)
elif enemy.ycor() <= -340:
enemy.right(50)
enemy.sety(320)
elif enemy.xcor() >= 340:
enemy.right(50)
enemy.setx(-320)
elif enemy.xcor() <= -340:
enemy.right(50)
enemy.setx(320)
def movefd(self):
while True:
self.Clock.tick(20)
self.space_ship.fd(10)
if self.space_ship.ycor() >= 340:
self.space_ship.sety(-320)
elif self.space_ship.ycor() <= -340:
self.space_ship.sety(320)
elif self.space_ship.xcor() >= 340:
self.space_ship.setx(-320)
elif self.space_ship.xcor() <= -340:
self.space_ship.setx(320)
def moverg(self):
self.space_ship.right(15)
def movelf(self):
self.space_ship.left(15)
def game_config (self):
bgcolor("white")
self.space_ship.shapesize(2)
self.space_ship.speed(0)
self.space_ship.color("green")
self.window.setup(self.window_X,self.window_Y)
self.space_ship.left(90)
self.space_ship.penup()
onkeypress(self.moverg, "Right")
onkeypress(self.movelf, "Left")
onkeypress(self.movefd, "Up")
listen()
done()
if __name__ == '__main__':
Application()
【问题讨论】:
标签: python python-turtle