本文共 2805 字,大约阅读时间需要 9 分钟。
一、游戏菜单逻辑。
#include "game.h"//主菜单void menu(){ printf("*******************************\n"); printf("**** 1.开始游戏 2.退出游戏****\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); DisplayBoard(board,ROW,COL); //判断玩家赢 ret = IsWin(board,ROW,COL); if (ret != 'C') { break; } //电脑下棋 ComputerMove(board,ROW,COL); DisplayBoard(board,ROW,COL); //判断电脑赢 ret = IsWin(board,ROW,COL); if (ret != 'C') { break; } } if (ret == '*') { printf("玩家赢\n"); } else if (ret == '#') { printf("电脑赢\n"); } else { printf("平局\n"); } }void test(){ int input = 0;//srand函数调用(产生随机数) time库调用 srand((unsigned int)time(NULL)); do { menu(); printf("请选择:"); scanf("%d",&input); switch (input) { case 1: game(); break; case 2: printf("退出游戏\n"); break; default: printf("选择错误,请选择“1”或“2”!\n"); break; } } while (input);}int main(){ test(); return 0;}
二、游戏本体代码。
#include "game.h"//初始化棋盘void InitBoard(char board[ROW][COL],int row,int col){ int i,j; for (i=0;i=1 && x<=row && y>=1 && y<=col) { if (board[x-1][y-1] == ' ') { board[x-1][y-1] = '*'; break; } else { printf("该位置已被占用,请重新输入!\n"); } } else { printf("输入坐标有误,请重新输入!\n"); } }}//电脑落子void ComputerMove(char board[ROW][COL],int row,int col){ int x,y; printf("电脑下棋:\n"); while(1) { x = rand() % row; y = rand() % col; if (board[x-1][y-1] == ' ') { board[x-1][y-1] = '#'; break; } } }//棋盘满返回‘1’//棋盘没满返回‘0’int IsFull(char board[ROW][COL],int row,int col){ int i,j; for (i=0;i
三、头文件
#define ROW 3 //行#define COL 3 //列#include#include #include 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);// ROW*COL棋盘// | | // ---|---|---// | | // ---|---|---// | | // 判断结果四种状态//1.玩家赢 ‘*’//2.电脑赢 ‘#’//3.平局 ‘D’//4.继续 ‘C’
运行结果:
转载地址:http://gyezi.baihongyu.com/