C++ 贪吃蛇 多线程版(源码)

在家闲着蛋疼写了个贪吃蛇,供诸君品鉴~

PS:以后抽空补个详解~

PPS:还写了个带花样带难度的贪吃蛇,等有空放出来~

#include <iostream>
#include <thread>
#include <windows.h>
#include <conio.h>
#include <time.h>
#include <queue>
#include <mutex>
using namespace std;
typedef pair<int, int> pii;
const int maxn = 100;
mutex mtx;//互斥锁
/*
线程1:获取键盘信息
线程2:获取时间信息
线程3:监视创建食物
线程4:显示游戏信息
*/

int direction;//方向:1:上 2:下 3:左 4:右
int state;//状态:1:未获得食物 2:获得食物 3:暂停 4: 死亡
queue<pii> snake;//蛇身
pii head;//蛇头
int m_x, m_y;//地图大小
int _time;//时间
int score;//分数
bool need_food;//是否需要创建食物
char mp[maxn][maxn];//地图映射

//光标操作
HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord;
//隐藏光标
void hide()
{
	CONSOLE_CURSOR_INFO cursor_info = { 1,0 };
	SetConsoleCursorInfo(hout, &cursor_info);
}
//定位光标
void locate(int x, int y)
{
	coord.X = y;
	coord.Y = x;
	SetConsoleCursorPo
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值