c语言设计_五子棋游戏【GHOE】

上传人:东****0 文档编号:121573873 上传时间:2020-02-24 格式:DOC 页数:16 大小:168KB
返回 下载 相关 举报
c语言设计_五子棋游戏【GHOE】_第1页
第1页 / 共16页
c语言设计_五子棋游戏【GHOE】_第2页
第2页 / 共16页
c语言设计_五子棋游戏【GHOE】_第3页
第3页 / 共16页
c语言设计_五子棋游戏【GHOE】_第4页
第4页 / 共16页
c语言设计_五子棋游戏【GHOE】_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《c语言设计_五子棋游戏【GHOE】》由会员分享,可在线阅读,更多相关《c语言设计_五子棋游戏【GHOE】(16页珍藏版)》请在金锄头文库上搜索。

1、河 南 城 建 学 院测绘与城市空间信息系测绘程序设计题 目: 五子棋游戏 班 级: 0614112 人 数: 3人 成 员: 赵哲武 李志强 李少帅 夏韦程 学 号: 061411257 0614411225 061411223 061411245 指导老师: 闫继涛 邢晓娜 高松峰 毛政利 时 间: 2012年6月 目 录1课程设计报告-21.1问题描述-21.2 任务分工- - - - - - - - - - - - - - - 2 1.3需求分析-3 1.4概要设计-3 1.5详细设计-4 1.6调试分析-52源程序-63程序的说明文件-124课设总结-131. 课程设计报告1.1问题

2、描述连珠(五子棋)是有两个人在一盘棋上进行对抗的竞技运动。在对局开始时,先由用户选择哪方先开局,先开局一方将一枚棋子落在一点上,然后由另一方在对方棋周围的交叉点上落子,如此轮流落子,直到某一方首先在棋盘的直线、横线或斜线上形成连续的五子则该方就算获胜。此时,算法结束。当有任何一方想退出时,都可在算法中实现。 1.2 五子棋的背景传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为1515,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。 因为传统五子棋在落子后不能移动或拿掉,所以也可以用纸和笔来进行游戏。1.2 任务分工

3、组长:赵哲武负责小组程序的输入和创新部分,分配任务,使工作衔接有序,以及程序的整体规划,将各部分文件衔接,查找错误,排版论文并完成主函数的设及相关变量的定义,完成void attentoin()的设计细节设计,完成void draw_box(),void change();void judgekey()的设计并调试并运行程序,完成实验报告。组员:李志强完成void judgewho(int x,int y)的设计,并作出自己部分的编程代码,流程图。组员:夏韦程完成void draw_cicle(int x,int y,int color)的设计,并作出自己部分的编程代码,流程图。组员:李少帅完

4、成int judgeresult(int x,int y)的设计。 1.3需求分析 (1)、输出游戏规则并由用户决定是否遵守并开局。 (2)、要求动态画出棋盘大小。(3)、画棋子并确定其颜色。 (4)、玩家轮流下棋。(5)、判断键盘输入哪个键按规则执行操作 (6)、判断谁先落棋。 (7)判断赢家1.4概要设计 流程图 流程图 1 开始西 安 工 业 大 学计算机科学与工程学院算 法 设 计 与 分 析 课 程 设 计题 目: 五子棋 班 级: 050606 人 数: 13人 成 员: 陈玮 高谦 侯夕杰 马涛 宋文彬 王伟 周仁文 邵文清赵瑞红 李盈超 尉建明 陈建军 张祥雄 学 号: 时 间

5、: 2008年元月16日 目 录1课程设计报告-1 1.1问题描述-1 1.2需求分析-1 1.3概要设计-1 1.4详细设计-页码 1.5调试分析-页码2源程序-页码3程序的说明文件-页码4课设总结-页码1. 课程设计报告1.1问题描述连珠(五子棋)是有两个人在一盘棋上进行对抗的竞技运动。在对局开始时,先由用户选择哪方先开局,先开局一方将一枚棋子落在一点上,然后由另一方在对方棋周围的交叉点上落子,如此轮流落子,直到某一方首先在棋盘的直线、横线或斜线上形成连续的五子则该方就算获胜。此时,算法结束。当有任何一方想退出时,都可在算法中实现。 1.2需求分析 (1)、输出游戏规则并由用户决定是否遵守

6、并开局。 (2)、要求动态画出棋盘大小。(3)、画棋子并确定其颜色。 (4)、玩家轮流下棋。(5)、判断键盘输入哪个键按规则执行操作 (6)、判断谁先落棋。 (7)判断赢家1.3概要设计 流程图:Y Y N Y N Y N Y 1.4详细设计 1.5调试分析 运行结果:屏幕显示:Please input who is first:1 or 2 当输入1时,白棋先走;当输入2时,红棋先走。屏幕显示:Please input the size of chessbox:从键盘输入t值,则棋盘大小为t*t型。屏幕显示:Left, Right, Up, Down KEY to move, Space t

7、o put, ESC-quit 及棋盘,棋子,用上下左右键控制棋子向,用空格键确定棋子的落点 。当白棋赢时,显示The White Win ! 当红棋赢时,显示The Red Win !遇到的问题:算法改进思想:将棋盘由原先的固定大小改进为可动态变化,由原来固定的白棋先走改进为让用户可以选择哪方先落子。2源程序#include#include#include#include#include#define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011b#define SPA

8、CE 0x3920#define BILI 20#define JZ 4#define JS 3#define N 19int boxNN,s; /*落子点*/int step_x,step_y ;int key ;int flag,i,j ;void draw_box();void draw_cicle(int x,int y,int color);void change();void judgewho(int x,int y);void judgekey();int judgeresult(int x,int y);void attentoin();void attentoin() /*游

9、戏规则*/ char ch ; printf(Play attentoins:nn); printf(1. Press Left,Right,Up,Down Key to move Piecenn); printf(2. Press Space to place the Piecenn); printf(3. DO NOT press Space outside of the draw_boxnn); printf(Do you accept the above Playing attentoins? Y/Other:); while(1) ch=getche(); if(ch=Y|ch=y)

10、 break ; else exit(0); printf(nnwhat size of the draw_box:); scanf(%d,&s); printf(nnwho is the frist:1 or 2? ); while(1) scanf(%d,&flag); if(flag!=1&flag!=2) printf(Error!n); else break; void draw_box() /*画出棋盘*/ int x1,x2,y1,y2 ; setbkcolor(LIGHTBLUE); setcolor(YELLOW); gotoxy(7,2); printf(Left, Right, Up, Down KEY to move, Space to put, ESC-quit.); for(x1=1,y1=1,y2=s;x1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号