用C语言实现三子棋小游戏(C语言菜单创建--设置光标,隐藏光标)

本文通过C语言实现了一个三子棋小游戏,并介绍了如何设置菜单及隐藏光标。文章首先展示了简单的菜单创建,然后详细讲解了游戏的各个部分代码,包括菜单、头文件、游戏模块和主体模块,并给出了运行结果。在游戏过程中,需要注意坐标输入的合法性与避免占用位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

本文主要用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()
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值