【C++/控制台】(附源码)控制台小游戏 —— 电子斗蛐蛐

前言

这个是去年做的一个控制台小游戏,当时只上传了资源,现在再附上一篇实现思路


游戏画面


游戏内容

操控上

        键盘输入按键控制是否自动演算,自动演算速度

        开始时键入存档可选择我预制的存档,结束时键入Y/N进行继续游戏的确认

画面上

        左上角是主画面图,右上角是对应的碰撞显示图(debug查看有无缺失阻挡)

        左下角是一个消息列表,该列表播报所有单位每轮进行的动作

        右下角是一个队伍列表,该列表记录目前所有队伍的KD,最高个人击杀

玩法上

        编辑方法:玩家在指定的函数体内编写生成代码,然后自己编译执行(别问我这么抽象的编辑方法算不算游戏)

        手动生成:提供按直线,按圆心半径进行批量生成游戏单位,可指定其队伍id,在主画面中的样子,属性,攻击范围等的函数,开始时就会放到舞台上。

        自动生成:提供单位生成器,可放入一个单位作为模板进行复制或者按输入的单位属性进行复制,可自己设置生成多少个单位后销毁。

        单位能力:单位会自动寻找距离其最近的敌方单位进攻,生成器会检测自己周围8格是否有空间进行生成。


游戏实现

主函数

游戏整体简单,主函数是一目了然就可以看出做了什么

int main()
{
	Init();//系统初始化

	int input = 1;
	while (input == 1)
	{
		GameInit();//游戏每次重试的初始化

		Render();//渲染第一帧

		while (Flag)
		{
			Input();//接收输入

			Logic();//逻辑运算

			Render();//渲染
		}

		End();//结算

		//输入选择是否终止
		gotoxy(MAPW / 6, MAPH / 2 + 1);
		cout << "是否重试? 1 :同意,2:拒绝  :";
		cin >> input;
	}

	system("color 0F");
	return 0;
}

功能实现

游戏界面

使用简化的代码来保证能够聚焦于逻辑部分,一共四个主要部分

//每帧渲染
void Render()
{
————————————————————————————主地图显示—————————————————————————
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值