目录

前言

演示用编译器及其标准

Dev C++ 6.7.5 Red panda 

标准:C++14

宣团

                                                  先   赞   后   看    养   成   习   惯  

正文

更新日志:

游戏演示视频

游戏截图

还有我们最最最重要的游戏代码(zty求你了给个赞呗)

后记

作者有话要说


前言

今天zty带来的是C++ 小游戏 能量的 1.1.2 正式版 ,zty 放假了更新也是会增加的,大胆的要赞(做白日梦),我想要100个赞(癞蛤蟆想吃天鹅肉)

                                                  先   赞   后   看    养   成   习   惯 

众所周知,一篇文章需要一个头图,但我家盛产头图

                                                  先   赞   后   看    养   成   习   惯  

上面那行字怎么读呢,让大家来跟我一起读一遍吧,先~赞~后~看~养~成~习~惯~

演示用编译器及其标准
Dev C++ 6.7.5 Red panda 
标准:C++14

编译器下载点我

宣团

洛谷宣团

我想要这个 →  

                                                  先   赞   后   看    养   成   习   惯  

正文

 zty 求你了,给个赞呗qwq

更新日志:

1 ,加强调试模式的功能,使其可以更方便快捷的找到出现问题的地方并及时修改,如果你不是专门想去找问题的话,开着调试模式来玩游戏可能会影响你的游戏体验。
2 ,将大部分输入改为getch输入方法,使你可以更方便更快捷的来选出你所想要选择功能。
3, 修改炼狱模式游戏数值无法保存的bug,把炼狱模式的游戏数值也写到了存档里面,不要试图偷偷修改你的存档,因为它有可能会让你的程序直接崩溃爆炸。
4, 一些极小的辅助功能的修改,其中包括那一些格式的修改、一些文字的修改和代码的优化。
5, 1个彩蛋,这个彩蛋是不会直接看到,但如果你在某些界面输入 “7” (不包括双引号),你有可能会触发这个彩蛋。

游戏演示视频

这个,CSDN那个老登审核过了视频他还是不让我挂,只能用链接了

游戏截图

