首页 > 编程语言 >Python编程学习第一篇——制作一个小游戏休闲一下

Python编程学习第一篇——制作一个小游戏休闲一下

时间:2024-06-07 09:01:47浏览次数:20  
标签:turtle race Python 编程 winning color 小游戏 new 乌龟

到上期结束,我们已经学习了Python语言的基本数据结构,除了数值型没有介绍,数值型用的非常广,但也是最容易理解的,将在未来的学习中带大家直接接触和学习掌握。后续我们会开始学习这门语言的一些基础语法和编程技巧,在这之前我们休闲一下,写一个小游戏娱乐一下。

小戏用到了Python内置的基础图形库turtle,用到了random来生成随机数,下面来看一下小游戏的效果,比较简陋。

首先运行程序,弹出游戏窗口,并提示,选择哪个颜色的乌龟会赢。

我们输入:red,鼠标点击OK,

屏幕上开始初始乌龟,一共出现6只不同颜色的乌龟,当它们站在起跑线上后,开始起跑。

小乌龟奋力向前跑去,这次你很幸运,押对了!恭喜你,你的红色小乌龟赢了比赛。

我们再来运行一次,这次我们还是选择red(红色)小乌龟,这次运气不太好,我们失败了。

下面分享一下小游戏程序的完整代码:

import turtle
from turtle import Turtle, Screen
import random
screen = Screen()
screen.setup(width=500, height=400)

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]
all_turtles = []
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)


is_race_on = True
while is_race_on:
    for turtle in all_turtles:
        if turtle.xcor() > 200:
            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.")
            break
        rand_distance = random.randint(0, 10)
        turtle.forward(rand_distance)
                                             

我们还可以优化一下,加上赛道和终点,这样显得更加美观一些,哪只小乌龟胜出也更一目了然。

好了,本期到此结束,期待下期我们再来快乐的学习!

标签:turtle,race,Python,编程,winning,color,小游戏,new,乌龟
From: https://blog.csdn.net/urhero/article/details/139475800

相关文章

  • 运算符重载编程基础
    运算符重载编程基础运算符重载的两种方法定义运算符重载函数名的步骤友元函数实现操作符重载的应用场景友元函数和成员函数选择方法用友元函数重载<<>>操作符友元函数重载操作符使用注意点友元函数案例vector类例如://全局函数完成+操作符重载Complexope......
  • Python实现简单负载均衡
    使用场景,最近在研究把废弃的安卓手机利用起来跑python代码,但是有好多台安卓手机。我就想着把其中一台拿来做负载均衡,然后分配给其他4台烂手机,哈哈哈,废物再利用。至于安卓怎么跑python代码,就自己查一下相关资料了哈,这里就不赘述了。``fromflaskimportFlask,request,jsonif......
  • Python使用Flask实现api接口
    非常简单实现``fromflaskimportFlask,request,jsonifyapp=Flask(__name__)#处理GET请求的示例@app.route('/get_example',methods=['GET'])defget_example():#获取GET请求中的参数值param1=request.args.get('......
  • JavaScript第十一讲:DOM编程“事件”
    前言当涉及到DOM(DocumentObjectModel)的事件时,JavaScript提供了许多内置的事件处理器,用于处理用户在网页上执行的各种操作。1.焦点事件当元素获得或失去焦点时触发。onfocus:当元素获得焦点时触发。onblur:当元素失去焦点时触发。//假设有一个输入框<inputtype="......
  • 【Python】练习:分糖果Ⅱ
    读题,发糖规则为逐个递增分发,发现分发的糖果成等差数列,最后的(不够继续分的)需特殊讨论。思考要怎么做——前面的完整分发轮次和后面的不完整分发轮次分开。出现新的问题,怎么知道有多少完整的轮次——row?注意,要求多少轮,不是用糖数整除人数(平均分)求出,而是用利用数列元素数整除......
  • Python实现简单负载均衡
    使用场景,最近在研究把废弃的安卓手机利用起来跑python代码,但是有好多台安卓手机。我就想着把其中一台拿来做负载均衡,然后分配给其他4台烂手机,哈哈哈,废物再利用。至于安卓怎么跑python代码,就自己查一下相关资料了哈,这里就不赘述了。 importrequestsimportthreadingimport......
  • Python中的“点阵字体”
    “点阵字体”是个啥?,在python中怎么使?在现在全面高清的5G5G5G时代,它还有用“武”之地?(笔记模板由python脚本于2024年06月01日18:44:31创......
  • 基于Python的实验室管理系统的设计与实现(论文+源码)_kaic
    摘 要随着实验室设备越来越多,实验室及其设备管理工作变得越来越繁重,还存在些管理模式仍旧处于手工管理模式和一些抢占实验室的不文明现象,传统的手工模式已经满足不了日益增长的管理需求,而本系统摒弃传统模式,开启新式的实验室管理模式。在需求进行分析的基础上,采用Python语言......
  • 基于Python的街区医院管理系统的设计与实现(论文+源码)_kaic
    基于Python的街区医院管理系统的设计与实现摘 要采用Python语言、Mysql数据库,在IDEA平台下实现了街区医院管理系统,利用街道医疗机构的管理系统,不仅能够有效地进行信息管理,促进各部门之间的有序合作,还能够大幅改善医疗环境,极大地改善病人的就诊体验,并且能够更加有效地满......
  • 运筹学习题Python精解——线性规划
    题1某企业有三个车间生产同一种产品。每件产品由四个零件1和三个零件2组成。两个零件需耗用两种原材料A和B。已知这两种原材料的供应量分别为300kg和500kg。由于三个车间拥有的设备及工艺条件不同,每个工班原材料耗用量和零件产量也不同。见下表(三个车间每班用料和生产......