中国象棋 C语言编程

双人对弈中国象棋 程序所负责内容介绍 计算机生成红黑双方以及棋盘。 各个棋子的移动。 当危险时显示被“将军”。 分支思路 1.棋盘棋子的制作与输出 棋盘 走子加规则 计算机生成红黑双方以及棋盘 第一想法 第二想法→有子无子两种状态分别对应0和非0 判断是否为0 调用shift函数 调用broad函数 非0 为0 对每个位置赋值 输出 走子加规则 分支思路 1.走子的完成加走子的规则。 棋盘 各个棋子的移动 获取移动位置的方法:运用坐标 判断是否合法 重新输出整个棋盘 移动的实现方法 首先让玩家输入要移动的位置,然后输入要走到的位置 将前者的位置的值赋给后者位置,同时将前者位置值赋值为0,再次输出各个位置。 判断移动是否合法 首先判断是否吃的是自己的子 然后判断是否满足规则 (定义一个变量j并初始化为1,每次一旦判断移动不合法时,就让 j=0; 输出时j=0时不输出,这就保证了只有合法移动)。 当危险时显示被“将军” “将军”情况复杂,如何判断将军呢 判断将军的方法 首先得先找到对方老将的位置 以移动的子落点位置为起始位置,以对方老将位置为要移动到的位置,调用规则函数验证,如果可以吃到,则显示 “将军!”。 以上内容就是我所负责的模块以及解决思路 走子加规则 分支思路 1.走子的完成加走子的规则。 棋盘 1. 规则。 常见规则 1.自己的棋子不能吃己方棋子。利用各方棋子的 值 的范围。 2.判断是否走出棋盘 ,跟据二维数组的的定义范围来判断。 ├ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┤ ├ ┼ ┼ ┼ ┼ ┼ ┼ ┼ ┤ ├ ╬ ┼ ┼ ┼ ┼ ┼ ╬ ┤ ├ ┼ ┼ ┼ ╳┼ ┼ ┼ ┤ └ ┴ ┴ 2 1 2 ┴ ┴ ┘ 具体的棋子走子规则 数学方法解决,判断棋子的初始值从而对应不同的走法% 10┌ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┐ 9├ ┼ ┼ ┼ ╳┼ ┼ ┼ ┤ 8├ ╬ ┼ ┼ ┼ ┼ ┼ ╬ ┤ 7├ ┼ ┼ ┼ ┼ ┼ ┼ ┼ ┤ 6├ ┴ ┴ ┴ ┴ ┴ ┴ ┴ ┤ 5├ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┤ 4├ ┼ ┼ ┼ ┼ ┼ ┼ ┼ ┤ 3├ ╬ ┼ ┼ ┼ ┼ ┼ ╬ ┤ 2├ ┼ ┼ ┼ ╳ ┼ ┼ ┼ ┤ 1└ ┴ ┴ ┴ ┴ ┴ ┴ ┴ ┘ 1 2 3 4 5 6 7 8 9 将 只能在九格宫内 一次一步走直线 仕 只能在九格宫内走斜线,一次距离横纵坐标为1 象 象走田,不过河,别象腿。 马 马跳日, 别马腿。 车 走直线,中间无挡子 炮 炮有 支架 ,不可以以空打 兵 过河前走直线向前,河后可以平移。不可后退 Step 3 Goal! 走之前保存要走位置的棋子的数学信息。 Step 2 走之后保存要走到位置的棋子的数学信息 如果悔棋,将原来的值重新覆回到棋盘中 完成 悔棋程序 Step 1 简单的方法 判断九格宫内是否存在帅的数学值 判断输赢 2. 3. 1. 每走一步就利用循环覆给三维数组 棋子的步数可以利用赋值之后++ 三维数组a[棋子的步数][横坐标] [纵坐标] 当需要输出 时就可以输出了 复盘 Thank you ! * * * * * * * * * * * * * * * *

