1、五子棋游戏开发一、实验题目:设计一个简单实用五子棋游戏程序。二、五子棋游戏介绍连珠(五子棋)是有两个人在一盘棋上进行对抗的竞技运动。在对局开始时,先由用户选择哪方先开局,先开局一方将一枚棋子落在一点上,然后由另一方在对方棋周围的交叉点上落子,如此轮流落子,直到某一方首先在棋盘的直线、横线或斜线上形成连续的五子则该方就算获胜。此时,算法结束。当有任何一方想退出时,都可在算法中实现。三、程序设计要求(1)、输出游戏规则并由用户决定是否遵守并开局。(2)、要求动态画出棋盘大小。(3)、画棋子并确定其颜色。(4)、玩家轮流下棋。(5)、判断键盘输入哪个键按规则执行操作(6)、判断谁先落棋。(7)、判断
2、赢家四、程序功能模块及函数接口 本程序中包含一个主函数和七个子函数,它们的函数名及功能分别如下:void Menu(void)/*玩家游戏提醒, 显示游戏规则,按上下左右键移动棋子,按空格键确定棋子落点,不能在棋盘外按空格键。*/void DrawBox(void)/*画棋盘,确定背景色和棋盘色按用户输入大小画出棋盘*/void DrawCircle(int x,int y,int color)/*画棋子,确定棋子大小及颜色画出棋子。*/void KeyAction(int key)/*判断键盘输入哪个键按规则执行操作,UP 键上移,DOWN键下移,LEFT键左移,RIGHT键右移棋子,ESC
3、键退出,SPACE键确定棋子落点。*/int JudgeWin(int x,int y)/*判断赢家,横向竖向斜向够5个相同颜色的棋子则为赢家。*/五、程序主结构#include #include #include #define Esc 0x11bvoid main() int gdriver=VGA,gmode=VGAHI; /*定义图形适配器*/ int key; clrscr();/*玩家游戏提醒, 显示游戏规则,按上下左右键移动棋子,按空格键确定棋子落点,不能在棋盘外按空格键。*/ Menu(); initgraph(&gdriver,&gmode,c:tc); /*图形初始化*/*画棋盘,确定背景色和棋盘色按用户输入大小画出棋盘*/ DrawBox(); do while (bioskey(1) = 0);key=bioskey(0); /*根据白方或红方先手初始化棋子。 获取选手按键信息并根据上下左右键在棋盘内移动棋子。 空格键落子,并判断有无获胜,获胜则提示并退出程序。*/ while(Esc!=key); closegraph(); /*关闭图形*/