还有我们最最最重要的游戏代码(zty求你了给个赞呗)
/*
游戏规则在游戏中有详解。
更新日志
1 加强以加强调试模式的功能。
2 将大部分输入改为getch输入方法。
3 修改炼狱模式游戏数值无法保存的bug。
4 一些极小的辅助功能的修改。
5 1个彩蛋。
*/
#include<bits/stdc++.h>
#include<stdio.h>
#include<iostream>
#include<ctime>
#include<conio.h>
#include<time.h>
#include<cmath>
#include<windows.h> //SLEEP函数
using namespace std;
bool lianyu;
bool tiaoshi = 0;
int lysheng, lybai, lyzong;
int zong, sheng, bai;
void print(string text) {
	for (int i = 0; i < text.size(); i++) {
		cout << text[i];
		Sleep(15);
	}
}
void yxzt(int);
void cd();
void ckzj();
void gyyx() {
	system("cls");
	print(" 您好,欢迎您玩能量。为了给您更好的游戏体验,zty时不时会优化本游戏,优化后会尽快发布在网上(CSDN)。我在 1.1.2 正式版内容的基础上进行改进,主要内容为加强调试模式的功能、全部改用getch输入、修改炼狱模式游戏数值无法保存的bug和一些细小的辅助修改,已更新完毕,希望大家喜欢。作者CSDN名:zty郑桐羽呀(其他都是盗版)\n\n\n\n");
	system("color 8E");
	system("pause");
	return;
}
void yxgz() {
	system("cls");
	cout << "游戏规则:\n\n  1,波(消耗1点能量,可被<波>和<波防>防下,可被<海啸><天雷>打回)是攻击技能\n\n  ";
	cout << "2,海啸(消耗2点能量,可被<海啸>和<海啸防>防下,可被<天雷>打回)是攻击技能\n\n  ";
	cout << "3,天雷(消耗3点能量,可被<天雷>防下,不可被打回)是攻击技能\n\n  ";
	cout << "4,能量(增加1点能量(10轮后为2点),可被<波><海啸><天雷>打回)是其他技能\n\n  ";
	cout << "5,波防(不消耗能量,可防下<波>,可被<海啸><天雷>打回)是防守技能\n\n  ";
	cout << "6,海啸防(不消耗能量,可防下<海啸>,可被<波><天雷>打回)是防守技能\n\n  ";
	cout << "7,如果自己使用的技能被打回,则失败;如果敌人使用的技能被打回,则胜利。\n\n  ";
	cout << "8,如果自己或敌人使用的技能被防下,则跳过本轮。\n\n  ";
	cout << "9,如果双方使用的是同一个技能或都不是攻击技能,则跳过本轮。\n  ";
	system("pause");
	return;
}
void ckzj(int zong, int sheng, int bai) { //查看战绩
	system("cls");
	cout << "\n\n================================================================================\n\n\t   总场数:" << zong;
	cout << "\t\t胜场数:" << sheng;
	cout << "\t\t败场数:" << bai;
	cout << "\n\n\t   炼狱总场数:" << lyzong << "\t\t炼狱胜场数:" << lysheng << "\t\t炼狱败场数:" << lybai;
	cout << "\n\n\n================================================================================";
	system("pause");
	return;
}
void drcd() { //读入存档
	string line;
	fstream myFile;
	int s = 0;
	myFile.open("能量存档.txt", ios::in);  // read,读
	if (myFile.is_open()) {
		while (getline(myFile, line)) {
			string str(line);
			s++;
			if (s == 1)
				bai = atoi(str.c_str());
			if (s == 2)
				sheng = atoi(str.c_str());
			if (s == 3)
				zong = atoi(str.c_str());
			if (s == 4)
				lybai = atoi(str.c_str());
			if (s == 5)
				lysheng = atoi(str.c_str());
			if (s == 6)
				lyzong = atoi(str.c_str());
		}
		myFile.close();
	}
}
int lyzn(int lun, int wochu, int dineng) {
	if (lun == 1) {
		return 4;
	} else if (wochu == 1) {
		return 5;
	} else if (wochu == 5 && dineng >= 2) {
		return 2;
	} else if (wochu == 6 && dineng >= 1) {
		return 1;
	} else if (wochu == 2) {
		return 6;
	} else if (wochu == 4 && dineng != 0) {
		return 1;
	} else {
		return 4;
	}
}
int rgzz(int lun, int dineng, int neng) {//人工智障系统
//	cout << "Artificial Intelligence Function" << endl;
	srand(time(0));
	int dichuhs = 0;
	dichuhs = rand() % 6 + 1;
	while (1) {
		if (tiaoshi) {
			cout << "Artificial intelligence has gone through a cycle";
			Sleep(500);
		}
		dichuhs++;
		dichuhs = dichuhs % 6 + 1;
		if (lun == 1) {
			if (tiaoshi) {
				cout << "Artificial Intelligence Direct Selection " << 4;
				Sleep(500);

			}
			return 4;
		}
		if (dineng >= 3) {
			if (tiaoshi) {
				cout << "Artificial Intelligence Direct Selection " << 3;
				Sleep(500);
			}
			return 3;
		}
		if (neng == 0 && dineng == 0) {
			if (tiaoshi) {
				cout << "Artificial Intelligence Direct Selection " << 4;
				Sleep(500);
			}
			return 4;
		}
//		cout << dichuhs << endl;
		if (neng == 0 && dichuhs == 5) {
			if (tiaoshi) {
				cout << "Artificial intelligence uses algorithms to skip this round";
				Sleep(500);
			}
			continue;
		}
		if (dineng == 1 && dichuhs == 2 || dineng <= 2 && dichuhs == 3) {

			continue;
		} else if (dineng < 1 && dichuhs < 4) {
			if (tiaoshi) {
				cout << "Artificial intelligence uses algorithms to skip this round";
				Sleep(500);
			}
			continue;
		} else if (neng < 2 && dichuhs == 6) {
			if (tiaoshi) {
				cout << "Artificial intelligence uses algorithms to skip this round";
				Sleep(500);
			}
			continue;
		} else if (neng == 0 && dichuhs == 5) {
			if (tiaoshi) {
				cout << "Artificial intelligence uses algorithms to skip this round";
				Sleep(500);
			}
			continue;
		} else if (neng == 0 && dichuhs == 6) {
			if (tiaoshi) {
				cout << "Artificial intelligence uses algorithms to skip this round";
				Sleep(500);
			}
			continue;
		} else {
			if (tiaoshi) {
				cout << "Artificial intelligence selects through algorithms" << dichuhs << endl;
			}
			return dichuhs;
		}
	}
}
void ts(int lun, int neng) { //战斗提示
	cout << "\n第" << lun << "轮" << endl << "1:波  2:海啸  3:天雷  4:能量  5:防(波)  6:防(海啸) 0:返回菜单  \n能量:" << neng << endl;
	return;
}
int yxsz() {
sz:
	int xuan;
	system("cls");
	system("color 8E");
	int ii;
	cout << "\n\n================================================================================\n\t\t";
	print("  1,清空战绩     2,打开调试     3,退出游戏\n\t\t\t\t 输入‘0 ’以返回上一级");
	cout << "\n\n================================================================================\n\t\t";
	xuan = _getch();
	if (xuan == 1) {
		system("cls");
		cout << "真的吗?1(真的)/0(按错了)\n";
		cin >> ii;
		if (!ii) {
			goto sz;
		}
		zong = 0;
		sheng = 0;
		bai = 0;
		char line[256];
		fstream myFile;
		myFile.open("能量存档.txt", ios::out);
		if (myFile.is_open()) {
			myFile << bai << "\n";
			myFile << sheng << "\n";
			myFile << zong << "\n";
			myFile.close();
		}
	} else if (xuan == 2) {
		if (tiaoshi) {
			cout << "\n\tDebugging mode has been enabled\n";
			tiaoshi = 1;
		} else {
			cout << "\n\tDebugging mode has been turned off\n";
			tiaoshi = 0;
		}

	} else if (xuan == 3) {
		return 0;
	} else if (xuan == 0) {
		return 1;
	}
	return 1;
}
int ly;
void cd() {//游戏菜单
	while (1) {
dd:
		system("cls");
		system("color 8E");
		ly = 0;
		cout << "\n\n================================================================================\n\t\t  1,开始游戏     2,查看战绩     3,查看规则\n\n\t\t  4,关于游戏     5,游戏设置     6,查看作者\n\n================================================================================";
		int xuan = _getch();
		xuan -= 48;
//		cin >> xuan;
		if (tiaoshi)	cout << xuan;
		int xxuan = 0;
		switch (xuan) {
			case 1:
				system("cls");
				system("color 8E");
				cout << "\n\n================================================================================\n\t\t";
				print("  1,简单难度     2,炼狱难度      0,返回上一级");
				cout << "\n\n================================================================================\n\t\t";
//				cin >> xxuan;
//				cout<<xxuan;
				xxuan = _getch();
				xxuan -= 48;
				if (tiaoshi)	cout << xxuan;
				if (tiaoshi)	Sleep(111);
				if (xxuan == 2) {
					ly = 1;
					yxzt(1);
					system("color 84");
				} else if (xxuan == 1) {
					ly = 0;
					yxzt(0);
				} else {
					goto dd;
				}
				break;
			case 2:
				ckzj(zong, sheng, bai);
				break;
			case 3:
				yxgz();
				break;
			case 4:
				gyyx();
				break;
			case 5:
				if (!yxsz()) {
					return;
				}
				break;
			case 6:
				system("start https://blog.csdn.net/zty20120913?type=lately");
				system("cls");
				break;
			case 7:
				print("作者留下的小彩蛋被你发现了。试着在游戏中选择使用技能的时候输入“7”(不包括双引号)试试。");
				system("pause");
				goto dd;
				break;
			default:
				printf("无该选项!\n\n\n");
				Sleep(300);
				goto dd;
		}
	}
	return;
}
void bccd(int zong, int sheng, int bai) { //保存存档
	char line[256];
	fstream myFile;
	myFile.open("能量存档.txt", ios::out);
	if (myFile.is_open()) {
		myFile << bai << "\n";
		myFile << sheng << "\n";
		myFile << zong << "\n";
		myFile << lybai << "\n";
		myFile << lysheng << "\n";
		myFile << lyzong << "\n";
		myFile.close();
	}
}
void Bling() { //开始动画
	for (int i = 0; i <= 1; i++) {
		system("color 1A");
		Sleep(40);
		system("color 2B");
		Sleep(40);
		system("color 3C");
		Sleep(40);
		system("color 4D");
		Sleep(40);
		system("color 5D");
		Sleep(40);
		system("color 6E");
		Sleep(40);
		system("color 7F");
		Sleep(40);
	}
}
void yxzt(int lyly) { //游戏主体
	system("cls");
	bool zuobi = 0;
	int neng = 0, dineng = 0, lun = 0;
	while (1) {
		int gong = 0, fang = 0, digong = 0, difang = 0, chu = 0, dichu = 0, sneng;
		if (lyly == 1) {
			system("color 84");
//			cout << "ly";
		}
		lun++;
		sneng = neng;
		ts(lun, neng);
		chu = _getch();
		chu -= 48;
		switch (chu) { //玩家控制
			case 1:
				if (neng >= 1) {
					gong = 1;
					neng--;
					cout << "我:\n波" << endl;
				} else {
					cout << "没有足够的能量" << endl;;
					lun--;
					continue;
				}
				break;
			case 2:
				if (neng >= 2) {
					gong = 2;
					neng -= 2;
					cout << "我:\n海啸" << endl;
				} else {
					cout << "没有足够的能量" << endl;
					lun--;
					continue;
				}
				break;
			case 3:
				if (neng >= 3) {
					gong = 3;
					neng -= 3;
					cout << "我:\n天雷" << endl;
				} else {
					cout << "没有足够的能量" << endl;
					lun--;
					continue;
				}
				break;
			case 4:
//				cout<<lun;
				if (lun < 10) {
					neng++;
				} else {
					neng += 2;
				}
				cout << "我:\n能量" << endl;
				break;
			case 5:
				fang = 1;
				cout << "我:\n波防" << endl;
				break;
			case 6:
				fang = 2;
				cout << "我:\n海啸防" << endl;
				break;
			case 7:
				cout << "我:\n超级霹雳无敌super plus版能量" << endl;
				neng += 999999;
				zuobi = true;
				break;
			case 0:
				cd();
			default:
				printf("无该选项!\n\n\n");
				Sleep(300);
				lun--;
				continue;
		}
		if (lyly == 1) {
			dichu = lyzn(lun, chu, dineng);
		}
		if (lyly == 0) dichu = rgzz(lun, dineng, sneng);
		cout << "敌:" << endl;
		switch (dichu) { //机器控制
			case 1:
				digong = 1;
				dineng--;
				cout << "波" << endl;
				break;
			case 2:
				digong = 2;
				dineng -= 2;
				cout << "海啸" << endl;
				break;
			case 3:
				digong = 3;
				dineng -= 3;
				cout << "天雷" << endl;
				break;
			case 4:
				if (lun < 10) {
					dineng++;
				} else {
					dineng += 2;
				}
				cout << "能量" << endl;
				break;
			case 5:
				difang = 1;
				cout << "波防" << endl;
				break;
			case 6:
				difang = 2;
				cout << "海啸防" << endl;
				break;
		}
		if ((gong == difang && gong != 0) || chu == dichu || (digong == fang && digong != 0)) continue; //判断游戏是否结束
		else if ((gong > digong && gong != difang) || (dichu == 4 && gong > 0) || (dichu == 4 && gong != 0)) {
			cout << "YOU WIN!\n\n";
			if (zuobi) {
				cout << "你居然还要用作弊来刷战绩!哈哈。早就被作者料到了。这次游戏不增加战绩。\n";
				system("pause");
				return;
			}
			if (lyly) {
				lyzong++;
				lysheng++;
			} else {
				zong++;
				sheng++;
			}
			bccd(zong, sheng, bai);
			system("pause");
			return;
		} else if ((digong > gong && digong != fang) || (digong != fang && digong != 0) || (chu == 4 && digong > 0)) {
			cout << "YOU DIE!\n\n";
			if (zuobi) {
				cout << "你居然还要用作弊来刷战绩!哈哈。早就被作者料到了。这次游戏不增加战绩。\n";
				system("pause");
				return;
			}
			if (lyly) {
				lyzong++;
				lybai++;
			} else {
				zong++;
				bai++;
			}
			bccd(zong, sheng, bai);
			system("pause");
			return;
		}
	}
	return;
}