中国象棋棋盘c语言编程,中国象棋 C语言编程.ppt相关推荐

  1. java中国象棋棋盘放置棋子,Qt中国象棋二——棋盘与棋子的绘制

    上次和大家分享了Qt的2D绘图基础知识,这样可以更好地理解象棋中一些关于绘图的程序.这次要和大家分享的则是棋盘与棋子的绘制,也可以说是Qt 2D绘图的一些具体应用. 源程序是我在网上找的,而且是下载了 ...

  2. c语言编程一个象棋游戏,急求:C语言编写的中国象棋游戏一个

    急求:C语言编写的中国象棋游戏一个 來源:互聯網  2009-09-08 12:30:35  評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 問題描述: 由于学习 ...

  3. 用turtle画中国象棋棋盘

    刚刚学习了<Python入门教程(一)--Python语言基础视频课程>(http://edu.51cto.com/course/12194.html) 中间有道作业就是用turtle画中 ...

  4. linux下的c语言实现象棋,用C语言实现中国象棋

    基于五子棋框架上的 象棋 小游戏 本游戏是上各种水课无聊时的产物...不参考现有游戏从零开始实现各项功能. 游戏配置:二维数组,循环系统,wasd基本移动,调整窗台的函数,以及富足的发呆时间.. 完整 ...

  5. matlab识别中国象棋棋盘,一种基于图像处理的中国象棋识别系统及方法与流程

    本发明涉及计算机图像识别技术,具体涉及一种基于图像处理的中国象棋识别系统及方法. 背景技术: 数字图像处理技术在机器感知领域应用十分广泛,主要目标是通过一些图像处理技术从图像中提取信息,该信息类似于人 ...

  6. 用C语言实现中国象棋(mac+windows双版本)

    今天突然翻到了大一上学期的c语言中国象棋大作业,想到这已经是我的编程水平巅峰,不由得心生悲哀,只好发出来记录一下. 零.前言 本程序已知的缺陷有:未能实现将/帅不能相对这一规则,其他bug暂时未知,建 ...

  7. JAVA中用程序绘制国际象棋与中国象棋棋盘

    JAVA API 中的绘制图形类的paint()方法,我们可以轻松绘制中国象棋与国际象棋的棋盘.详见代码: 一.中国象棋棋盘代码 import java.awt.Font; import java.a ...

  8. 中国象棋棋盘java_java绘制国际象棋与中国象棋棋盘

    JAVA API 中的绘制图形类的paint()方法,我们可以轻松绘制中国象棋与国际象棋的棋盘.详见代码: 一.中国象棋棋盘代码 import java.awt.Font; import java.a ...

  9. 如何用Python画一个中国象棋棋盘?

    今天试着画了一个中国象棋棋盘! #绘制象棋盘 import turtle      t=turtle.Pen() t.speed(100) def angle(x,y):     t.penup() ...

  10. C语言+图形编程——自制象棋

    用C语言做个象棋是不容易的,涉及到的知识点有很多方面,C语言里面的基本数据类型.运算符.顺序,分支,循环结构.还有运用到数组,函数,指针,以及我们的位运算等. 做出来的象棋程序,自然的话代码也不少的, ...

最新文章

  1. 精简版开发工具使用手记(图解)
  2. 请不要“妖魔化”外包岗位!
  3. IIS搭配Server-u构建企业空间服务(二)
  4. git 如何删除缓存的远程分支列表
  5. python正则表达式 多个条件的匹配
  6. 清理了两位同事的机器,走人时要自行清理
  7. android 下载 文件怎么打开方式,apk文件怎么打开?
  8. 移动端Web组件-Dialog对话框
  9. a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站…z站?
  10. HDU-4747 二分+线段树
  11. CSS入门学习笔记+案例(1)
  12. NGFW与UTM的三大区别
  13. 西南交大大学生营养早餐优化食谱
  14. IDA使用初探-1.启动IDA
  15. 论文阅读汇总(3)-【篇数:50】
  16. matlab kml批量转为shp文件,arcpy实现 kml批量转出为shp
  17. Windows下python安装PyCrypto加密模块以及使用
  18. 当电脑80端口被占用怎么办
  19. 数据中台夯实数据基础
  20. Kubernetes基础:问题排查方法示例:结合使用kubectl get event

热门文章

  1. 推荐系统中的Embedding应用
  2. smalltalk五个特性
  3. 屏保问题(即背光灯的关闭)
  4. unity打包安卓显示手机顶部状态栏
  5. 【读论文】基于三支决策的不平衡数据过采样方法
  6. Filament加载并渲染glTF模型
  7. CAXA电子图板2013机械版下载及安装教程详解
  8. php三层架构 注册登陆,什么是三层架构
  9. Android移动开发:第二章按钮(2)
  10. Mac安装photoshop错误:安装程序未能初始化