前言
本文主要用C语言实现三子棋(简易版)小游戏,同时介绍C语言中的菜单设置。
一、菜单设置
我们在C语言中设置菜单一般如下:
例:设置一个简单的游戏菜单
void menu()
{
printf("*******************************\n");
printf("************三子棋**************\n");
printf("***1.play*******0.exit*********\n");
printf("*******************************\n");
}
其运行结果如下:
这种菜单实现简单,但整体不够美观,我们可以来看以下这种:
先看代码:
#include<stdio.h>
#include<stdbool.h>
#include<windows.h>
//隐藏光标
void HideCursor(bool flag)
{
//获取标准输出的句柄
HANDLE hdl = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO info = {
100, !flag };
SetConsoleCursorInfo(hdl, &info);
}
//设置光标
void SetCurPos(int x, int y)
{
//获取标准输出的句柄
HANDLE hdl = GetStdHandle(STD_OUTPUT_HANDLE);
//定义字符在控制台屏幕上的坐标
COORD pos = {
y, x };
//移动命令行中光标的位置,使用头文件:"windows.h"
SetConsoleCursorPosition(hdl, pos);
}
void menu()
{
SetCurPos(0, 10);
printf("三子棋\n");
SetCurPos(2, 6);
printf("欢迎进入游戏!\n");
SetCurPos(4, 3);
printf("1.play\n");
SetCurPos(4, 16);
printf("2.exit\n");
SetCurPos(6, 0);
//调用该函数,光标会被隐藏。
//HideCursor(true);
}
假设我们在主函数中调用该菜单函数:
int main()
{
menu();//在主函数中调用menu()菜单函数
}
其运行结果如下:
若加上隐藏光标函数HideCursor(true); ,则结果如下:
对菜单设置部分代码进行解释:
二、三子棋游戏
整个游戏分为以下几个部分:
1.各部分代码
(1)菜单menu.c
此部分具体内容参考如上。
以下是代码:
#include<stdio.h>
#include<stdbool.h>
#include<windows.h>
//隐藏光标
void HideCursor(bool flag)
{
HANDLE hdl = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO info = {
100, !flag };
SetConsoleCursorInfo(hdl, &info);
}
//设置光标
void SetCurPos(int x, int y)
{
HANDLE hdl = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos = {
y, x };
SetConsoleCursorPosition(hdl, pos);
}
void menu()