很多人想学Python程序设计或者已经了解过一点Python程序设计基础,却没办法开发出一个项目。

今天,通过演示一个简单的控制台小游戏制作,手把手教你如何用Python编写一个游戏程序,即便你是个新手,也完全可以跟着操作。

开始前,我们先简明扼要的讨论一下Python是什么,以及Python应该注意的一些规范。

1、Python简介

Python广泛应用web开发、人工智能、数据分析、自动化运维领域,对初学者来说,是一门相对于其他程序设计语言来讲容易上手的一门程序设计语言。

2、规范

在Python之中使用#来表示单行注释,三重引号来表示多行注释,注释应该遵循 “奥卡姆剃刀原理”,即不要使用不必要的注释,好的代码胜于千言万语。

如无必要,勿增实体

在对变量和函数命名的时候,尽量要使用英文单词,一眼就能明白该变量或该函数的用处。

如有必要,可以使用todo注释,来表明将来要做某事,例如下面的注释

# TODO(Zeke) Change this to use relations.

那么接下来,我们进入这次文章的主题吧——控制台的井字棋游戏,效果如下图所示。

既然是控制台游戏,我们欢迎界面就不做的花里胡哨的了。

1、首先我们先创建一个欢迎界面(界面如下)

其实就是在屏幕上输出下面格式的内容

我们可以使用pycharm、IDLE、sublime等开发工具来帮助我们开发,首先我们先创建一个game.py文件,打开文件,输入如下的代码:

此时,我们可以测试一下,这个欢迎界面是否正常。

2、确认玩家选择哪种标记

这里我们就假设只能选择O或者X?这里我们让玩家自己选择。我们一样定一个函数来确定玩家的使用标记。

3、确认玩家还是电脑先手

这里采用了random模块,来随机确定玩家先手还是电脑先手。

原理:我们产生一个从0到1的随机整数,如果是0就是电脑先手,如果非0就是玩家先手。

4、接下来主要的游戏逻辑部分的确定,输赢判断的逻辑(重点)。

我们先把游戏的步骤给大家分析清楚了。

5、游戏的运行逻辑

电脑与玩家轮流下棋,每次下棋都要判断要下的位置是否已经有棋了,并且下完后判断是否产生了进行输赢的判断。

原文发布时间为:2018-07-23

本文作者: 小詹学Python

本文来自云栖社区合作伙伴“小詹学Python”,了解相关信息可以关注“小詹学Python”

如何用python开发游戏_手把手教你用Python完成一个控制台小游戏-阿里云开发者社区...相关推荐

  1. python如何编游戏_手把手教你用python写游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,项目来自 ...

  2. 怎么用python自制计算公式_手把手教你用python制作简易计算器,能够记录你使用的情况...

    话不多说,首先先看效果图,它能够记录你在使用过程中的历史,方便你查看是否有错: 接下来就仔细分析一下是如何制作的: 简易计算器 第一步:导入资源库 在过程中使用到了tkinter这个资源库,win+R ...

  3. 用python画皇冠_手把手教你用 Python 绘制酷炫的桑基图!

    原标题:手把手教你用 Python 绘制酷炫的桑基图! 作者 | 周志鹏 责编 | 郭 芮 最近,不止一次收到小伙伴的截图追问: "这个图叫什么???" "这个图真好看! ...

  4. python 靶心_手把手教你使用Python实战反欺诈模型|原理+代码

    原标题:手把手教你使用Python实战反欺诈模型|原理+代码 作者 | 萝卜 来源 | 早起Python(ID: zaoqi-python) 本文将基于不平衡数据,使用Python进行 反欺诈模型数据 ...

  5. python文本分类_手把手教你在Python中实现文本分类.pdf

    手把手教你在Python 中实现文本分类(附代码.数 据集) 引言 文本分类是商业问题中常见的自然语言处理任务,目标是自动将文本文件分到一个 或多个已定义好的类别中.文本分类的一些例子如下: • 分析 ...

  6. python广州地图_手把手教你用Python+可视化工具制作漂亮地图

    作者:J哥 这次呢,我想讲讲地图可视化的内容,以前我也写过用Python的内置库绘制地图,但总感觉不够美观.如何才能在短时间内制作漂亮的可视化地图呢,我觉得Python+可视化工具是不错的选择. 以下 ...

  7. 利用python编写祝福_手把手|教你用Python换个姿势,送狗年祝福语

    春节既是一个阖家团圆的节日,也是一个集中问候亲朋好友.了解近况的机会.但是也有很多人过年也不能聚在一起,所以就会会选择发短信这一方式来表达自己的祝福.其中大多人都是复制转发,让人一眼就看穿,显得自己在 ...

  8. python私人定制_手把手教你学python第十五讲(魔法方法续私人“定制”)

    python无处不对象的深刻理解 前面写了这么多,我觉得有必要从一个大的层面,也就是OO来看问题的本质.只要你调用对象的语法是合乎python的习惯的,那就是可以的,我们以前从来没有像下面这么写过,对 ...

  9. python自动化开发简历_手把手教你用Python+Selenium实现简历自动刷新!

    (2)安装Python: 等待安装完毕. (3) 安装 selenium pip install selenium –i https: 2.导入浏览器驱动 此处用的是 Chrome 74,其他浏览器请 ...

最新文章

  1. 正则表达式过滤HTML危险脚本
  2. pytest中pytest_addoption用法 动态添加命令行参数 (钩子函数)
  3. Intel Realsense D435 python 实战(一)
  4. Java中常用的集合
  5. 什么是python 包_什么是python
  6. 敢死队核心:{买了就涨指标}
  7. 聊聊flink的RestartStrategies
  8. APE代码解读系列(四)
  9. ubuntu无法打开系统设置的解决办法
  10. speedoffice如何根据身份证号码提取出性别
  11. coTurn 运行在Windows平台的方法
  12. Cadence每日一学_11 | OrCAD原理图DRC检查、BOM表导出、PDF导出、网表导出
  13. cmd sqlplus远程连接_sqlplus连接远程数据库
  14. 74161功能表_计数器74ls161工作原理(分频电路、真值表、逻辑功能)
  15. android BannerView实现自动轮播广告的用法(参考自github)
  16. 杰理之统一音量控制【篇】
  17. Games101:作业6解析(含提高部分SAH)
  18. GB 35114-2017 学习笔记
  19. 启航,超越-动网论坛.NET 1.0正式版发布
  20. php验证码类(分享)

热门文章

  1. html 编辑xml,编辑XML\HTML时取消浏览“amp”
  2. android list 比较,LinkedList 和 ArrayList 的区别
  3. linux script $,linux – 这在shell脚本中是什么意思SCRIPTNAME =“${0 ## * /}”?
  4. 2016年第一堂课课后作业1
  5. OpenCV C++ 08 - Homogeneous Blur on Images with OpenCV
  6. Centos 开机后,登录时无法输入密码怎么解决
  7. Ajax(jquery)
  8. 网站如何从http升级成https
  9. Python学习之 !/usr/bin/python 和 !/usr/bin/env python区别
  10. (转)OpenGL中位图的操作(glReadPixels,glDrawPixels和glCopyPixels应用举例)