因为参加了python学习竞赛,自学了python的一些基础语法,做了一个中国象棋的小游戏,作为参赛项目,开始之前专门在电脑上下载了一个象棋小游戏,研究了一下象棋规则以及一些按键,接下来就把这个象棋小游戏以及一些写作过程中所遇到的问题与大家共同探讨一下。

先贴两张完成后的效果图:

完成效果

成效截图

由于博客只能上传5M以内的GIF文件,录取的视频压缩后就变成了上面这样,具体图如‘成效截图’所示。

先对此游戏规则做一说明:相只能走田子格,马只能走日子格,将,士不可出田,兵过界前只能直走,过界后可左右走,但不可后退,炮隔山吃子,车可直接吃子,某一方‘将’被吃,对方赢棋。

实现功能:图中所示功能均可实现,

1、开始背景音乐响起,走棋,吃子,按键,各有相应的声音与之对应

2、“开始”:‘开始,暂停’相互转换,暂停后不可落子

3、“喇叭”:点击喇叭可关闭游戏内一切音效

4、“悔棋”:会返回上步棋局

5、“重新开始”:会开启新一局游戏

6、“退出游戏”:退出游戏界面

下面就回顾一下这个项目的从头至尾的过程,希望对大家的学习能有所帮助,也算是对自己学习的一个巩固。

这个项目的开发环境是python的pygame模块,我所用的是visual studio中的python版本,其他python3.3以上的版本应该都可以运行。

下边我会通过一系列小的步骤,逐步完成这个象棋游戏:

(一)Pathon开发象棋小游戏(总体思路分析)

(二)Pathon开发象棋小游戏(绘制棋盘)

(三)Pathon开发象棋小游戏(绘制棋子)

(四)Pathon开发象棋小游戏(棋子移动)

(五)Pathon开发象棋小游戏(吃子与规则)

(六)Pathon开发象棋小游戏(判赢与按键)

(七)Pathon开发象棋小游戏(美化与音效)

文章中有任何不懂的问题,欢迎大家骚扰,博主很愿意和大家共同进步哟~~~

Pathon开发象棋小游戏相关推荐

  1. 如何用Python开发象棋小游戏

    如何用Python开发象棋小游戏,源代码版本 人生苦短,我用Python! hello 大家好!我是Mark,一个姓马名克的中国人. 最近,我在CSDN当中看到了这一篇文章: 传送门 他详细地讲解了如 ...

  2. 用 pygame 开发象棋小游戏

    源码及资源请前往github获取 如果觉得还不错的话,请赏个 star 呗. 最近因为工作原因,需要学习一下python,学习了基础语法,打算做一个游戏,算做python 学习的一个阶段点. 前段时间 ...

  3. python 下棋_Python开发象棋小游戏(总体思路分析)

    先来个温馨提示:不会象棋,或者不是很懂象棋规则的朋友,可以先去下载个象棋小游戏,了解一下规则,毕竟后面这些规则都是我们写的啦,但也不能乱写呀,嘎嘎嘎~~~ 切入正题,在开始之前呢,我们要先缕清思路,下 ...

  4. python象棋编程_Python开发象棋小游戏(绘制棋盘)

    上一篇中,我们缕清了思路,知道了如何写,怎么做,从哪入手,这一篇,我们就正式开始敲代码了,编程使我快乐,对吧,emm~~~ 还记得这张图吧: 编程完成 好了,向着目标,进发了... 程序中牵扯到的函数 ...

  5. python绘制象棋棋盘图片_Python开发象棋小游戏(绘制棋盘)

    上一篇中,我们缕清了思路,知道了如何写,怎么做,从哪入手,这一篇,我们就正式开始敲代码了,编程使我快乐,对吧,emm~~~ 还记得这张图吧: 编程完成 好了,向着目标,进发了... 程序中牵扯到的函数 ...

  6. 用html+css+js实现中国象棋小游戏开发项目

    用html+css+js中国象棋小游戏开发项目 最近刚学习完JS的相关课程,跟着老师做了两个小游戏项目,就已经抑制不住内心的小激动,想着要迫不及待的着手准备做一个网页小游戏--中国象棋 由于从小就比较 ...

  7. 如何利用C#开发“扫雷”小游戏

    本文详细说明了利用C#语言开发"扫雷"小游戏的开发过程.

  8. 如何不用服务器来开发一个小游戏

    我是代长新,来自上海享物说,主要负责游戏客户端研发. 享物说是一个大家可以互相赠送物品,有趣.不花钱的社区平台.为了创造更好的社区氛围,我们决定通过小游戏来增加社区的趣味性和互动性. <乐享花园 ...

  9. 基于 Blazor 开发五子棋小游戏

    今天是农历五月初五,端午节.在此,祝大家端午安康! 端午节是中华民族古老的传统节日之一.端午也称端五,端阳.此外,端午节还有许多别称,如:午日节.重五节.五月节.浴兰节.女儿节.天中节.地腊.诗人节. ...

最新文章

  1. android时间轴折线图,带时间轴的折线图
  2. spring框架中JDK和CGLIB动态代理区别
  3. 流媒体服务器 php,nginx 流媒体服务器 FFmpeg 截图
  4. LeetCode 321. 拼接最大数(单调栈)*
  5. Java 三个线程依次输出ABC
  6. 牛客网 - 机器人走方格 (动态规划)
  7. 做游戏,学编程(C语言) 1 实现弹跳小球
  8. 2019-04-01
  9. Tomcat 下载安装,启动,停止,注册服务,开机自启
  10. SQL Server 数据库之字符串函数
  11. 51单片机c语言秒表,51单片机秒表C程序
  12. Clark变换和Park变换仿真验证
  13. OpenKG开源系列 | 轻量级知识图谱抽取开源工具OpenUE
  14. Win10 KeilC51-C251-ARM共存方法
  15. 站在思想层面看MVX架构
  16. xlsx表格怎么做汇总统计_表格进行分类汇总怎么做
  17. 决策树——预测泰坦尼克号幸存者
  18. Ureport2的表格更改小技巧
  19. matlab 写netcdf,写入 netCDF 属性
  20. 这些东西80后真的懂 90后未必懂

热门文章

  1. CKEditor实现图片上传以及预览
  2. 补货提醒excel整理
  3. android CTS 介绍
  4. 计算机 ip 地址分为那几类,ip地址分为几类
  5. 测试wlan的软件是什么,配置软件定义的WLAN测试系统
  6. 最常见的strncpy函数的缺陷,‘\0‘问题
  7. 如何整理计算机本地磁盘文件夹,怎么清理c盘无用文件,10招教你如何清除C盘除系统外的所有垃圾...
  8. 使用react-draggable和react-resizable实现Ant Design Modal的拖动和拖拽改变宽度
  9. 胎压监测系统TPMS
  10. 西门子、ABB、霍尼韦尔、中控、力控...中国SCADADCS市场报告