三子棋小游戏

第一次编写小游戏,经过实战之后有了一些自己的想法,在这里与大家分享!
在编写游戏的过程中我们应该考虑游戏的具体框架,小到每一个模块的变量设置,大到游戏的整体结构都需要经过深思熟虑之后进行操作。
三子棋游戏的编写过程中我们要思考如何将游戏展示给玩家,如何编写每一个模块的内容,以及逻辑结构的整体呈现,下面我就将游戏的部分重要代码展示给大家!
game.h:我们将所有函数的声明,以及所调用的头文件都放在新建的头文件中,在调用的过程中直接调用你定义的头文件以免出现混乱。
#pragma once
#include<stdio.h>
#include<windows.h>
#include<time.h>
#pragma warning(disable:4996)
void Game();
#define	ROW 3
#define	COL 3
#define P_COLOR 'X'
#define C_COLOR 'O'
#define INIT ' '


void InitBoard(char board[][COL], int row, int col);
void ShowBoard(char board[][COL], int row, int col);
void ComputerMove(char board[][COL], int row, int col);
char Judge(char board[][COL], int row, int col);
这里的头文件的内容主要包含棋盘的初始化,棋盘的展示、游戏的设置、电脑的操作以及判断函数。
main.c文件:主要写出游戏的整体逻辑,可以让程序员一眼看出整个游戏的运行过程。
#include"game.h"

void Menu()
{
	printf("########################\n");
	printf("####欢迎来到游戏大厅####\n");
	printf("########################\n");
	printf("## 1.play      2.Exit ##\n");
	printf("########################\n");
	printf("请选择");
}


int main()
{
	int quit = 0;
	while (!quit)
	{
		Menu();
		int select = 0;
		scanf("%d", &select);
		switch (select) {
		case 1:
			Game();
			break;
		case 2:
			quit = 1;
			break;
		default:
			printf("你输入错误,请重新输入!\n");
			break;
		}
	}
	printf("Bye Bye\n");
	system("pause");
}

game.c:这里主要是游戏真正实现的 过程所有的函数调用也基本在这里实现。
#include"game.h"
void Game() {
	srand((unsigned long)time(NULL));
	char board[ROW][COL];
	InitBoard(board, ROW, COL);
	char result = 0;
	int who = Guess();
	int x = 0;
	int y = 0;
	do {
		ShowBoard(board, ROW, COL);
		switch (who) {
		case 1:
			printf("请落子:>");
			scanf("%d %d", &x, &y);
			if (x <= 0 || x > 3 || y <= 0 || y > 3) {
				printf("输入有误,请重新输入!\n");
				continue;
			}
			if (board[x - 1][y - 1] != ' ') {
				printf("该位置已占用,请重新输入!\n");
				continue;
			}
			board[x - 1][y - 1] = P_COLOR;
			who = 0;
			break;
		case 0:
			ComputerMove(board, ROW, COL);
			who = 1;
			break;
		default:
			break;
		}
		result = Judge(board, ROW, COL);
		if (result != 'N') {//'N'->next,'F'->FULL,'X','O' 
			break;
		}
		system("cls");


	} while (1);
	if (result == P_COLOR) {
		printf("恭喜你,你赢了!");
	}
	else if (result == C_COLOR) {
		printf("很遗憾,你输了!");
	}
	else {
		printf("平局!");
	}
	printf("要不要再来一局!\n");
}

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述以上就是编写游戏的整体过程和思路、实现过程展示以及部分重要的逻辑结构的代码块,如需要完整的代码在下方点赞留言即可获取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值