python - 多个海龟,多个随机移动

标签 python random

我有一项任务,我必须用 Python 与海龟一起制作游戏。 我能够像我想要的那样生成一个网格,并且我能够生成多个不同的海龟。我的 - 我不知道从哪里开始弄清楚如何让我的三只不同海龟中的每只海龟在棋盘上随机移动,同时保持在网格线上。 - “游戏”必须在两只乌龟撞到屏幕边缘后停止,我也不知道该怎么做。

这是我目前所拥有的:

import turtle
import random

turtle.pensize(2)
turtle.penup()
turtle.goto(-160,-160)
turtle.pendown()
turtle.color("green")
turtle.speed(0)
for i in range(4):
    turtle.forward(320)
    turtle.left(90)

for y in range(-160,160,80):
    for x in range(-160,160,80):

        turtle.penup()
        turtle.goto(x,y)
        turtle.pendown()

        for k in range(4):
            turtle.forward(40)
            turtle.left(90)

        turtle.end_fill()       

for y in range(-120,160,80):
    for x in range(-120,160,80):

        turtle.penup()
        turtle.goto(x,y)
        turtle.pendown()
        for k in range(4):
            turtle.forward(40)
            turtle.left(90)


billy = turtle.Turtle()
billy.shape("turtle")
billy.color("red")
billy.penup()
billy.left(90)


rick = turtle.Turtle()
rick.shape("turtle")
rick.color("orange")
rick.penup()



mike = turtle.Turtle()
mike.shape("turtle")
mike.color("purple")
mike.penup()




turtle.done()

强有力的指导将非常有帮助。

最佳答案

您可以利用面向对象。这是我的乌龟脚本版本:

import turtle
import random
# I added randint. 
from random import randint

# Let's define a class so we can create turtles
class MyTurtle():

  # Here's the constructor. Where we give some initial values.
  def __init__(self, name, color):
    self.name = name
    self.color = color
    self.turtle = turtle.Turtle()
    self.turtle.shape("turtle")
    self.turtle.color(self.color)
    self.turtle.speed(1)
    self.turtle.pd()

  # We need to know if this turtle is off the board.
  def off_board(self):
    x = self.turtle.xcor()
    y = self.turtle.ycor()
    return x < -160 or 160 < x or y < -160 or 160 < y

  # calling this will move the turtle in a random direction.
  def move(self):
    turn = randint(0,2)
    if turn == 1:
      self.turtle.lt(45)
    elif turn == 2:
      self.turtle.rt(45)
    self.turtle.forward(5)

# Put your code for drawing the grid 

# Let's create some turtles and start moving them.
turtles = []
turtles.append( MyTurtle('billy', 'red'))
turtles.append( MyTurtle('chris', 'blue'))
turtles.append( MyTurtle('lilly', 'pink'))
turtles.append( MyTurtle('kevin', 'green'))

ok = True
while ok:
  for t in turtles:
    t.move()
    if t.off_board():
      print ("Turtle %s wins!!!" % (t.name))
      ok = False

turtle.done()

加油!只为这个很棒的乌龟脚本投一票? enter image description here

关于python - 多个海龟,多个随机移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53148449/

相关文章:

python - 值 'list_display[2]' 引用 'first_name' ,它不是可调用的、 'UserAdmin' 的属性或 'authentication.User' 上的属性

python - scikit-learn 分割数据集中的随机状态

mysql - MySql 示例数据中的随机日期

python - 如何从 django 字段创建自定义字段

python - python中圆圈内均匀间隔点的生成器

python - 基于列名的 Pandas 数据框条件均值

random - 谷歌表单中唯一的随机数生成器

scala - 如何从 Scala 的集合中获取随机元素

javascript - Typed.js 随机单词

python - 如何使用 Sphinx 在 reStructuredText 中添加博客样式标签