当前位置: 首页 > 科技观察

通过构建一个简单的掷骰子游戏去学习怎么用Python编程

时间:2023-03-22 12:52:07 科技观察

通过构建一个简单的骰子游戏,了解如何使用Python进行编程。Python是一种非常流行的编程语言,可用于创建桌面应用程序、3D图形、视频游戏,甚至网站。它是一种非常好的编程语言,因为它易于学习,不像一些复杂的语言,如C、C++或Java。即便如此,Python仍然足够强大和健壮,足以创建高级应用程序,并且适用于几乎所有使用计算机的行业。对于经验丰富的资深程序员和没有经验的初学者来说,Python都是一种很棒的编程语言。安装Python在学习Python之前,你需要先安装它:Linux:如果你使用的是Linux系统,Python已经包含在内。但是,如果您确定要使用Python3。您应该检查已安装的Python版本,打开终端窗口并键入:python3-V如果未找到命令,则需要从包中安装Python3经理。MacOS:如果你使用的是Mac,可以看上面Linux的介绍,确认是否安装了Python3。MacOS没有内置包管理器,因此如果您发现未安装Python3,可以从python.org/downloads/mac-osx安装它。即使macOS已经安装了Python2,您仍然应该学习Python3。Windows:MicrosoftWindows目前没有安装Python。从python.org/downloads/windows安装它。请务必在安装向导中选择将Python添加到PATH,以将Python可执行文件放入搜索路径。要在IDE中运行用Python编写的程序,需要准备一个文本编辑器,使用集成开发环境(IDE)非常实用。IDE在单个文本编辑器中集成了一些方便且有用的Python功能。IDLE3和NINJA-IDE是您可以考虑的两个选项:IDLE3Python附带的基本IDE称为IDLE。IDLE具有可帮助您检测拼写错误的关键字突出显示,以及可轻松快速测试代码的“运行”按钮。要使用它:在Linux或macOS上,启动终端窗口并键入idle3。在Windows上,从开始菜单启动Python3。如果在开始菜单中没有看到Python,请在开始菜单中键入cmd以启动Windows命令提示符,然后输入C:\Windows\py.exe。如果它没有运行,请尝试重新安装Python。并确保在安装向导中选择了“将Python添加到PATH”。详细介绍参见docs.python.org/3/using/windows.html。如果还是不行,就用Linux吧!它是免费的,只需将您的Python文件保存到U盘中,您甚至无需安装即可使用。Ninja-IDENinja-IDE是一个优秀的PythonIDE。它具有关键字突出显示以帮助您检测拼写错误、引号和括号完成以避免语法错误、行号(在调试时有用)、缩进标记和用于快速代码测试的运行按钮。Ninja-IDE使用方法:安装Ninja-IDE。如果您使用的是Linux,使用包管理器安装非常简单;否则,从NINJA-IDE网站下载合适的安装程序。启动忍者IDE。转到“编辑”菜单并选择“首选项”设置。在“首选项”窗口中,单击“执行”选项卡。在执行选项卡上,将python更改为python3。Ninja-IDE中的Python3告诉Python要做什么关键字可以告诉Python你想做什么。在IDLE或Ninja中,转到文件菜单并创建一个新文件。对于Ninja用户:不要创建新项目,只需创建一个新文件。在您的新空文件中,在IDLE或Ninja中输入以下内容:print("Helloworld.")如果您使用的是IDLE,请转到“运行”菜单并选择“运行模块”选项。如果您使用的是Ninja,请单击左侧按钮栏中的运行文件按钮。在Ninja中运行文件print关键字告诉Python打印出括号中的文本。虽然,这不是特别令人兴奋。在内部,Python只能访问基本关键字,如print、help、最基本的数学函数等。可以使用import关键字加载更多关键字。在IDLE或Ninja中新建一个文件,命名为pen.py。警告:不要将您的文件命名为turtle.py,因为名为turtle.py的文件包含在您正在控制的turtle程序中。将文件命名为turtle.py会使Python感到困惑,因为它会认为您正在导入自己的文件。在文件中输入以下代码并运行它:importturtleTurtle是一个非常有趣的模块,试试这个:turtle.begin_fill()turtle.forward(100)turtle.left(90)turtle.forward(100)turtle.left(90)turtle.forward(100)turtle.left(90)turtle.forward(100)turtle.end_fill()看看你现在用海龟模块画出了什么形状。要清除海龟的绘图区域,请使用turtle.clear()关键字。想一想,当您使用turtle.color("blue")关键字时会发生什么?尝试更复杂的代码:importturtleastimporttimet.color("blue")t.begin_fill()counter=0whilecounter<4:t.forward(100)t.left(90)counter=counter+1t.end_fill()time.sleep(5)运行脚本后,是时候探索更多有趣的模块了。通过创建游戏来学习Python想要了解更多Python关键字和图形编程的高级功能,让我们关注一个游戏逻辑。在本教程中,我们还将学习一些有关计算机程序如何构建基于文本的游戏的知识,在该游戏中,计算机和玩家掷虚拟骰子,掷出最高的骰子为赢家。规划你的游戏在编写代码之前,最重要的是考虑如何编写它。许多程序员在编写代码之前,会先编写简单的文档,这样他们就有了一个编程目标。如果您想记录该程序,游戏将如下所示:开始掷骰子游戏并按Return或Enter掷骰子结果打印在屏幕上,提示您再次掷骰子或退出这是一个简单的游戏但是,文档会告诉您很多关于需要做什么的信息。例如,它告诉你编写这个游戏需要以下组件:玩家:你需要一个人来玩这个游戏。AI:电脑也得掷骰子,否则输赢都没有随机数:一个普通的六面骰子,代表一个从1-6的随机数或退出制作掷骰子游戏的alpha版本很少有程序从一开始就包含所有功能,因此它们的初始版本仅实现了最基本的功能。首先定义几个:变量是一个经常变化的值,它在Python中被大量使用。每当您需要程序“记住”某些内容时,您就可以使用变量。实际上,代码中运行的信息是保存在变量中的。例如,在数学方程式x+5=20中,变量为x,因为字母x是变量占位符。整数是可以为正数或负数的数字。例如,1和-1是整数,因此14、21甚至10947都是。在Python中创建和使用变量非常容易。这个骰子游戏的初始版本使用两个变量:player和ai。在名为dice_alpha.py的新文件中输入以下代码:importrandomplayer=random.randint(1,6)ai=random.randint(1,6)ifplayer>ai:print("Youwin")#noticeindentationelse:print("Youlose")开始您的游戏并确保其正常运行。游戏的基本版本已经运行良好。它实现了游戏的基本目标,但是,它看起来不像游戏。玩家不知道自己在抖什么,电脑也不知道自己在抖什么,而且,即使玩家想玩,游戏也结束了。这是软件的初始版本(通常称为alpha版本)。现在您确定已经实现了游戏的主要部分(掷骰子),是时候将它添加到程序中了。改进游戏在游戏的第二个版本(称为测试版)中,将进行一些改进以使其看起来像游戏。1.描述结果不要只告诉玩家输赢,他们更感兴趣的是自己投掷的结果。尝试像这样更改您的代码:player=random.randint(1,6)print("Yourrolled"+player)ai=random.randint(1,6)print("Thecomputerrolled"+ai)现在,如果您运行游戏并且它崩溃是因为Python认为你正在尝试做数学。它认为您正试图将您滚动的字母放在玩家变量上,而存储在其中的是数字。您必须告诉Python将player和ai变量中的数字视为句子中的单词(字符串)而不是数学方程式中的数字(整数)。在您的代码中进行以下更改:player=random.randint(1,6)print("Yourrolled"+str(player))ai=random.randint(1,6)print("Thecomputerrolled"+str(ai))现在运行您的游戏并查看结果。2.让它慢下来电脑跑得很快。人有时可以很快,但在游戏中,悬念往往更好。在这个紧张的时刻,您可以使用Python的时间函数来减慢您的游戏速度。importrandomimporttimeplayer=random.randint(1,6)print("Yourrolled"+str(player))ai=random.randint(1,6)print("Thecomputerrolls....")time.sleep(2)print("Thecomputerhasrolleda"+str(player))ifplayer>ai:print("Youwin")#noticeindentationelse:print("Youlose")开始游戏以测试更改。3.检测关系如果你玩过几次你的游戏,你会发现即使你的游戏看起来运行正常,它实际上有一个错误:当玩家和电脑掷出相同的数字时,它不会知道做什么。要检查一个值是否等于另一个值,Python使用==。这是一个“双”等号,而不是一个。如果您只使用一个,Python会认为您正在尝试创建一个新变量,但实际上您是在尝试进行数学运算。当你想有两个以上的选择时(即赢或输),你可以使用Python的elif关键字,意思是“否则,如果”。这允许您的代码检查“多个”结果中的一个是否为真,而不仅仅是“一个”。像这样修改你的代码:ifplayer>ai:print("Youwin")#noticeindentationelifplayer==ai:print("Tiegame.")else:print("Youlose")再运行你的游戏几次,看看你能不能摇晃与电脑打成平手。编写掷骰子游戏的最终版本Beta版本的功能和感觉比alpha版本更像游戏,对于最终版本,让我们创建您的第一个Python函数。函数是可以作为单个单元调用的代码集合。函数非常重要,因为大多数应用程序中都有很多代码,但并非所有代码都只执行一次。函数启用应用程序并控制何时以及可能发生什么。将您的代码更改为:importrandomimporttimedefdice():player=random.randint(1,6)print("Yourrolled"+str(player))ai=random.randint(1,6)print("Thecomputerrolls....")time.sleep(2)print("Thecomputerhasrolleda"+str(player))ifplayer>ai:print("Youwin")#noticeindentationelse:print("Youlose")print("Quit?Y/N")cont=input()ifcont="Y"orcont="y":exit()elifcont="N"orcont="n":passelse:print("Ididnotunderstandthat.Playingagain.")这个版本的游戏,在Theywillasktheplayer玩完游戏就退出。如果他们以Y或y响应,Python将调用其退出函数退出游戏。更重要的是,您将创建一个名为dice的函数。骰子函数不会立即运行,事实上,如果您尝试在此阶段运行您的游戏,它不会崩溃,但它也不会真正运行。为了使dice函数真正执行某些操作,您必须从您的代码中调用它。在你已有的代码下面添加这个循环,前两行就是上面的前两行,不用再敲,注意哪些需要缩进,哪些不需要。注意缩进格式。else:print("Ididnotunderstandthat.Playingagain.")#mainloopwhileTrue:print("Pressreturntorollyourdie.")roll=input()dice()whileTrue代码块首先运行。因为True被定义为始终为真,所以这段代码将一直运行,直到Python告诉它退出。whileTrue代码块是一个循环。它首先提示用户开始游戏,然后调用您的骰子函数。这是游戏开始的地方。当骰子函数完成运行时,根据玩家的回答,您的循环会再次运行或退出。使用循环来运行程序是编写应用程序最常用的方法。循环确保应用程序长时间保持可用,以便计算机用户可以使用应用程序中的功能。后续步骤现在,您了解了Python编程的基础知识。本系列的下一篇文章将介绍如何使用PyGame编写视频游戏,该模块比turtle模块功能更多,但也更复杂一些。