使用 Python 中的 Turtle 制作简单的双人游戏

2025年03月17日 | 阅读 9 分钟

Python自带一个名为turtle的模块。它提供了一个纸板屏幕和一个turtle(笔)进行绘图。移动turtle(笔)在屏幕上绘制东西。还有其他函数,例如forward()backward(),用于移动turtle。

TurtleMove游戏主要是一个机会游戏。两名玩家(粉色和绿色)使用他们自己的turtle作为游戏的对象来玩这个游戏。

游戏玩法说明

游戏在预定的网格和特定边界上进行。

  • 两个玩家都将turtle移动一个单位空间。
  • 现在两个玩家将掷硬币。如果正面,那么他们将向转;否则,他们将向转。
  • 继续执行步骤1和2,直到两个turtle都位于边界内。

使用Turtle Python实现

  • 对于网格边界,首先生成一个turtle屏幕对象
  • 对于每个玩家,现在形成粉色绿色turtle。
  • 使用turtle的forward()方法,将两个turtle都移动一个单位的距离。
  • 使用randrange(0, 2),即0表示转,1表示转,来决定转向。
  • 每次移动后都检查每个turtle的位置如果任何turtle穿过线,则该turtle的游戏结束

以下是它的实现方式

代码解读

首先,我们将把 turtle库导入到我们的程序中,同时也将导入random库,该库有助于选择随机实例。

然后,我们将定义一个方法来检查turtle是否在屏幕范围内。为此,我们将借助window_width()window_height()方法设置屏幕的四个侧面或边界。

然后,我们将使用xcor()方法找到x坐标,并使用ycor()方法找到y坐标,从而找到turtle的当前位置或坐标。

然后,我们使用以下条件来检查turtle是否在屏幕范围内。最初,stillIn变量设置为true,如果它超出边界,则条件将中断,结果将返回false,如果不是则返回true。

然后,我们将定义另一个方法,以确保2个turtle放置在不同的位置。

接下来,我们将初始化main()方法,并首先设置屏幕以使用turtle进行绘制。

现在,将开始介绍这2个turtle及其所需的特征。首先,将通过获取turtle对象的实例来初始化粉色turtle。然后,我们将使用pencolor()方法将笔的颜色设置为粉色。接下来,我们将使用pensize()方法设置绘制所需的笔的大小。turtle的形状将使用shape方法设置为“turtle”,并且将使用pos()方法来获取其位置。

接下来,将通过获取turtle对象的实例来初始化绿色turtle。然后,我们将使用pencolor()方法将笔的颜色设置为绿色。接下来,我们将使用pensize()方法设置绘制所需的笔的大小。turtle的形状将使用shape方法设置为“turtle”,并且将使用hideturtle()方法来隐藏turtle(笔)。

隐藏turtle后,我们将使用penup()方法抬起笔,使其在移动时不会绘制,并使用goto()方法将其移动到某个位置。到达指定位置后,我们将使用showturtle()方法使turtle再次可见,并将笔放下,以便仅从该位置再次用于绘图,使用pendown()方法。我们使用了绿色turtle的这种位置移动,以便我们能够清楚地区分2个turtle的路径。

然后,我们引入了2个新变量,称为mTjT,它们将存储turtle是否在提到的边界内的值。它们最初都设置为true,这意味着turtle当前在屏幕内。

我们现在将使用while循环开始玩游戏。仅当turtle在屏幕内时,此循环才有效。首先,将检查掷硬币,其值将存储在变量coinPink中。这将使用randrange()方法拾取。然后,还将找到turtle向前移动的角度,并且该值将存储在变量anglePink中。

然后,将通过此if-else条件来确定turtle是应该向左转还是向右转。如果 colorPink的值为0,则turtle将向anglePink否则它将以相同的角度向转。

整个上述过程将对绿色turtle重复进行,以确定其前进方向。

如果满足上述条件,那么由于使用了forward()方法,则turtle 粉色绿色都将向前移动40个单位的距离。

在它们向前移动之后,我们将再次检查它们的位置,即它们是否在屏幕内,这些更新的值将再次存储在变量mTjT中。

为了显示结果,使用pencolor()方法将两个turtle的turtle笔的颜色设置为黑色。

jT变量。如果满足上述任何条件,则使用write()方法输出结果。我们还将结果的字体设置为粗体“arial”样式,大小为15单位。

最后,在游戏完成后,使用exitonclick()方法退出。因此,再次调用main()函数。

完整代码

输出

以下是上述游戏代码的一些不同输出。

Simple Two Player Game using Turtle in Python
Simple Two Player Game using Turtle in Python
Simple Two Player Game using Turtle in Python