用python实现海龟赛跑小游戏
作者:一手代码一手诗 发布时间:2023-03-14 22:59:39
标签:Python,海龟,赛跑
废话不多说,直接开始拉~~~
我们总共有 6 只海龟,颜色不同,它们以随机长度移动。首先,我们应该通过输入乌龟的颜色来押注乌龟。第一个越线的乌龟被宣布为获胜者。整个代码是通过导入海龟和随机库在 Python 中完成的。
代码说明
导入包
from turtle import Turtle, Screen
import random
random 函数用于生成距离(随机),由海龟移动。最好给出屏幕尺寸,因为我们很容易找到坐标并进行相应的更改。
screen = Screen()
screen.setup(width=500, height=400)
有一个名为 textinput() 的函数,它会打开一个对话框并要求用户输入。
user_bet = screen.textinput(title="Place your bet", prompt="Which turtle will win the race? Enter a color: ")
接下来,我们应该给我们的种族海龟颜色。所以,我们可以区分它们。以及然后应该代表比赛的坐标。
colors = ["red", "orange", "yellow", "green", "blue", "purple"]
y_positions = [-100, -60, -20, 20, 60, 100]
通过考虑上述 y 坐标和颜色,使用 for 循环对所有海龟的确切坐标进行分类。
for turtle_index in range(0,6):
new_turtle = Turtle(shape="turtle")
new_turtle.color(colors[turtle_index])
new_turtle.penup()
new_turtle.goto(x=-230, y= y_positions[turtle_index])
all_turtles.append(new_turtle)
现在,我们应该做的最后一件事是让我们的海龟每次移动一个随机距离。而最先到达屏幕另一端的乌龟就是赢得比赛的乌龟。一开始,我们对乌龟 * ,如果乌龟赢了,我们就赢了,如果它输了,我们也输了。
while is_race_on:
for turtle in all_turtles:
if turtle.xcor() > 230:
is_race_on = False
winning_color = turtle.pencolor()
if winning_color == user_bet:
print(f"You've won!, The {winning_color} turtle is the winner.")
else:
print(f"You've lost!, The {winning_color} turtle is the winner.")
rand_distance = random.randint(0, 10)
turtle.forward(rand_distance)
设置屏幕宽度和高度的主要优点是我们可以通过假设屏幕为方格纸轻松计算开始和结束坐标。
输出图像
A. 将“红色”作为用户输入。
B. 海龟如何移动的图像。
C. 比赛结束。这说明我们是赢了还是输了比赛。
来源:https://blog.51cto.com/u_14303514/4920103
0
投稿
猜你喜欢
- 本文实例讲述了python统计一个文本中重复行数的方法。分享给大家供大家参考。具体实现方法如下:比如有下面一个文件2312我们期望得到2,2
- 网上广泛流传的取 object 的绝对位置的做法是:var getAbsPos = function(pTar
- 事情是这样的:平时我汇报或者写论文需要画图,都会喜欢用Python的 matplotlib 和 seaborn 把数据📊 📈 和分析结果 🗂
- BN与Dropout共同使用出现的问题BN和Dropout单独使用都能减少过拟合并加速训练速度,但如果一起使用的话并不会产生1+1>2
- 总结了一下自己工作中使用到的注释书写规范,没有什么技术含量,只是用于统一制作方式,方便维护。包含了“区域注释”、“单行注释”、“注释层级”和
- MySQL 中,可以为某张表指定多个索引,但在语句具体执行时,选用哪个索引是由 MySQL 中执行器确定的。那么执行器选择索引的原则是什么,
- 本文介绍了python十进制和二进制的转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下:我终于写完了 , 十进制转二进制的小数部
- jQuery 真是一个非常伟大的 javascript library,至少在我不会写 JS 的时候第一时间接触了它,虽然还有其他很多优秀的
- 一、SQLAlchemy 介绍1.1 ORM 的概念ORM全称Object Relational Mapping(对象关系映射),通过 OR
- 最近做项目的时候遇到过oracle数据库导入导出,在这里我做下记录,防止自己忘记了,有什么不对或者不足的地方,欢迎广大博友拍砖,哈哈~导出命
- Python SMTP发送邮件SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址
- 前一阵,我在为朋友编写一个源代码监控程序的时候,发现了一个 Python 领域非常简单好用的图形界面库。说起图形界面库,你可能会想到 TkI
- 本文实例为大家分享了python创建单词词库的具体代码,供大家参考,具体内容如下基本思路:以COCA两万单词表为基础,用python爬取金山
- Python快捷键相关设置,具体内容如下1、主题毫无疑问Pycharm是一个具有强大快捷键系统的IDE,这就意味着你在Pycharm中的任何
- 目录前言控制刻度间距控制刻度标签更简单的设置方式高级刻度标签控制总结前言我们首先来介绍坐标轴的范围,坐标轴的范围很好理解,有的时候我们产出的
- Bytes和Str的区别在Python3中,字符序列有两种类型:bytes和str。bytes类型是无符号的8位值(通常以ASCII码显式)
- 本文实例为大家分享了python实现学生信息管理系统的具体代码,供大家参考,具体内容如下代码如下:Project.py文件内容:class
- 问题原因:我遇到的情况,装了.NET2.0+IIS升级后就出现以上问题;不确定其他原因也会不会产生类似错误。(如果有,希望大家能贴出更多的原
- 本文实例为大家分享了python实现桌面壁纸切换功能的具体实现方法,供大家参考,具体内容如下大体分为两个部分一、利用爬虫爬取壁纸第一部分爬取
- key: [com.alibaba.druid.stat.DruidDataSourceStatManager.addDataSource(