//▆
void Start() {
	system("color 8E");
	cout << " \n";
	cout << "      ■      ■    ■             ■■■■■■                  \n";
	cout << "    ■  ■    ■ ■■              ■        ■                       \n";
	cout << "   ■■■■   ■■                 ■■■■■■             \n";
	cout << "          ■  ■   ■	           ■        ■              \n";
	cout << "   ■■■■   ■■■               ■■■■■■            \n";
	cout << "   ■    ■                  ▆▆▆▆▆▆▆▆▆▆▆▆            \n";
	cout << "   ■■■■   ■    ■                                     \n";
	cout << "   ■    ■   ■ ■■               ■■■■■                   \n";
	cout << "   ■■■■   ■■                  ■  ■  ■                          \n";
	cout << "   ■    ■   ■                    ■■■■■          \n";
	cout << "   ■  ■■   ■     ■             ■  ■  ■              \n";
	cout << "        ■    ■■■■              ■■■■■              \n";
	cout << "                                        ■             \n";
	cout << "   欢迎来到 [能量]                  ■■■■■                   \n";
	cout << "                                        ■            \n";
	cout << "  1.1.2 正式版                   ■■■■■■■■          \n";
	cout << "                                                           \n";
	cout << " zty出品,必属精品                                         \n";
	cout << "                                                           \n";
	cout << " zty郑桐羽呀出品                                           \n";
	cout << "                                                           \n";
	cout << " 输入“1 ”下一页        zty出品                         \n\n";

A:
	char y = _getch();
	if (y == '1') return;
	else goto A;
}
void Start2() {
	system("color 8E");
	system("cls");
	if (sheng == 1) Beep(3200, 50);
	cout << "                                                \n";
	cout << "        ■ ■■■        ■■■  ■      ■     \n";
	cout << "    ■■      ■       ■   ■  ■       ■     \n";
	cout << "            ■      ■     ■   ■       ■     \n";
	cout << "           ■   ■■      ■    ■       ■     \n";
	cout << "         ■  ■            ■  ■ ■     ■     \n";
	cout << "       ■■■               ■■    ■■■      \n";
	cout << "                                         ■     \n";
	cout << "                                 ■      ■     \n";
	cout << " 欢迎来到 [能量]                   ■    ■     \n";
	cout << "                                     ■■       \n";
	cout << " zty郑桐羽呀出品         ■                     \n";
	cout << "                     ■  ■  ■     ■■■■    \n";
	cout << "  1.1.2 正式版       ■■■■■     ■    ■    \n";
	cout << "                         ■         ■■■■    \n";
	cout << " zty出品专属水印     ■  ■  ■                 \n";
	cout << "                     ■■■■■  ■■■  ■■■ \n";
	cout << " zty出品,必属精品               ■  ■  ■  ■ \n";
	cout << "                                 ■■■  ■■■ \n";
	cout << " 抵制盗版 侵权必究                              \n";
	cout << "                                                \n";
	cout << " 输入“1 ”开始游戏                    \n\n";
A:
	char y = _getch();
	if (y == '1') return;
	else goto A;
}
int main() {
	system("title 能量 1.1.2  zty出品");
	system("mode con cols=80 lines=25");
	Start();
	Start2();
	Bling();
	drcd();
	cd();
	return 0;
}

后记

作者:zty郑桐羽呀

联系方式:(不挂了,有事私信)

兄弟们给个赞呗

作者有话要说

刚才看了一下粉丝画像啊,我女粉居然比男粉还要多,女粉1200男粉才800,当然他这个说的不准确不过这个比例应该是对的,还有zty要在这个寒假的话开始狂更新,求点赞求收藏求关注qwq

                                                  先   赞   后   看    养   成   习   惯  

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