我有一个python海龟程序,如下所示。你知道吗
我想能够停止游戏时,海龟触摸黑色或触摸线,但我找不到任何在线帮助!!!你知道吗
import logging
from datetime import datetime
import time
from turtle import *
import winsound
#while True:
# player1 = input("enter player1 name\n")
# break
#while True:
# player2 = input("enter player2 name\n")
# print("Please click on window titled pacman")
# break
setup(600, 600)
Screen()
title("Rendering")
horse2 = Turtle()
horse2.shape("triangle")
horse2.color("blue")
#making the map
map1 = Turtle()
map1.color("black")
map1.shape("square")
map1.forward(100)
map1.left(90)
map1.forward(50)
map1.left(180)
map1.forward(50)
map1.right(90)
map1.forward(100)
map1.right(90)
map1.forward(50)
map1.penup()
map1.left(90)
map1.forward(50)
map1.pendown()
map1.forward(50)
map1.right(90)
map1.forward(50)
map1.left(90)
map1.forward(50)
map1.penup()
map1.forward(50)
map1.left(90)
map1.pendown()
map1.forward(50)
map1.forward(50)
map1.left(90)
map1.forward(50)
map1.right(90)
map1.forward(50)
map1.left(90)
map1.forward(50)
map1.penup()
map1.forward(50)
map1.pendown()
map1.right(90)
map1.forward(50)
map1.forward(50)
map1.right(90)
map1.forward(200)
map1.forward(40)
map1.right(90)
map1.forward(400)
map1.right(90)
map1.forward(500)
map1.right(90)
map1.forward(450)
map1.penup()
map1.forward(50)
map1.pendown()
map1.right(90)
map1.forward(500)
map1.right(90)
map1.forward(100)
map1.right(90)
map1.forward(100)
map1.right(90)
map1.forward(50)
map1.left(180)
map1.forward(50)
map1.penup()
map1.forward(50)
map1.forward(50)
map1.pendown()
map1.left(90)
map1.forward(50)
map1.left(180)
map1.forward(100)
map1.left(180)
map1.forward(150)
map1.right(180)
map1.forward(150)
map1.penup()
map1.forward(50)
map1.forward(100)
map1.right(90)
map1.pendown()
map1.forward(150)
map1.right(90)
map1.forward(100)
map1.forward(50)
map1.left(90)
map1.forward(50)
map1.right(180)
map1.penup()
map1.forward(100)
map1.penup()
map1.forward(200)
map1.forward(50)
map1.left(90)
map1.forward(10)
map1.right(90)
map1.pendown()
map1.forward(50)
map1.right(90)
map1.forward(50)
map1.left(90)
map1.forward(50)
map1.right(90)
map1.forward(50)
map1.left(90)
map1.penup()
map1.forward(50)
#making the map
showturtle()
hideturtle()
horse2.penup()
horse2.goto(-250, -100)
title("Pacman")
def k3():
horse2.right(90)
def k2():
horse2.left(90)
if horse2.xcor() > 250:
print(player2+" wins")
logging.basicConfig(filename=("bobobwinner.log"), filemode='w', format='%(name)s - %(message)s')
logging.warning(player2+' won')
def k1():
horse2.forward(20)
onkey(k1, "w")
onkey(k2, "a")
onkey(k3, "d")
#onkey(k4, "Left")
#onkey(k5, "Down")
listen()
mainloop()
我没有错误信息,但我已经失败了一次又一次的成功。请找个人帮忙。我很清楚,海龟是一个非常有限的游戏引擎,所以如果这是不可能的,是谁知道我可以编码自己的模块,以补充颜色检测海龟。你知道吗
正如@furas在他的评论中所指出的,我们在turtle中没有颜色检测,尽管我们可以在tkinter级别上检测对象,然后检查颜色。下面是一个不同的方法:我们用海龟建造所有的墙,并使用距离计算,结合墙的长度,来检测碰撞:
这很复杂,尤其是
collision()
函数,但它基本上可以工作。我稍微简化了您的原始示例,以删除与问题无关的项。你知道吗相关问题 更多 >
编程相关推荐