想要学好一个东西,首先应该会寻找好的资料和资源
五子棋程序
我会将整体的代码拆分出来给大家进行详细的一个分析,或许不是最好的,但应该是最适合新手来完成的一个项目了。
首先在整个程序开始之前,所需要书写的当然是这些繁琐且又不得不重视的头文件和宏定义了,因为也是第一次写这样的一个小项目的程序和解析,可能有的地方会出现问题,不对的地方可以指出来哦!
#define _CRT_SECURE_NO_WARNINGS //这是因为windows系统自身的问题,所以我在vs2013版上我加了这个用于scanf函数的使用
#include <stdio.h>
#include <windows.h>// 调用这个头文件,是因为我在后续使用到了清空屏幕的函数
#include <string.h>//字符串函数,相信大家都不会陌生了
#include <time.h>// 利用它我是去产生了一个时间戳,在我做的游戏之中包含着人机对战和人人对战,所以需要使得人机能够自己下子,为了不产生同样的结果则使用一个时间戳,会使得每一秒的值都是不同的
#include <stdlib.h>// 这是我自己为了能够将打印出来的窗口一直停留下看的更加清楚而加的
#define MAX_ROW 5//定义五子棋盘的行为5
#define MAX_COL 5//定义五子棋盘的列为5
主程序
int main(){
int i=0;
int choice = 0;
MenuUi(1); //打印游戏界面
//是否进行游戏的选择;
{
printf("请输入您的选择:\n");
choice= ChoiceStart(i);
if (choice == 1){
//当返回进入游戏的指示后,打印选择模式的界面
MenuMode(1);
}
}
//选择游戏的模式,人机或者人人;
{
printf("请选择游戏模式:\n");
{
choice = ChoiceMode(i);// 返回选择模式的指示后,根据所返回的值进行相对应的模式选择
if (choice == 1){
//人人模式
system("cls");
GamePlay(1);
}
if (choice == 2)
{
//人机模式
system("cls");
GameComputer(1);
}
}
}
system("pause");
return 0;
}
因为也是第一次做这样对于初学者来说有着那么一点复杂的程序,所以在主程序上没用做到非常简明,也是为了能够让自己在进行调试的时候能够更加清楚的知道每一步的问题所在。
下面将会把每一个过程的函数给大家书写清楚
1. 菜单打印页
对于一个游戏来说,第一个映入我们眼帘的当然是它的游戏界面了即使我们只是做一个简单的控制台程序,但我们还是尽可能的应该取种追求完美,这也是作为程序猿应该有的一种习惯;虽然作为一个初学者,但我还是想要尽可能的将它在我的能力范围之内做的更好一些。
这个游戏界面可能有一些繁琐,只是我在学习最初的时候,看到别人界面的设计而得到的灵感罢了,大家也是可以将自己的界面设计的更完美一些。
void MenuUi(){
printf("\t╔══════════════════════════════════════════════════════════════╗\n");
printf("\t║ ║\n");
printf("\t║ 欢迎使用五子棋对战程序 祝您玩的愉快挑战无极限 ║\n");
printf("\t║ ║\n");
printf("\t║ ._______________________. ║\n");
printf("\t║ | _____________________ | ║\n");
printf("\t║ | I I | ║\n");
printf("\t║ | I I | ║\n");
printf("\t║ | I 五 子 棋 I | ║\n");
printf("\t║ | I I | ║\n");
printf("\t║ | I___________________I | ║\n");
printf("\t║ !_______________________! ║\n");
printf("\t║ ._[__________]_. ║\n");
printf("\t║ .___|_______________|___. ║\n");
printf("\t║ |::: ____ | ║\n");
printf("\t║ | ~~~~ [CD-ROM] | ║\n");
printf("\t║ !_____________________! ║\n");
printf("\t║ ║\n");
printf("\t║ ║\n");
printf("\t║ 寒 星 溪 月 疏 星 首,花 残 二 月 并 白 莲。 ║\n"