- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
刘真真C语言课程设计报告
青 岛 农 业 大 学
本 科 生 课 程 论 文
论 文 题 目 五子棋C语音程序设计
学生专业班级 通信工程
学生姓名(学号)
指 导 教 师
完 成 时 间
年 月 日
正文部分
Tablez
设计简介
五子棋是一种传统的棋盘游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。这种游戏用笔纸都可以进行。
本程序设计为人与人对弈,双方棋子为两种不同符号。一方执“黑笑脸”棋,一方执“白笑脸”棋,执“白笑脸”棋的一方先行下子,先输行再输列,比如ab,落子键为“Enter。接着双方轮流走棋,每方都试图在游戏结束前让自己的棋子在横线、竖线、斜线方向五子相连,首先实现五子相连的一方获胜,游戏结束。程序执行过程中,要求棋盘、棋子时时可见,如果中途退出按q键。
二、设计模块
三、流程图
四.设计过程
1、列出所需头文件名
2、定义棋盘的制符表及位置
3、定义双方玩家各自的操作键
4、定义数据结构
5、说明自定义函数原型
6、定义全局变量
7.初始化图像以及获得按键值
8、嵌入各自定义函数编写主函数
9、编写界面初始化函数void Init(void)
10、编写画棋盘函数void Print(void)
11、编写赢棋处理函数void Input( )
12、编写判断是否赢棋函数int Judge ( )
13、编写判断在规定方向是否有五子相连函数int Linksame( )
14、编写游戏结束处理函数Int Gameover( )
调试过程
运行平台:C/C++程序设计学习与实验系统
点击运行,出现棋盘界面
根据界面提示键落子,玩家一先下,双方轮流落子
方五子相连,判出赢家,游戏结束。
按q键退出游戏
六、源程序
#include stdio.h
#include stdlib.h
#define CHESSBOARD_SIZE 15
const int linkcount = 5;
char chessboard[CHESSBOARD_SIZE][CHESSBOARD_SIZE];
int count;
int playerid;
void init()
{
int i, j;
count = 1;
playerid =1; //默认Player1先走
for (i = 0; i CHESSBOARD_SIZE; i++)
{
for (j = 0; j CHESSBOARD_SIZE; j++)
{
chessboard[i][j] = +;
}
}
}
void print()
{
int i, j;
printf( a b c d e f g h i j k l m n o\n);
for (i = 0; i CHESSBOARD_SIZE; i++)
{
printf(%c , i + a);
for (j = 0; j CHESSBOARD_SIZE; j++)
{
printf(%c, chessboard[i][j]);
if (j != CHESSBOARD_SIZE - 1)
{
printf(-);
}
}
printf(\n);
}
}
void input()
{
char ix, iy;
int x, y;
printf(player %d 下棋,想退出请输入q键 :, playerid);
fflush(stdin); //清除之前缓存留下的数据
scanf(%c%c, ix, iy);
if (ix==q)
{
exit(0); //退出游戏
}
getchar();
x = ix - a;
y = iy - a;
while (x 0 || x = CHESSBOARD_SIZE || y 0 || y = CHESSBOARD_SIZE || chessboard[x][y] != +)
{
printf(input error!!\nplease input again: );
fflush(st
文档评论(0)