问题标题: 酷町堂:超级大乱斗 1.00

3
2
已解决
曹博扬
曹博扬
初级天翼
初级天翼
#include<iostream>
#include<string>
#include<cstdio>
#include<windows.h>
#include<stdlib.h> 
#include<fstream>
#include<sys/time.h>
#include<cstdlib>
#include<ctime>
#include<string.h>
#include<conio.h>
#include<iomanip>
#include<stdio.h>
#include<iterator>  
#pragma  comment(lib,"WinMM.Lib")
#pragma GCC optimize(2)
#define h 20 
using namespace std;
int jinbi=200;
int j[10001];
int w[10001];
int zb1=0;
struct ck{
	string wq1,wq2,wq3,wq4;
	string jn1,jn2,jn3,jn4;
};
ck w1;
void wq(){
	cout<<"武器间:";
	cout<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"1 赤血宝刀    70金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"2 丈八蛇矛   60金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"3 青龙偃月刀   100金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"4 金钢斧    40金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"5 退出"<<endl;
}
void jn(){
	cout<<"技能间";
	cout<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"1 18乱砍    80金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"2 金刚拳   60金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"3 天煞斩   100金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"4 天降之雷    200金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"5 退出"<<endl;
}
int cjda(){
	int x; 
	srand((int)time(NULL));//随机数 
	x=rand()%10;//范围 
	return x;
}
void gotoxy(int x,int y)
{   
   COORD c;     
   c.Y= x - 1; 
   c.X = y - 1; 
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);   
}
void color(int y)//颜色函数
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),y);
}
void a1(string s)
{
    int l=s.length(),j;
    for(int i=0;i<l;i++)
    {
        cout<<s[i];
        Sleep(50);
    }
}
void gz(){
	for(int i=1;i<=40;i++) cout<<" "; 
	cout<<"--------曹博扬制作--------";
	for(int i=1;i<=6;i++)
		cout<<endl;
	cout<<"您当前拥有"<<jinbi<<"金币"<<endl;
	cout<<"            A 开始游戏      ";
	cout<<" B 抽奖      "<<" C 武器      ";
	cout<<" D 技能      "; 
	cout<<" E 仓库      "<<" Z 退出";
}
void ksgz(){
	a1("s开始,★是敌人\n");
	cout<<endl;
	a1("a向左移,d向下移,w向上移,s向下移,j攻击\n");
	cout<<endl;
	a1("1是一技能,2是二技能,3是三技能,4是四技能\n");
	cout<<endl;
	a1("u是武器一,i是武器二,o是武器三,p是武器四");
	for(int i=1;i<=6;i++){
		Sleep(300);
		cout<<"."; 
	}
	Sleep(1000);
	system("cls");
}
void szds(){
	srand((int)time(NULL));//随机数 
	int x=rand()%100;//范围 
	srand((int)time(NULL));//随机数 
	int y=rand()%100;//范围
	gotoxy(x,y);
	cout<<"★";
}
int main(){
	MessageBox (NULL,TEXT("欢迎来到《超级大乱斗》,制作人:曹博扬"),TEXT("《世界大战》"),MB_OK);
	for(int i=1;i<=100;i++){
		cout<<"正在载入游戏中..."<<endl<<"   ";
		color(i/7);
		for(int j=1;j<=i/2;j++){
			cout<<"■";
		}
		cout<<i;
		Sleep(30);
		if(i==35){
			Sleep(2500); 
		}
		if(i==100){
			Sleep(2500);
		} 
		system("cls");	
	}
	system("color 7");
	a1("加载完毕!");
	Sleep(1000); 
	system("cls");
	char a;
	for(int i=1;i<=0x3f3f3f3f;i++){
		system("color 1");
		gz();//解释规则 
		Sleep(800);
		cout<<endl;
		char pd;
		cin>>pd;
		if(pd=='Z')
			break; 
		else if(pd=='B'){
			system("cls");
			cjda();
			int x1;
			a1("请输入抽奖号(1到9任意一个数)40金币一次\n");
			cin>>x1;
			jinbi-=40;
			if(x1>=40){ 
				if(jinbi==cjda()){
					a1("恭喜你!中奖了(●'?'●)\n获得90金币!");
					jinbi+=90;
				}else{
					a1("你没有中奖哦");
				} 
			}
			else{
				a1("金币不够哦( $ _ $ )");
			}
			Sleep(1000);
		}
		else if(pd=='C'){
			system("cls");
			wq();
			int wqxz;
			a1("请问您需要什么");
			cin>>wqxz;
			if(wqxz==5)
				continue;
			else if(wqxz==1){
				system("cls");
				if(jinbi>=70){
					jinbi-=70;
					w1.wq1="赤血宝刀";
					a1("恭喜你获得“赤血宝刀 ” φ(゜▽゜*)?");
					w[1]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			else if(wqxz==2){
				system("cls");
				if(jinbi>=60){
					jinbi-=60;
					w1.wq2="丈八蛇矛";
					a1("恭喜你获得“丈八蛇矛 ” φ(゜▽゜*)?");
					w[2]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			} 
			else if(wqxz==3){
				system("cls");
				if(jinbi>=100){
					jinbi-=100;
					w1.wq3="青龙偃月刀";
					a1("恭喜你获得“青龙偃月刀 ” φ(゜▽゜*)?");
					w[3]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			} 
			else if(wqxz==4){
				system("cls");
				if(jinbi>=40){
					jinbi-=40;
					w1.wq4="金钢斧";
					a1("恭喜你获得“金钢斧 ” φ(゜▽゜*)?");
					w[4]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			Sleep(1500);
		}
		else if(pd=='D'){
			system("cls");
			int jnxz;
			jn();
			a1("请问您需要什么");
			cin>>jnxz;
			if(jnxz==5)
				continue;
			else if(jnxz==1){
				system("cls");
				if(jinbi>=80){
					jinbi-=80;
					w1.jn1="18乱砍";
					a1("恭喜你获得“18乱砍 ” φ(゜▽゜*)?");
					j[1]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			else if(jnxz==2){
				system("cls");
				if(jinbi>=60){
					jinbi-=60;
					w1.jn2="金刚拳";
					a1("恭喜你获得“金刚拳 ” φ(゜▽゜*)?");
					j[2]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			else if(jnxz==3){
				system("cls");
				if(jinbi>=100){
					jinbi-=100;
					w1.jn2="天煞斩";
					a1("恭喜你获得“天煞斩 ” φ(゜▽゜*)?");
					j[3]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			else if(jnxz==4){
				system("cls");
				if(jinbi>=200){
					jinbi-=200;
					w1.jn3="天降之雷";
					a1("恭喜你获得“天降之雷 ” φ(゜▽゜*)?");
					j[4]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			Sleep(1500);
		}
		else if(pd=='E'){
			a1("您现在拥有:");
			if(w1.wq1.size()>0)
				cout<<"   "<<w1.wq1<<endl;
			else if(w1.wq2.size()>0)
				cout<<"   "<<w1.wq2<<endl;
			else if(w1.wq3.size()>0)
				cout<<"   "<<w1.wq3<<endl;
			else if(w1.wq4.size()>0)
				cout<<"   "<<w1.wq4<<endl;
			else if(w1.jn1.size()>0)
				cout<<"   "<<w1.jn1<<endl;
			else if(w1.jn2.size()>0)
				cout<<"   "<<w1.jn2<<endl;
			else if(w1.jn3.size()>0)
				cout<<"   "<<w1.jn3<<endl;
			else if(w1.jn4.size()>0)
				cout<<"   "<<w1.jn4<<endl;
			Sleep(3000);
		}
		else if(pd=='A'){
			system("cls");
			int sm=100,dm=100;
			ksgz(); 
			char a;
			int m=11,n=7;
	    	gotoxy(m,n);
	    	int jian=1;
	    	szds(); 
			while (a=getch()){
				system("cls");
				cout<<"我方血量"<<sm;
				for(int i=1;i<=90;i++)cout<<" ";					cout<<"敌方血量"<<dm<<endl;
				for(int i=1;i<=4;i++){
					cout<<i<<"武器"<<w[i]<<"把"<<endl;
				}
				cout<<endl;
				for(int i=1;i<=4;i++){
					cout<<i<<"技能"<<j[i]<<"次"<<endl;
				}
				gotoxy(11,7);
				int x=1;
				if(a=='a'){
					n=n-x;
				}
				else if(a=='d'){
					n=n+x;
				}
				else if(a=='w'){
					m=m-x;
				}
				else if(a=='s'){
					m=m+x;
				}
				else if(a=='u'){
					for(int i=1;i<=3;i++) cout<<endl;
					for(int i=1;i<=10;i++) cout<<" ";
						if(w[1]>0) {
							cout<<"装备"<<w1.wq1;
							zb1=1;
						}
				}
				else if(a=='i'){
					for(int i=1;i<=3;i++) cout<<endl;
					for(int i=1;i<=10;i++) cout<<" ";
						if(w[2]>0) {
							cout<<"装备"<<w1.wq2;
							zb1=2;
						}
				}
				else if(a=='o'){
					for(int i=1;i<=3;i++) cout<<endl;
					for(int i=1;i<=10;i++) cout<<" ";
						if(w[3]>0) {
							cout<<"装备"<<w1.wq3;
							zb1=3;
						}
				}
				else if(a=='p'){
					for(int i=1;i<=3;i++) cout<<endl;
					for(int i=1;i<=10;i++) cout<<" ";
						if(w[4]>0) {
							cout<<"装备"<<w1.wq4;
							zb1=4;
						}
				}
				else if(a=='j'){
					if(zb1==0){
						dm-=2;
					}
					else if(zb1==1){
						dm-=7;
					}
					else if(zb1==2){
						dm-=6;
					}
					else if(zb1==3){
						dm-=10;
					}
					else if(zb1==4){
						dm-=4;
					}
				}
				else if(a=='1'){
					if(j[1]>0){
						dm-=30;
						j[1]--;
					}
				}
				else if(a=='2'){
					if(j[2]>0){
						dm-=18;
						j[2]--;
					}
				}
				else if(a=='3'){
					if(j[3]>0){
						dm-=50;
						j[3]--;
					}
			    }
				else if(a=='4'){
					if(j[4]>0){
						dm-=100;
						j[4]--;
					}
				}
				sm-=jian;
				x++;
				gotoxy(m,n);
				cout<<"■";
				Sleep(100);
				if(dm<=0){
					a1("你获胜了!!!φ(゜▽゜*)?\n");
					a1("奖励150金币!!");
					jinbi+=150;
				}
				else if(sm<=0){
					a1("你输了(⊙﹏⊙)\n");
					a1("奖励50金币哦"); 
					jinbi+=50; 
				}
			}
			jian++;
		}
		system("cls");
	}
    return 0;
}

1.00模式,请大家提建议

曹博扬在2020-08-26 15:54:08追加了内容
#include<iostream>
#include<string>
#include<cstdio>
#include<windows.h>
#include<stdlib.h> 
#include<fstream>
#include<sys/time.h>
#include<cstdlib>
#include<ctime>
#include<string.h>
#include<conio.h>
#include<iomanip>
#include<stdio.h>
#include<iterator>  
#pragma  comment(lib,"WinMM.Lib")
#pragma GCC optimize(2)
#define h 20 
using namespace std;
int jinbi=200;
int j[10001];
int w[10001];
int zb1=0;
struct ck{
	string wq1,wq2,wq3,wq4;
	string jn1,jn2,jn3,jn4;
};
ck w1;
void wq(){
	cout<<"武器间:";
	cout<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"1 赤血宝刀    70金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"2 丈八蛇矛   60金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"3 青龙偃月刀   100金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"4 金钢斧    40金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"5 退出"<<endl;
}
void jn(){
	cout<<"技能间";
	cout<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"1 18乱砍    80金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"2 金刚拳   60金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"3 天煞斩   100金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"4 天降之雷    200金币"<<endl;
	for(int i=1;i<=8;i++) cout<<" ";
	cout<<"5 退出"<<endl;
}
int cjda(){
	int x; 
	srand((int)time(NULL));//随机数 
	x=rand()%10;//范围 
	return x;
}
void gotoxy(int x,int y)
{   
   COORD c;     
   c.Y= x - 1; 
   c.X = y - 1; 
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);   
}
void color(int y)//颜色函数
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),y);
}
void a1(string s)
{
    int l=s.length(),j;
    for(int i=0;i<l;i++)
    {
        cout<<s[i];
        Sleep(50);
    }
}
void gz(){
	for(int i=1;i<=40;i++) cout<<" "; 
	cout<<"--------曹博扬制作--------";
	for(int i=1;i<=6;i++)
		cout<<endl;
	cout<<"您当前拥有"<<jinbi<<"金币"<<endl;
	cout<<"            A 开始游戏      ";
	cout<<" B 抽奖      "<<" C 武器      ";
	cout<<" D 技能      "; 
	cout<<" E 仓库      "<<" Z 退出";
}
void ksgz(){
	a1("s开始,★是敌人\n");
	cout<<endl;
	a1("a向左移,d向下移,w向上移,s向下移,j攻击\n");
	cout<<endl;
	a1("1是一技能,2是二技能,3是三技能,4是四技能\n");
	cout<<endl;
	a1("u是武器一,i是武器二,o是武器三,p是武器四");
	for(int i=1;i<=6;i++){
		Sleep(300);
		cout<<"."; 
	}
	Sleep(1000);
	system("cls");
}
int main(){
	MessageBox (NULL,TEXT("欢迎来到《超级大乱斗》,制作人:曹博扬"),TEXT("《世界大战》"),MB_OK);
	for(int i=1;i<=100;i++){
		cout<<"正在载入游戏中..."<<endl<<"   ";
		color(i/7);
		for(int j=1;j<=i/2;j++){
			cout<<"■";
		}
		cout<<i;
		Sleep(30);
		if(i==35){
			Sleep(2500); 
		}
		if(i==100){
			Sleep(2500);
		} 
		system("cls");	
	}
	system("color 7");
	a1("加载完毕!");
	Sleep(1000); 
	system("cls");
	char a;
	for(int i=1;i<=0x3f3f3f3f;i++){
		system("color 1");
		gz();//解释规则 
		Sleep(800);
		cout<<endl;
		char pd;
		cin>>pd;
		if(pd=='Z')
			break; 
		else if(pd=='B'){
			system("cls");
			cjda();
			int x1;
			a1("请输入抽奖号(1到9任意一个数)40金币一次\n");
			cin>>x1;
			jinbi-=40;
			if(jinbi>=40){ 
				if(jinbi==cjda()){
					a1("恭喜你!中奖了(●'?'●)\n获得90金币!");
					jinbi+=90;
				}else{
					a1("你没有中奖哦");
				} 
			}
			else{
				a1("金币不够哦( $ _ $ )");
			}
			Sleep(1000);
		}
		else if(pd=='C'){
			system("cls");
			wq();
			int wqxz;
			a1("请问您需要什么");
			cin>>wqxz;
			if(wqxz==5)
				continue;
			else if(wqxz==1){
				system("cls");
				if(jinbi>=70){
					jinbi-=70;
					w1.wq1="赤血宝刀";
					a1("恭喜你获得“赤血宝刀 ” φ(゜▽゜*)?");
					w[1]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			else if(wqxz==2){
				system("cls");
				if(jinbi>=60){
					jinbi-=60;
					w1.wq2="丈八蛇矛";
					a1("恭喜你获得“丈八蛇矛 ” φ(゜▽゜*)?");
					w[2]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			} 
			else if(wqxz==3){
				system("cls");
				if(jinbi>=100){
					jinbi-=100;
					w1.wq3="青龙偃月刀";
					a1("恭喜你获得“青龙偃月刀 ” φ(゜▽゜*)?");
					w[3]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			} 
			else if(wqxz==4){
				system("cls");
				if(jinbi>=40){
					jinbi-=40;
					w1.wq4="金钢斧";
					a1("恭喜你获得“金钢斧 ” φ(゜▽゜*)?");
					w[4]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			Sleep(1500);
		}
		else if(pd=='D'){
			system("cls");
			int jnxz;
			jn();
			a1("请问您需要什么");
			cin>>jnxz;
			if(jnxz==5)
				continue;
			else if(jnxz==1){
				system("cls");
				if(jinbi>=80){
					jinbi-=80;
					w1.jn1="18乱砍";
					a1("恭喜你获得“18乱砍 ” φ(゜▽゜*)?");
					j[1]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			else if(jnxz==2){
				system("cls");
				if(jinbi>=60){
					jinbi-=60;
					w1.jn2="金刚拳";
					a1("恭喜你获得“金刚拳 ” φ(゜▽゜*)?");
					j[2]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			else if(jnxz==3){
				system("cls");
				if(jinbi>=100){
					jinbi-=100;
					w1.jn2="天煞斩";
					a1("恭喜你获得“天煞斩 ” φ(゜▽゜*)?");
					j[3]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			else if(jnxz==4){
				system("cls");
				if(jinbi>=200){
					jinbi-=200;
					w1.jn3="天降之雷";
					a1("恭喜你获得“天降之雷 ” φ(゜▽゜*)?");
					j[4]++;
				}else{
					a1("金币不够哦( $ _ $ )");
				}
			}
			Sleep(1500);
		}
		else if(pd=='E'){
			a1("您现在拥有:");
			if(w1.wq1.size()>0)
				cout<<"   "<<w1.wq1<<endl;
			else if(w1.wq2.size()>0)
				cout<<"   "<<w1.wq2<<endl;
			else if(w1.wq3.size()>0)
				cout<<"   "<<w1.wq3<<endl;
			else if(w1.wq4.size()>0)
				cout<<"   "<<w1.wq4<<endl;
			else if(w1.jn1.size()>0)
				cout<<"   "<<w1.jn1<<endl;
			else if(w1.jn2.size()>0)
				cout<<"   "<<w1.jn2<<endl;
			else if(w1.jn3.size()>0)
				cout<<"   "<<w1.jn3<<endl;
			else if(w1.jn4.size()>0)
				cout<<"   "<<w1.jn4<<endl;
			Sleep(3000);
		}
		else if(pd=='A'){
			system("cls");
			int sm=100,dm=100;
			ksgz(); 
			char a;
			int m=11,n=7;
	    	gotoxy(m,n);
	    	int jian=1;
	    	srand((int)time(NULL));//随机数 
			int zb1=rand()%70;//范围 
			srand((int)time(NULL));//随机数 
			int zb2=rand()%70;//范围
			while (a=getch()){
				system("cls");
				cout<<"我方血量"<<sm;
				for(int i=1;i<=90;i++)cout<<" ";					cout<<"敌方血量"<<dm<<endl;
				for(int i=1;i<=4;i++){
					cout<<i<<"武器"<<w[i]<<"把"<<endl;
				}
				cout<<endl;
				for(int i=1;i<=4;i++){
					cout<<i<<"技能"<<j[i]<<"次"<<endl;
				}
				gotoxy(zb1,zb2);
				cout<<"★";
				gotoxy(11,7);
				int x=1;
				if(a=='a'){
					n=n-x;
				}
				else if(a=='d'){
					n=n+x;
				}
				else if(a=='w'){
					m=m-x;
				}
				else if(a=='s'){
					m=m+x;
				}
				else if(a=='u'){
					for(int i=1;i<=3;i++) cout<<endl;
					for(int i=1;i<=10;i++) cout<<" ";
						if(w[1]>0) {
							cout<<"装备"<<w1.wq1;
							zb1=1;
						}
				}
				else if(a=='i'){
					for(int i=1;i<=3;i++) cout<<endl;
					for(int i=1;i<=10;i++) cout<<" ";
						if(w[2]>0) {
							cout<<"装备"<<w1.wq2;
							zb1=2;
						}
				}
				else if(a=='o'){
					for(int i=1;i<=3;i++) cout<<endl;
					for(int i=1;i<=10;i++) cout<<" ";
						if(w[3]>0) {
							cout<<"装备"<<w1.wq3;
							zb1=3;
						}
				}
				else if(a=='p'){
					for(int i=1;i<=3;i++) cout<<endl;
					for(int i=1;i<=10;i++) cout<<" ";
						if(w[4]>0) {
							cout<<"装备"<<w1.wq4;
							zb1=4;
						}
				}
				else if(a=='j'){
					if(zb1==0){
						dm-=2;
					}
					else if(zb1==1){
						dm-=7;
					}
					else if(zb1==2){
						dm-=6;
					}
					else if(zb1==3){
						dm-=10;
					}
					else if(zb1==4){
						dm-=4;
					}
				}
				else if(a=='1'){
					if(j[1]>0){
						dm-=30;
						j[1]--;
					}
				}
				else if(a=='2'){
					if(j[2]>0){
						dm-=18;
						j[2]--;
					}
				}
				else if(a=='3'){
					if(j[3]>0){
						dm-=50;
						j[3]--;
					}
			    }
				else if(a=='4'){
					if(j[4]>0){
						dm-=100;
						j[4]--;
					}
				}
				sm-=jian;
				x++;
				gotoxy(m,n);
				cout<<"■";
				Sleep(100);
				if(dm<=0){
					a1("你获胜了!!!φ(゜▽゜*)?\n");
					a1("奖励150金币!!");
					jinbi+=150;
					break; 
				}
				else if(sm<=0){
					a1("你输了(⊙﹏⊙)\n");
					a1("奖励50金币哦"); 
					jinbi+=50; 
					break; 
				}
			}
			jian++;
		}
		system("cls");
	}
    return 0;
}
//1.1模式更新啦!!!
//修复了大家说的bug

 


0
已采纳
赵逸凡
赵逸凡
初级启示者
初级启示者

把头文件改成

#include<bits/stdc++.h>

#include<windows.h>

会减小代码量,易于调试debug

1
邹昊轩
邹昊轩
资深光能
资深光能

不错!!!!!!!!!

望采纳

0
0
邹昊轩
邹昊轩
资深光能
资深光能

建议改一下技术间:

1.天罚之雷

2.万马奔腾

3.横扫千军

4.龙啸九天

5.烈焰飞石

6.冰霜爆破

 

0
丁博扬
丁博扬
中级天翼
中级天翼

可以,你做的非常不错

0
朱子尘
朱子尘
初级光能
初级光能

额,还有负数???

希望作者改一下

0
0
0
徐紫尘
徐紫尘
高级光能
高级光能

1.

建议将34改成34%,因为游戏一般都是这样的

2.

建议在武器和技能里加上我的金币数,这样可以知道能买什么

3

敌方的血量已经是0了,怎么还在一直重复这句话?

望修改

0
吴庞茂旭
吴庞茂旭
资深光能
资深光能

 

我的天?两个龖荖来评论?

0
0
李致远
李致远
高级光能
高级光能
//优化了开机动画
#include<iostream>
#include<string>
#include<cstdio>
#include<windows.h>
#include<stdlib.h> 
#include<fstream>
#include<sys/time.h>
#include<cstdlib>
#include<ctime>
#include<string.h>
#include<conio.h>
#include<iomanip>
#include<stdio.h>
#include<iterator>  
#pragma  comment(lib,"WinMM.Lib")
#pragma GCC optimize(2)
#define h 20 
using namespace std;
int jinbi=200;
int j[10001];
int w[10001];
int zb1=0;
struct ck{
    string wq1,wq2,wq3,wq4;
    string jn1,jn2,jn3,jn4;
};
ck w1;
void sc(int color){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);  
    return;
}  
void print(const char a[],int b){
    int s=strlen(a);
    for(int i=0;i<s;i++){
        printf("%c",a[i]);
        Sleep(b);
    }
}
void Initialize(){
    system("color f0");
    RECT rect; 
    HWND hwnd=GetForegroundWindow();
    GetWindowRect(hwnd,&rect); 
    MoveWindow(hwnd,0,0,rect.right-rect.left,rect.bottom-rect.top,TRUE);
    system("mode con cols=90 lines=30");
}
void gotoxy(int x,int y){
    COORD pos;
    pos.X=2*x;
    pos.Y=y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void cursor(bool a){
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_CURSOR_INFO CursorInfo;
    GetConsoleCursorInfo(handle, &CursorInfo);
    CursorInfo.bVisible = a;
    SetConsoleCursorInfo(handle, &CursorInfo);
}
void wq(){
    cout<<"武器间:";
    cout<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"1 赤血宝刀    70金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"2 丈八蛇矛   60金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"3 青龙偃月刀   100金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"4 金钢斧    40金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"5 退出"<<endl;
}
void jn(){
    cout<<"技能间";
    cout<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"1 18乱砍    80金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"2 金刚拳   60金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"3 天煞斩   100金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"4 天降之雷    200金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"5 退出"<<endl;
}
int cjda(){
    int x; 
    srand((int)time(NULL));//随机数 
    x=rand()%10;//范围 
    return x;
}
void gotoxy(int x,int y)
{   
   COORD c;     
   c.Y= x - 1; 
   c.X = y - 1; 
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);   
}
void color(int y)//颜色函数
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),y);
}
void a1(string s)
{
    int l=s.length(),j;
    for(int i=0;i<l;i++)
    {
        cout<<s[i];
        Sleep(50);
    }
}
void gz(){
    for(int i=1;i<=40;i++) cout<<" "; 
    cout<<"--------曹博扬制作--------";
    for(int i=1;i<=6;i++)
        cout<<endl;
    cout<<"您当前拥有"<<jinbi<<"金币"<<endl;
    cout<<"            A 开始游戏      ";
    cout<<" B 抽奖      "<<" C 武器      ";
    cout<<" D 技能      "; 
    cout<<" E 仓库      "<<" Z 退出";
}
void ksgz(){
    a1("s开始,★是敌人\n");
    cout<<endl;
    a1("a向左移,d向下移,w向上移,s向下移,j攻击\n");
    cout<<endl;
    a1("1是一技能,2是二技能,3是三技能,4是四技能\n");
    cout<<endl;
    a1("u是武器一,i是武器二,o是武器三,p是武器四");
    for(int i=1;i<=6;i++){
        Sleep(300);
        cout<<"."; 
    }
    Sleep(1000);
    system("cls");
}
void szds(){
    srand((int)time(NULL));//随机数 
    int x=rand()%100;//范围 
    srand((int)time(NULL));//随机数 
    int y=rand()%100;//范围
    gotoxy(x,y);
    cout<<"★";
}
int main(){
	cursor(0);
    gotoxy(20,11);print("超级大乱斗",75);
    gotoxy(22,12);print("by 曹博扬",75);
    Sleep(600);system("cls");
    Sleep(500);
    system("cls"); 
    gotoxy(16,11);print("超级大乱斗 1.00",50);
    gotoxy(7,12);print("https://wenda.codingtang.com/questions/9986/",50);
    Sleep(500);
    gotoxy(17,13);print("F键打开",50);
    Sleep(600);
    gotoxy(15,11);print("请输入任意键继续",50);
    char k=getch();
    if(k=='F')system("start https://wenda.codingtang.com/questions/9986/");
    system("cls"); 
    MessageBox (NULL,TEXT("制作人:曹博扬"),TEXT("《世界大战》"),MB_OK);
    for(int i=1;i<=100;i++){
        cout<<"正在载入游戏中..."<<endl;
        color(i/7);
        for(int j=1;j<=i/2;j++){
            cout<<"■ ";
        }
        cout<<endl<<"\t\t\t\t"<<i<<"%";
        Sleep(30);
        if(i==50){
            Sleep(2500); 
        }
        if(i==100){
            Sleep(2500);
        } 
        system("cls");  
    }
    system("color 7");
    a1("加载完毕!");
    Sleep(1000); 
    system("cls");
    char a;
    for(int i=1;i<=0x3f3f3f3f;i++){
        system("color 1");
        gz();//解释规则 
        Sleep(800);
        cout<<endl;
        char pd;
        cin>>pd;
        if(pd=='Z')
            break; 
        else if(pd=='B'){
            system("cls");
            cjda();
            int x1;
            a1("请输入抽奖号(1到9任意一个数)40金币一次\n");
            cin>>x1;
            jinbi-=40;
            if(x1>=40){ 
                if(jinbi==cjda()){
                    a1("恭喜你!中奖了(●'?'●)\n获得90金币!");
                    jinbi+=90;
                }else{
                    a1("你没有中奖哦");
                } 
            }
            else{
                a1("金币不够哦( $ _ $ )");
            }
            Sleep(1000);
        }
        else if(pd=='C'){
            system("cls");
            wq();
            int wqxz;
            a1("请问您需要什么");
            cin>>wqxz;
            if(wqxz==5)
                continue;
            else if(wqxz==1){
                system("cls");
                if(jinbi>=70){
                    jinbi-=70;
                    w1.wq1="赤血宝刀";
                    a1("恭喜你获得“赤血宝刀 ” φ(゜▽゜*)?");
                    w[1]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(wqxz==2){
                system("cls");
                if(jinbi>=60){
                    jinbi-=60;
                    w1.wq2="丈八蛇矛";
                    a1("恭喜你获得“丈八蛇矛 ” φ(゜▽゜*)?");
                    w[2]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            } 
            else if(wqxz==3){
                system("cls");
                if(jinbi>=100){
                    jinbi-=100;
                    w1.wq3="青龙偃月刀";
                    a1("恭喜你获得“青龙偃月刀 ” φ(゜▽゜*)?");
                    w[3]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            } 
            else if(wqxz==4){
                system("cls");
                if(jinbi>=40){
                    jinbi-=40;
                    w1.wq4="金钢斧";
                    a1("恭喜你获得“金钢斧 ” φ(゜▽゜*)?");
                    w[4]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            Sleep(1500);
        }
        else if(pd=='D'){
            system("cls");
            int jnxz;
            jn();
            a1("请问您需要什么");
            cin>>jnxz;
            if(jnxz==5)
                continue;
            else if(jnxz==1){
                system("cls");
                if(jinbi>=80){
                    jinbi-=80;
                    w1.jn1="18乱砍";
                    a1("恭喜你获得“18乱砍 ” φ(゜▽゜*)?");
                    j[1]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(jnxz==2){
                system("cls");
                if(jinbi>=60){
                    jinbi-=60;
                    w1.jn2="金刚拳";
                    a1("恭喜你获得“金刚拳 ” φ(゜▽゜*)?");
                    j[2]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(jnxz==3){
                system("cls");
                if(jinbi>=100){
                    jinbi-=100;
                    w1.jn2="天煞斩";
                    a1("恭喜你获得“天煞斩 ” φ(゜▽゜*)?");
                    j[3]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(jnxz==4){
                system("cls");
                if(jinbi>=200){
                    jinbi-=200;
                    w1.jn3="天降之雷";
                    a1("恭喜你获得“天降之雷 ” φ(゜▽゜*)?");
                    j[4]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            Sleep(1500);
        }
        else if(pd=='E'){
            a1("您现在拥有:");
            if(w1.wq1.size()>0)
                cout<<"   "<<w1.wq1<<endl;
            else if(w1.wq2.size()>0)
                cout<<"   "<<w1.wq2<<endl;
            else if(w1.wq3.size()>0)
                cout<<"   "<<w1.wq3<<endl;
            else if(w1.wq4.size()>0)
                cout<<"   "<<w1.wq4<<endl;
            else if(w1.jn1.size()>0)
                cout<<"   "<<w1.jn1<<endl;
            else if(w1.jn2.size()>0)
                cout<<"   "<<w1.jn2<<endl;
            else if(w1.jn3.size()>0)
                cout<<"   "<<w1.jn3<<endl;
            else if(w1.jn4.size()>0)
                cout<<"   "<<w1.jn4<<endl;
            Sleep(3000);
        }
        else if(pd=='A'){
            system("cls");
            int sm=100,dm=100;
            ksgz(); 
            char a;
            int m=11,n=7;
            gotoxy(m,n);
            int jian=1;
            szds(); 
            while (a=getch()){
                system("cls");
                cout<<"我方血量"<<sm;
                for(int i=1;i<=90;i++)cout<<" ";                   cout<<"敌方血量"<<dm<<endl;
                for(int i=1;i<=4;i++){
                    cout<<i<<"武器"<<w[i]<<"把"<<endl;
                }
                cout<<endl;
                for(int i=1;i<=4;i++){
                    cout<<i<<"技能"<<j[i]<<"次"<<endl;
                }
                gotoxy(11,7);
                int x=1;
                if(a=='a'){
                    n=n-x;
                }
                else if(a=='d'){
                    n=n+x;
                }
                else if(a=='w'){
                    m=m-x;
                }
                else if(a=='s'){
                    m=m+x;
                }
                else if(a=='u'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[1]>0) {
                            cout<<"装备"<<w1.wq1;
                            zb1=1;
                        }
                }
                else if(a=='i'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[2]>0) {
                            cout<<"装备"<<w1.wq2;
                            zb1=2;
                        }
                }
                else if(a=='o'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[3]>0) {
                            cout<<"装备"<<w1.wq3;
                            zb1=3;
                        }
                }
                else if(a=='p'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[4]>0) {
                            cout<<"装备"<<w1.wq4;
                            zb1=4;
                        }
                }
                else if(a=='j'){
                    if(zb1==0){
                        dm-=2;
                    }
                    else if(zb1==1){
                        dm-=7;
                    }
                    else if(zb1==2){
                        dm-=6;
                    }
                    else if(zb1==3){
                        dm-=10;
                    }
                    else if(zb1==4){
                        dm-=4;
                    }
                }
                else if(a=='1'){
                    if(j[1]>0){
                        dm-=30;
                        j[1]--;
                    }
                }
                else if(a=='2'){
                    if(j[2]>0){
                        dm-=18;
                        j[2]--;
                    }
                }
                else if(a=='3'){
                    if(j[3]>0){
                        dm-=50;
                        j[3]--;
                    }
                }
                else if(a=='4'){
                    if(j[4]>0){
                        dm-=100;
                        j[4]--;
                    }
                }
                sm-=jian;
                x++;
                gotoxy(m,n);
                cout<<"■";
                Sleep(100);
                if(dm<=0){
                    a1("你获胜了!!!φ(゜▽゜*)?\n");
                    a1("奖励150金币!!");
                    jinbi+=150;
                }
                else if(sm<=0){
                    a1("你输了(⊙﹏⊙)\n");
                    a1("奖励50金币哦"); 
                    jinbi+=50; 
                }
            }
            jian++;
        }
        system("cls");
    }
    return 0;
}

 

李致远在2020-08-26 08:56:11追加了内容
#include<iostream>
#include<string>
#include<cstdio>
#include<windows.h>
#include<stdlib.h> 
#include<fstream>
#include<sys/time.h>
#include<cstdlib>
#include<ctime>
#include<string.h>
#include<conio.h>
#include<iomanip>
#include<stdio.h>
#include<iterator>  
#include<bits/stdc++.h> 
#pragma  comment(lib,"WinMM.Lib")
#pragma GCC optimize(2)
#define h 20 
using namespace std;
int jinbi=200;
int j[10001];
int w[10001];
int zb1=0;
struct ck{
    string wq1,wq2,wq3,wq4;
    string jn1,jn2,jn3,jn4;
};
ck w1;
void sc(int color){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);  
    return;
}  
void print(const char a[],int b){
    int s=strlen(a);
    for(int i=0;i<s;i++){
        printf("%c",a[i]);
        Sleep(b);
    }
}
void Initialize(){
    system("color f0");
    RECT rect; 
    HWND hwnd=GetForegroundWindow();
    GetWindowRect(hwnd,&rect); 
    MoveWindow(hwnd,0,0,rect.right-rect.left,rect.bottom-rect.top,TRUE);
    system("mode con cols=90 lines=30");
}
void gotoxy(int x,int y){
    COORD pos;
    pos.X=2*x;
    pos.Y=y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void cursor(bool a){
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_CURSOR_INFO CursorInfo;
    GetConsoleCursorInfo(handle, &CursorInfo);
    CursorInfo.bVisible = a;
    SetConsoleCursorInfo(handle, &CursorInfo);
}
void wq(){
    cout<<"武器间:";
    cout<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"1 赤血宝刀    70金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"2 丈八蛇矛   60金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"3 青龙偃月刀   100金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"4 金钢斧    40金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"5 退出"<<endl;
}
void jn(){
    cout<<"技能间";
    cout<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"1 18乱砍    80金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"2 金刚拳   60金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"3 天煞斩   100金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"4 天降之雷    200金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"5 退出"<<endl;
}
int cjda(){
    int x; 
    srand((int)time(NULL));//随机数 
    x=rand()%10;//范围 
    return x;
}
void gotoxy1(int x,int y)
{   
   COORD c;     
   c.Y= x - 1; 
   c.X = y - 1; 
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);   
}
void color(int y)//颜色函数
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),y);
}
void a1(string s)
{
    int l=s.length(),j;
    for(int i=0;i<l;i++)
    {
        cout<<s[i];
        Sleep(50);
    }
}
void gz(){
    for(int i=1;i<=40;i++) cout<<" "; 
    cout<<"--------曹博扬制作--------";
    for(int i=1;i<=6;i++)
        cout<<endl;
    cout<<"您当前拥有"<<jinbi<<"金币"<<endl;
    cout<<"            A 开始游戏      ";
    cout<<" B 抽奖      "<<" C 武器      ";
    cout<<" D 技能      "; 
    cout<<" E 仓库      "<<" Z 退出";
}
void ksgz(){
    a1("s开始,★是敌人\n");
    cout<<endl;
    a1("a向左移,d向下移,w向上移,s向下移,j攻击\n");
    cout<<endl;
    a1("1是一技能,2是二技能,3是三技能,4是四技能\n");
    cout<<endl;
    a1("u是武器一,i是武器二,o是武器三,p是武器四");
    for(int i=1;i<=6;i++){
        Sleep(300);
        cout<<"."; 
    }
    Sleep(1000);
    system("cls");
}
void szds(){
    srand((int)time(NULL));//随机数 
    int x=rand()%100;//范围 
    srand((int)time(NULL));//随机数 
    int y=rand()%100;//范围
    gotoxy(x,y);
    cout<<"★";
}
int main(){
	cursor(0);
    gotoxy(20,11);print("超级大乱斗",75);
    gotoxy(22,12);print("by 曹博扬",75);
    Sleep(600);system("cls");
    Sleep(500);
    system("cls"); 
    gotoxy(16,11);print("超级大乱斗 1.00",50);
    gotoxy(7,12);print("https://wenda.codingtang.com/questions/9986/",50);
    Sleep(500);
    gotoxy(17,13);print("F键打开",50);
    Sleep(600);
    gotoxy(15,11);print("请输入任意键继续",50);
    char k=getch();
    if(k=='F')system("start https://wenda.codingtang.com/questions/9986/");
    system("cls"); 
    MessageBox (NULL,TEXT("制作人:曹博扬"),TEXT("《世界大战》"),MB_OK);
    for(int i=1;i<=100;i++){
        cout<<"正在载入游戏中..."<<endl;
        color(i/7);
        for(int j=1;j<=i/2;j++){
            cout<<"■ ";
        }
        cout<<endl<<"\t\t\t\t"<<i<<"%";
        Sleep(30);
        if(i==50){
            Sleep(2500); 
        }
        if(i==100){
            Sleep(2500);
        } 
        system("cls");  
    }
    system("color 7");
    a1("加载完毕!");
    Sleep(1000); 
    system("cls");
    char a;
    for(int i=1;i<=0x3f3f3f3f;i++){
        system("color 1");
        gz();//解释规则 
        Sleep(800);
        cout<<endl;
        char pd;
        cin>>pd;
        if(pd=='Z')
            break; 
        else if(pd=='B'){
            system("cls");
            cjda();
            int x1;
            a1("请输入抽奖号(1到9任意一个数)40金币一次\n");
            cin>>x1;
            jinbi-=40;
            if(x1>=40){ 
                if(jinbi==cjda()){
                    a1("恭喜你!中奖了(●'?'●)\n获得90金币!");
                    jinbi+=90;
                }else{
                    a1("你没有中奖哦");
                } 
            }
            else{
                a1("金币不够哦( $ _ $ )");
            }
            Sleep(1000);
        }
        else if(pd=='C'){
            system("cls");
            wq();
            int wqxz;
            a1("请问您需要什么");
            cin>>wqxz;
            if(wqxz==5)
                continue;
            else if(wqxz==1){
                system("cls");
                if(jinbi>=70){
                    jinbi-=70;
                    w1.wq1="赤血宝刀";
                    a1("恭喜你获得“赤血宝刀 ” φ(゜▽゜*)?");
                    w[1]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(wqxz==2){
                system("cls");
                if(jinbi>=60){
                    jinbi-=60;
                    w1.wq2="丈八蛇矛";
                    a1("恭喜你获得“丈八蛇矛 ” φ(゜▽゜*)?");
                    w[2]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            } 
            else if(wqxz==3){
                system("cls");
                if(jinbi>=100){
                    jinbi-=100;
                    w1.wq3="青龙偃月刀";
                    a1("恭喜你获得“青龙偃月刀 ” φ(゜▽゜*)?");
                    w[3]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            } 
            else if(wqxz==4){
                system("cls");
                if(jinbi>=40){
                    jinbi-=40;
                    w1.wq4="金钢斧";
                    a1("恭喜你获得“金钢斧 ” φ(゜▽゜*)?");
                    w[4]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            Sleep(1500);
        }
        else if(pd=='D'){
            system("cls");
            int jnxz;
            jn();
            a1("请问您需要什么");
            cin>>jnxz;
            if(jnxz==5)
                continue;
            else if(jnxz==1){
                system("cls");
                if(jinbi>=80){
                    jinbi-=80;
                    w1.jn1="18乱砍";
                    a1("恭喜你获得“18乱砍 ” φ(゜▽゜*)?");
                    j[1]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(jnxz==2){
                system("cls");
                if(jinbi>=60){
                    jinbi-=60;
                    w1.jn2="金刚拳";
                    a1("恭喜你获得“金刚拳 ” φ(゜▽゜*)?");
                    j[2]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(jnxz==3){
                system("cls");
                if(jinbi>=100){
                    jinbi-=100;
                    w1.jn2="天煞斩";
                    a1("恭喜你获得“天煞斩 ” φ(゜▽゜*)?");
                    j[3]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(jnxz==4){
                system("cls");
                if(jinbi>=200){
                    jinbi-=200;
                    w1.jn3="天降之雷";
                    a1("恭喜你获得“天降之雷 ” φ(゜▽゜*)?");
                    j[4]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            Sleep(1500);
        }
        else if(pd=='E'){
            a1("您现在拥有:");
            if(w1.wq1.size()>0)
                cout<<"   "<<w1.wq1<<endl;
            else if(w1.wq2.size()>0)
                cout<<"   "<<w1.wq2<<endl;
            else if(w1.wq3.size()>0)
                cout<<"   "<<w1.wq3<<endl;
            else if(w1.wq4.size()>0)
                cout<<"   "<<w1.wq4<<endl;
            else if(w1.jn1.size()>0)
                cout<<"   "<<w1.jn1<<endl;
            else if(w1.jn2.size()>0)
                cout<<"   "<<w1.jn2<<endl;
            else if(w1.jn3.size()>0)
                cout<<"   "<<w1.jn3<<endl;
            else if(w1.jn4.size()>0)
                cout<<"   "<<w1.jn4<<endl;
            Sleep(3000);
        }
        else if(pd=='A'){
            system("cls");
            int sm=100,dm=100;
            ksgz(); 
            char a;
            int m=11,n=7;
            gotoxy(m,n);
            int jian=1;
            szds(); 
            while (a=getch()){
                system("cls");
                cout<<"我方血量"<<sm;
                for(int i=1;i<=90;i++)cout<<" ";                   cout<<"敌方血量"<<dm<<endl;
                for(int i=1;i<=4;i++){
                    cout<<i<<"武器"<<w[i]<<"把"<<endl;
                }
                cout<<endl;
                for(int i=1;i<=4;i++){
                    cout<<i<<"技能"<<j[i]<<"次"<<endl;
                }
                gotoxy(11,7);
                int x=1;
                if(a=='a'){
                    n=n-x;
                }
                else if(a=='d'){
                    n=n+x;
                }
                else if(a=='w'){
                    m=m-x;
                }
                else if(a=='s'){
                    m=m+x;
                }
                else if(a=='u'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[1]>0) {
                            cout<<"装备"<<w1.wq1;
                            zb1=1;
                        }
                }
                else if(a=='i'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[2]>0) {
                            cout<<"装备"<<w1.wq2;
                            zb1=2;
                        }
                }
                else if(a=='o'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[3]>0) {
                            cout<<"装备"<<w1.wq3;
                            zb1=3;
                        }
                }
                else if(a=='p'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[4]>0) {
                            cout<<"装备"<<w1.wq4;
                            zb1=4;
                        }
                }
                else if(a=='j'){
                    if(zb1==0){
                        dm-=2;
                    }
                    else if(zb1==1){
                        dm-=7;
                    }
                    else if(zb1==2){
                        dm-=6;
                    }
                    else if(zb1==3){
                        dm-=10;
                    }
                    else if(zb1==4){
                        dm-=4;
                    }
                }
                else if(a=='1'){
                    if(j[1]>0){
                        dm-=30;
                        j[1]--;
                    }
                }
                else if(a=='2'){
                    if(j[2]>0){
                        dm-=18;
                        j[2]--;
                    }
                }
                else if(a=='3'){
                    if(j[3]>0){
                        dm-=50;
                        j[3]--;
                    }
                }
                else if(a=='4'){
                    if(j[4]>0){
                        dm-=100;
                        j[4]--;
                    }
                }
                sm-=jian;
                x++;
                gotoxy(m,n);
                cout<<"■";
                Sleep(100);
                if(dm<=0){
                    a1("你获胜了!!!φ(゜▽゜*)?\n");
                    a1("奖励150金币!!");
                    jinbi+=150;
                }
                else if(sm<=0){
                    a1("你输了(⊙﹏⊙)\n");
                    a1("奖励50金币哦"); 
                    jinbi+=50; 
                }
            }
            jian++;
        }
        system("cls");
    }
    return 0;
}//刚刚那个出错了。。。

 

李致远在2020-08-26 09:13:28追加了内容
#include<iostream>
#include<string>
#include<cstdio>
#include<windows.h>
#include<stdlib.h> 
#include<fstream>
#include<sys/time.h>
#include<cstdlib>
#include<ctime>
#include<string.h>
#include<conio.h>
#include<iomanip>
#include<stdio.h>
#include<iterator>  
#include<bits/stdc++.h> 
#pragma  comment(lib,"WinMM.Lib")
#pragma GCC optimize(2)
#define h 20 
using namespace std;
int jinbi=200;
int j[10001];
int w[10001];
int zb1=0;
struct ck{
    string wq1,wq2,wq3,wq4;
    string jn1,jn2,jn3,jn4;
};
ck w1;
void sc(int color){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);  
    return;
}  
void print(const char a[],int b){
    int s=strlen(a);
    for(int i=0;i<s;i++){
        printf("%c",a[i]);
        Sleep(b);
    }
}
void Initialize(){
    system("color f0");
    RECT rect; 
    HWND hwnd=GetForegroundWindow();
    GetWindowRect(hwnd,&rect); 
    MoveWindow(hwnd,0,0,rect.right-rect.left,rect.bottom-rect.top,TRUE);
    system("mode con cols=90 lines=30");
}
void gotoxy(int x,int y){
    COORD pos;
    pos.X=2*x;
    pos.Y=y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void cursor(bool a){
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_CURSOR_INFO CursorInfo;
    GetConsoleCursorInfo(handle, &CursorInfo);
    CursorInfo.bVisible = a;
    SetConsoleCursorInfo(handle, &CursorInfo);
}
void wq(){
    cout<<"武器间:";
    cout<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"1 赤血宝刀    70金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"2 丈八蛇矛   60金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"3 青龙偃月刀   100金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"4 金钢斧    40金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"5 退出"<<endl;
}
void jn(){
    cout<<"技能间";
    cout<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"1 18乱砍    80金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"2 金刚拳   60金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"3 天煞斩   100金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"4 天降之雷    200金币"<<endl;
    for(int i=1;i<=8;i++) cout<<" ";
    cout<<"5 退出"<<endl;
}
int cjda(){
    int x; 
    srand((int)time(NULL));//随机数 
    x=rand()%10;//范围 
    return x;
}
void gotoxy1(int x,int y)
{   
   COORD c;     
   c.Y= x - 1; 
   c.X = y - 1; 
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);   
}
void color(int y)//颜色函数
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),y);
}
void a1(string s)
{
    int l=s.length(),j;
    for(int i=0;i<l;i++)
    {
        cout<<s[i];
        Sleep(50);
    }
}
void gz(){ 
	cout<<"您当前拥有"<<jinbi<<"金币"<<endl;
    cout<<"            A 开始游戏      ";
    cout<<" B 抽奖      "<<" C 武器      ";
    cout<<" D 技能      "; 
    cout<<" E 仓库      "<<" Z 退出";
    gotoxy(15,11);print("曹博扬制作",50);
    
}
void ksgz(){
    a1("s开始,★是敌人\n");
    cout<<endl;
    a1("a向左移,d向下移,w向上移,s向下移,j攻击\n");
    cout<<endl;
    a1("1是一技能,2是二技能,3是三技能,4是四技能\n");
    cout<<endl;
    a1("u是武器一,i是武器二,o是武器三,p是武器四");
    for(int i=1;i<=6;i++){
        Sleep(300);
        cout<<"."; 
    }
    Sleep(1000);
    system("cls");
}
void szds(){
    srand((int)time(NULL));//随机数 
    int x=rand()%100;//范围 
    srand((int)time(NULL));//随机数 
    int y=rand()%100;//范围
    gotoxy(x,y);
    cout<<"★";
}
int main(){
	cursor(0);
    gotoxy(20,11);print("超级大乱斗",75);
    gotoxy(22,12);print("by 曹博扬",75);
    Sleep(600);system("cls");
    Sleep(500);
    system("cls"); 
    gotoxy(16,11);print("超级大乱斗 1.00",50);
    gotoxy(7,12);print("https://wenda.codingtang.com/questions/9986/",50);
    Sleep(500);
    gotoxy(17,13);print("F键打开",50);
    Sleep(600);
    gotoxy(15,11);print("请输入任意键继续",50);
    char k=getch();
    if(k=='F')system("start https://wenda.codingtang.com/questions/9986/");
    system("cls"); 
    MessageBox (NULL,TEXT("制作人:曹博扬"),TEXT("《世界大战》"),MB_OK);
    for(int i=1;i<=100;i++){
        cout<<"正在载入游戏中..."<<endl;
        color(i/7);
        for(int j=1;j<=i/2;j++){
            cout<<"■ ";
        }
        cout<<endl<<"\t\t\t\t"<<i<<"%";
        Sleep(30);
        if(i==50){
            Sleep(2500); 
        }
        if(i==100){
            Sleep(2500);
        } 
        system("cls");  
    }
    system("color 7");
    a1("加载完毕!");
    Sleep(1000); 
    system("cls");
    char a;
    for(int i=1;i<=0x3f3f3f3f;i++){
        system("color 1");
        gz();//解释规则 
        Sleep(800);
        cout<<endl;
        char pd;
        pd=getch(); 
        if(pd=='Z')
            break; 
        else if(pd=='B'){
            system("cls");
            cjda();
            int x1;
            a1("请输入抽奖号(1到9任意一个数)40金币一次\n");
            x1=getch();
            jinbi-=40;
            if(x1>=40){ 
                if(jinbi==cjda()){
                    a1("恭喜你!中奖了(●'?'●)\n获得90金币!");
                    jinbi+=90;
                }else{
                    a1("你没有中奖哦");
                } 
            }
            else{
                a1("金币不够哦( $ _ $ )");
            }
            Sleep(1000);
        }
        else if(pd=='C'){
            system("cls");
            wq();
            int wqxz;
            a1("请问您需要什么");
            wqxz=getch();
            if(wqxz==5)
                continue;
            else if(wqxz==1){
                system("cls");
                if(jinbi>=70){
                    jinbi-=70;
                    w1.wq1="赤血宝刀";
                    a1("恭喜你获得“赤血宝刀 ” φ(゜▽゜*)?");
                    w[1]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(wqxz==2){
                system("cls");
                if(jinbi>=60){
                    jinbi-=60;
                    w1.wq2="丈八蛇矛";
                    a1("恭喜你获得“丈八蛇矛 ” φ(゜▽゜*)?");
                    w[2]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            } 
            else if(wqxz==3){
                system("cls");
                if(jinbi>=100){
                    jinbi-=100;
                    w1.wq3="青龙偃月刀";
                    a1("恭喜你获得“青龙偃月刀 ” φ(゜▽゜*)?");
                    w[3]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            } 
            else if(wqxz==4){
                system("cls");
                if(jinbi>=40){
                    jinbi-=40;
                    w1.wq4="金钢斧";
                    a1("恭喜你获得“金钢斧 ” φ(゜▽゜*)?");
                    w[4]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            Sleep(1500);
        }
        else if(pd=='D'){
            system("cls");
            int jnxz;
            jn();
            a1("请问您需要什么");
            jnxz=getch();
            if(jnxz==5)
                continue;
            else if(jnxz==1){
                system("cls");
                if(jinbi>=80){
                    jinbi-=80;
                    w1.jn1="18乱砍";
                    a1("恭喜你获得“18乱砍 ” φ(゜▽゜*)?");
                    j[1]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(jnxz==2){
                system("cls");
                if(jinbi>=60){
                    jinbi-=60;
                    w1.jn2="金刚拳";
                    a1("恭喜你获得“金刚拳 ” φ(゜▽゜*)?");
                    j[2]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(jnxz==3){
                system("cls");
                if(jinbi>=100){
                    jinbi-=100;
                    w1.jn2="天煞斩";
                    a1("恭喜你获得“天煞斩 ” φ(゜▽゜*)?");
                    j[3]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            else if(jnxz==4){
                system("cls");
                if(jinbi>=200){
                    jinbi-=200;
                    w1.jn3="天降之雷";
                    a1("恭喜你获得“天降之雷 ” φ(゜▽゜*)?");
                    j[4]++;
                }else{
                    a1("金币不够哦( $ _ $ )");
                }
            }
            Sleep(1500);
        }
        else if(pd=='E'){
            a1("您现在拥有:");
            if(w1.wq1.size()>0)
                cout<<"   "<<w1.wq1<<endl;
            else if(w1.wq2.size()>0)
                cout<<"   "<<w1.wq2<<endl;
            else if(w1.wq3.size()>0)
                cout<<"   "<<w1.wq3<<endl;
            else if(w1.wq4.size()>0)
                cout<<"   "<<w1.wq4<<endl;
            else if(w1.jn1.size()>0)
                cout<<"   "<<w1.jn1<<endl;
            else if(w1.jn2.size()>0)
                cout<<"   "<<w1.jn2<<endl;
            else if(w1.jn3.size()>0)
                cout<<"   "<<w1.jn3<<endl;
            else if(w1.jn4.size()>0)
                cout<<"   "<<w1.jn4<<endl;
            Sleep(3000);
        }
        else if(pd=='A'){
            system("cls");
            int sm=100,dm=100;
            ksgz(); 
            char a;
            int m=11,n=7;
            gotoxy1(m,n);
            int jian=1;
            szds(); 
            while (a=getch()){
                system("cls");
                cout<<"我方血量"<<sm;
                for(int i=1;i<=90;i++)cout<<" ";                   cout<<"敌方血量"<<dm<<endl;
                for(int i=1;i<=4;i++){
                    cout<<i<<"武器"<<w[i]<<"把"<<endl;
                }
                cout<<endl;
                for(int i=1;i<=4;i++){
                    cout<<i<<"技能"<<j[i]<<"次"<<endl;
                }
                gotoxy(11,7);
                int x=1;
                if(a=='a'){
                    n=n-x;
                }
                else if(a=='d'){
                    n=n+x;
                }
                else if(a=='w'){
                    m=m-x;
                }
                else if(a=='s'){
                    m=m+x;
                }
                else if(a=='u'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[1]>0) {
                            cout<<"装备"<<w1.wq1;
                            zb1=1;
                        }
                }
                else if(a=='i'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[2]>0) {
                            cout<<"装备"<<w1.wq2;
                            zb1=2;
                        }
                }
                else if(a=='o'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[3]>0) {
                            cout<<"装备"<<w1.wq3;
                            zb1=3;
                        }
                }
                else if(a=='p'){
                    for(int i=1;i<=3;i++) cout<<endl;
                    for(int i=1;i<=10;i++) cout<<" ";
                        if(w[4]>0) {
                            cout<<"装备"<<w1.wq4;
                            zb1=4;
                        }
                }
                else if(a=='j'){
                    if(zb1==0){
                        dm-=2;
                    }
                    else if(zb1==1){
                        dm-=7;
                    }
                    else if(zb1==2){
                        dm-=6;
                    }
                    else if(zb1==3){
                        dm-=10;
                    }
                    else if(zb1==4){
                        dm-=4;
                    }
                }
                else if(a=='1'){
                    if(j[1]>0){
                        dm-=30;
                        j[1]--;
                    }
                }
                else if(a=='2'){
                    if(j[2]>0){
                        dm-=18;
                        j[2]--;
                    }
                }
                else if(a=='3'){
                    if(j[3]>0){
                        dm-=50;
                        j[3]--;
                    }
                }
                else if(a=='4'){
                    if(j[4]>0){
                        dm-=100;
                        j[4]--;
                    }
                }
                sm-=jian;
                x++;
                gotoxy(m,n);
                cout<<"■";
                Sleep(100);
                if(dm<=0){
                    a1("你获胜了!!!φ(゜▽゜*)?\n");
                    a1("奖励150金币!!");
                    jinbi+=150;
                }
                else if(sm<=0){
                    a1("你输了(⊙﹏⊙)\n");
                    a1("奖励50金币哦"); 
                    jinbi+=50; 
                }
            }
            jian++;
        }
        system("cls");
    }
    return 0;
}//要善于使用getch

 

0
0
胡钰妍
胡钰妍
资深光能
资深光能

不错(看在同班的份上望采纳)

0
0
沈峻宇
沈峻宇
资深天翼
资深天翼

看着不错,开机动画建议改成message,还有,万能头抵消掉一大串头文件(除了特殊头文件)!

(方田同学,求采纳)

我要回答