全新C++小游戏全新来袭!
操作方法看教程!
代码:
// By School //
#include
#include
#include
using namespace std;
void ccc(string s);
void c_slow(string s);
void cls();
void Error();
void zhuye();
void inti();
long long lvl = 1;
long long sum;
long long money = 50;
long long wuqi = 5;
long long MAX_SUM = 10;
void ccc(string s) {
for(int i = 0; i < s.size(); i++) {
cout << s[i];
Sleep(25);
}
cout << "\n";
}
void c_slow(string s) {
for(int i = 0; i < s.size(); i++) {
cout << s[i];
Sleep(444);
}
cout << "\n";
}
void cls() {
system("cls");
}
void Error() {
cls();
c_slow("Input Error!");
Sleep(500);
zhuye();
}
void zhuye() {
cls();
ccc("1.教程 2.征战 3.升级 4.招募 5.我的信息");
char a = getch();
if(a == '1') {
cls();
ccc("每次征战会获得财宝和武器");
ccc("财宝和武器到达一定数量可以升级军队等级");
ccc("军队等级的升级会大幅增加士兵上限和士兵战斗力");
ccc("加油吧,指挥官!");
ccc("请按任意键继续");
char n = getch();
zhuye();
}
else if(a == '2') {
cls();
ccc("输入等级 (<=50) 输入0返回");
int n;
cin >> n;
if(n == 0) zhuye();
cls();
printf("敌方士兵数:");
cout << pow(3,n) << "\n";
printf("我方士兵数:%d\n",sum);
printf("敌方等级:%d\n",n);
printf("我方等级:%d\n",lvl);
ccc("指挥官,是否发动进攻? 输入'Y'或'N' Y代表攻击 N代表逃跑");
char num = getch();
if(num == 'Y') {
if((pow(3,n) * pow(2,lvl) < sum * pow(2,lvl))) {
cls();
c_slow("You Win!");
ccc("恭喜收获:");
printf("\t"); cout << pow(5,n + 1) << "元\n";
printf("\t"); cout << pow(10,n - 1) << "把武器\n";
printf("\t"); cout << floor(pow(3,n) / 5) << "名俘虏\n";
ccc("请按任意键继续");
char s = getch();
money += pow(5,n + 1);
wuqi += pow(10,n - 1);
sum += pow(3,n) / 5;
zhuye();
} else { ccc("You Lose!"); zhuye(); }
}
else if(num == 'N') {
cls();
ccc("你损失了一些军费!");
printf("损失了:"); cout << pow(10,n) << "元"; money -= pow(10,n);
Sleep(1000);
zhuye();
}
else Error();
}
else if(a == '3') {
cls();
printf("你的当前等级是%d,升级需要",lvl);
cout << pow(20,lvl + 1);
printf("元和");
cout << pow(3,lvl + 1);
printf("把武器\n");
ccc("是否购买? Please Input 'Y' or 'N'");
char n = getch();
if(n == 'Y') {
if(money < pow(20,lvl + 1)) {
cls();
ccc("You Don't Have Enough Money!");
zhuye();
} else if(wuqi < pow(3,lvl + 1)) {
cls();
ccc("You Don't Have Enough Weapon!");
zhuye();
} else {
money -= pow(20,lvl + 1);
wuqi -= pow(10,lvl);
lvl++;
MAX_SUM *= 5;
ccc("OK!");
Sleep(500);
zhuye();
}
}
else if(n == 'N') zhuye();
else Error();
}
else if(a == '4') {
cls();
printf("招募一个士兵需要");
cout << pow(10,lvl);
printf("元,一把武器\n");
ccc("你要多少? 输入数字 输入-1可以购买最大上限个士兵");
int n;
cin >> n;
if(n == -1) {
int n1 = (money / (pow(10,lvl))), n2 = wuqi;
int num = min(n1,n2); int k = MAX_SUM - sum; if(num > k) num = k;
money -= num * pow(10,lvl);
wuqi -= num;
sum += num;
cls();
ccc("OK!");
printf("购买了%d个士兵",num);
Sleep(500);
zhuye();
}
else if(money < pow(10,lvl) * n) {
cls();
ccc("You Don't Have Enough Money!");
zhuye();
}
else if(wuqi < n) {
cls();
ccc("You Don't Have Enough Weapon!");
zhuye();
}
else if(sum + n > MAX_SUM) {
cls();
ccc("It Is So Big! Please add your level");
zhuye();
}
else {
sum += n;
money -= pow(10,lvl) * n;
cls();
ccc("OK!");
Sleep(500);
zhuye();
}
}
else if(a == '5') {
cls();
printf("等级:%d\n",lvl);
printf("士兵数量:%d\n",sum);
printf("士兵上限:%d\n",MAX_SUM);
printf("钱:%d\n",money);
printf("武器数量:%d\n",wuqi);
ccc("请按任意键继续");
char n = getch();
zhuye();
}
else Error();
}
void inti() {
system("color 09");
c_slow("By School");
cls();
c_slow("Loading……");
cls();
zhuye();
}
int main() { inti(); }