用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. 比赛结束。这说明我们是赢了还是输了比赛。

总结

到此这篇关于用python实现海龟赛跑小游戏的文章就介绍到这了,更多相关python海龟赛跑内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-01-13

Python小实例混合使用turtle和tkinter让小海龟互动起来

Turtle 窗口 请看下图,turtle窗口图标是一片小叶子,估计它就是继承自 tkinter 库. tkinter 窗口 参阅了一些资料,发现 turtle 方法可直接在 tkinter 的画布Canvas上操作: 源代码 from tkinter import * from turtle import RawTurtle def circ(): tu.penup() tu.home() tu.clear() tu.speed(0) [x,y,R] = et1.get().split(','

python 随机数使用方法,推导以及字符串,双色球小程序实例

如下所示: #随机数的使用 import random #导入random random.randint(0,9)#制定随机数0到9 i=random.sample(range(1,34),6)#输出6个随机数,范围是1到34 i.sort()#排序方法,排序时更改原数组,无返回值 sorted(i)#排序函数,排序时不影响原数组,产生新的排序后数据 print('----------------用上述的随机数做一个双色球---------------------') sj=random.sam

python 将大文件切分为多个小文件的实例

切分文件 最近遇到需要切分文件的需求,当然首选用python来解决,网上搜了下感觉都太复杂了,其实用python自带函数即可解决. f = open('path&filename','r') #打开文件 i = 0 #设置计数器 while i<12345 : #这里12345表示文件行数,如果不知道行数可用每行长度等其他条件来判断 with open('newfile'+str(i),'w') as f1: for j in range(0,100) : #这里设置每个子文件的大小 if

使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)

全国抗"疫"这么久终于见到曙光,在家待了将近一个月,现在终于可以去上班了,可是却发现出门必备的口罩却一直买不到.最近看到京东上每天都会有口罩的秒杀活动,试了几次却怎么也抢不到,到了抢购的时间,浏览器的页面根本就刷新不出来,等刷出来秒杀也结束了.现在每天只放出一万个,却有几百万人在抢,很想知道别人是怎么抢到的,于是就在网上找了大神公开出来的抢购代码.看了下代码并不复杂,现在我们就报着学习的态度一起看看. 使用模块 requests:类似 urllib,主要用于向网站发送 HTTP 请求.

从CentOS安装完成到生成词云python的实例

前言 人生苦短,我用python.学习python怎么能不搞一下词云呢是不是(ง •̀_•́)ง 于是便有了这篇边实践边记录的笔记. 环境:VMware 12pro + CentOS7 + Python 2.7.5 安装系统 之前一直用的是win10子系统,现在试试CentOS,CentOS官网下载最新系统dvd版 安装到VMware 12pro.网上很多教程.例如这个链接.等待安装完成后开始. 第一个命令 用Ubuntu的时候没有的命令会提示你安装,感觉很简单的事.但是到CentOS上却变得很

Python GUI编程学习笔记之tkinter事件绑定操作详解

本文实例讲述了Python GUI编程学习笔记之tkinter事件绑定操作.分享给大家供大家参考,具体如下: 相关内容: command bind protocol 首发时间:2018-03-04 19:26 command: command是控件中的一个参数,如果使得command=函数,那么点击控件的时候将会触发函数 能够定义command的常见控件有: Button.Menu- 调用函数时,默认是没有参数传入的,如果要强制传入参数,可以考虑使用lambda from tkinter imp

Python GUI编程学习笔记之tkinter界面布局显示详解

本文实例讲述了Python GUI编程学习笔记之tkinter界面布局显示.分享给大家供大家参考,具体如下: 相关内容: pack 介绍 常用参数 使用情况 常用函数 grid 介绍 常用参数 使用情况 常用函数 place 介绍 常用参数 使用情况 常用函数 首发时间:2018-03-04 14:20 pack: 介绍: pack几何管理器按行或列打包小部件. 可以使用填充fill,展开expand和靠边side等选项来控制此几何体管理器. pack的排放控件的形式就像将一个个控件按大小从上到

基于Django的python验证码(实例讲解)

验证码 在用户注册.登录页面,为了防止暴力请求,可以加入验证码功能,如果验证码错误,则不需要继续处理,可以减轻一些服务器的压力 使用验证码也是一种有效的防止crsf的方法 验证码效果如下图: 验证码视图 新建viewsUtil.py,定义函数verifycode 此段代码用到了PIL中的Image.ImageDraw.ImageFont模块,需要先安装Pillow(3.4.1)包, 详细文档参考 http://pillow.readthedocs.io/en/3.4.x/ Image表示画布对象

Python爬虫实例爬取网站搞笑段子

众所周知,python是写爬虫的利器,今天作者用python写一个小爬虫爬下一个段子网站的众多段子. 目标段子网站为"http://ishuo.cn/",我们先分析其下段子的所在子页的url特点,可以轻易发现发现为"http://ishuo.cn/subject/"+数字, 经过测试发现,该网站的反扒机制薄弱,可以轻易地爬遍其所有站点. 现在利用python的re及urllib库将其所有段子扒下 import sys import re import urllib

python简单实例训练(21~30)

注意:我用的python2.7,大家如果用Python3.0以上的版本,请记得在print()函数哦!如果因为版本问题评论的,不做回复哦!! 21.题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n!=k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步. (3)如果n不

Python实现的摇骰子猜大小功能小游戏示例

本文实例讲述了Python实现的摇骰子猜大小功能小游戏.分享给大家供大家参考,具体如下: 最近学习Python的随机数,逻辑判断,循环的用法,就想找一些练习题,比如小游戏猜大小,程序思路如下: 开发环境:python2.7 , 附上源代码如下: 摇骰子的函数,这个函数其实并不需要传任何参数,调用后会返回三个点数结果的列表. import random def roll_dice(numbers=3,points=None): print ('<<<<< ROLL THE DI