游戏实现大体思路总结
1.创建主函数main,主函数里面建立实现的游戏的函数 test。
2.函数 test 第一步实现游戏选择界面 menu 函数。
3.函数 test 第二部 Switch语句 实现游戏选择模式“三种模式”①开始游戏②退出游戏③选择错误
4.switch语句 模式①开始游戏,建立函数 game 进行游戏。
game函数实现过程:
- 建立数组存放棋盘信息
- 初始化棋盘,使棋盘(数组)变成空格
打印棋牌
4.下棋:while语句实现下棋步骤
5.判断输赢或平局
源文件 test.c
#include "game.h"
void menu()
{
printf("******************************\n");
printf("******1.play 0.exit ******\n");
printf("******************************\n");
}
void game()
{
char ret = 0;
//数组-存放走出的棋盘信息
char board[ROW][COL] = {0};//全部是空格
//初始化棋盘
InitBoard(board, ROW, COL);
//打印棋盘
Displayboard(board,ROW,COL);
//下棋
while (1)
{
//玩家下棋
PlayerMove(board, ROW, COL);
system("cls");//刷新屏幕
Displayboard(board, ROW, COL);
//判断玩家输赢
ret = Iswin(board, ROW, COL);
if (ret != 'C')
{
break;
}
Sleep(1000);
//电脑下棋
ComputerMove(board, ROW, COL);
Displayboard(board, ROW, COL);
//判断电脑输赢
ret = Iswin(board, ROW, COL);
if (ret != 'C')
{
break;
}
Sleep(1000);
}
if (ret == '#')
{
printf("电脑赢\n");
}
else if (ret == '*')
{
printf("玩家赢\n");
}
else
{
printf("平局\n");
}
}
void test()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏");
break;
default:
printf("选择错误,请从新选择");
break;
}
} while (input);
}
int main()
{
test();
return 0;
}
源文件game.c (函数定义)
#include "game.h"
void menu()
{
printf("******************************\n");
printf("******1.play 0.exit ******\n");
printf("******************************\n");
}
void game()
{
char ret = 0;
//数组-存放走出的棋盘信息
char board[ROW][COL] = {0};//全部是空格
//初始化棋盘
InitBoard(board, ROW, COL);
//打印棋盘
Displayboard(board,ROW,COL);
//下棋
while (1)
{
//玩家下棋
PlayerMove(board, ROW, COL);
system("cls");//刷新屏幕
Displayboard(board, ROW, COL);
//判断玩家输赢
ret = Iswin(board, ROW, COL);
if (ret != 'C')
{
break;
}
Sleep(1000);
//电脑下棋
ComputerMove(board, ROW, COL);
Displayboard(board, ROW, COL);
//判断电脑输赢
ret = Iswin(board, ROW, COL);
if (ret != 'C')
{
break;
}
Sleep(1000);
}
if (ret == '#')
{
printf("电脑赢\n");
}
else if (ret == '*')
{
printf("玩家赢\n");
}
else
{
printf("平局\n");
}
}
void test()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏");
break;
default:
printf("选择错误,请从新选择");
break;
}
} while (input);
}
int main()
{
test();
return 0;
}
头文件 game.h (函数声明)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
#define ROW 3
#define COL 3
void InitBoard(char board[ROW][COL], int row, int col);
void Displayboard(char board[ROW][COL], int row, int col);
void PlayerMove(char board[ROW][COL], int row, int col);
void ComputerMove(char board[ROW][COL], int row, int col);
char Iswin(char board[ROW][COL], int row, int col);