有bug私聊我
花了我114514秒
#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h>
using namespace std;
//▲●◆■★█▌━┃┍┓┗┛
int a=1,m=1,c=1,f=1,dr[114514],u,num,x,y,xx,yy;
double CD,DCD;
char b,d,e,g;
//主角
int xueliang=100,xueliang2=10000;
void HC(){
CONSOLE_CURSOR_INFO cur={1,0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cur);
}
void G(int a114514,int b1919810){
COORD pos = {1,0};
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut,pos);
}
void S(int ForgC, int BackC) {
WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
}
//19*30
void t1(){
xueliang=100,xueliang2=10000,CD=3.0,x=10,y=3,xx=10,yy=29,DCD=15.0;
system("mode con cols=70 lines=30");
system("cls");
long long u=time(0);
while(xueliang>0&&xueliang2>0){
cout << "\n";
for(int i=1;i <= 19;i++){
for(int j=1;j <= 30;j++){
if(i==1||i==19||j==1||j==30){
S(8,0);
cout << "■";
S(15,0);
}else if(i==x&&j==y){
S(11,0);
cout << "●";
S(15,0);
}else if(i==xx&&j==yy){
S(14,0);
cout << "●";
S(15,0);
}else{
cout << " ";
}
}
cout << endl;
}
cout << "\n我方血量:";
S(12,0);
for(int i=1;i <= xueliang/10;i++) cout << "█";
if(xueliang2%10 > 5) cout << "█";
if(xueliang%10 == 5 && xueliang != 0) cout << "▌";
cout << " " << xueliang<<" ";
S(15,0);
cout << "\n\n敌方血量:";
S(12,0);
for(int i=1;i <= xueliang2/500;i++) cout << "█";
if(xueliang2%500 > 250) cout << "█";
else if(xueliang2%500 <= 250&& xueliang2%5!=0&& xueliang2 != 0) cout << "▌";
cout << " " << xueliang2<<" ";
S(15,0);
if(CD < 0) CD=0.0;
if(DCD < 0) DCD=0.0;
cout << "\n\nCD:";
printf("%.1lf",CD);
cout << "\n\nDCD:";
printf("%.1lf",DCD);
cout << " ";
if(u%30==0&&(x==xx||(xx-1)==x||(xx-2)==x||(xx+1)==x||(xx+2)==x||(xx+3)==x||(xx-3)==x)&&((yy==y||(yy-1)==y||(yy-2)==y||(yy+1)==y||(yy+2)==y||(yy+3)==y||(yy-3)==y))) xueliang-=15;
if(GetAsyncKeyState('A'))if(y>2)y--;
if(GetAsyncKeyState('D'))if(y<29)y++;
if(GetAsyncKeyState('W'))if(x>2)x--;
if(GetAsyncKeyState('S'))if(x<18)x++;
if(GetAsyncKeyState(VK_SPACE)&&CD==0.0){
CD=5.0;
if((x==xx||(x-1)==xx||(x-2)==xx||(x+1)==xx||(x+2)==xx)&&((y==yy||(y-1)==yy||(y-2)==yy||(y+1)==yy||(y+2)==yy))) xueliang2-=100;
}
if(GetAsyncKeyState('X')&&DCD==0.0){
DCD=15.0;
if((x==xx||(x-1)==xx||(x-2)==xx||(x+1)==xx||(x+2)==xx||(x+3)==xx||(x-3)==xx)&&((y==yy||(y-1)==yy||(y-2)==yy||(y+1)==yy||(y+2)==yy||(y+3)==yy||(y-3)==yy))) xueliang2-=1500;
}
if(xx==x&&yy==y){
system("cls");
xueliang-=5,xueliang2-=10;
}
int uuu=rand()%4+1;
if(uuu==2&&xx<18)xx++;
else if(uuu==1&&xx>2)xx--;
else if(uuu==4&&yy<29)yy++;
else if(uuu==3&&yy>2)yy--;
G(0,0);
Sleep(5);
CD -= 0.05;DCD -= 0.05;
}
system("cls");
cout << endl;
num = time(0)-u;
if(xueliang2 <= 0) cout << "恭喜你,你赢了\n\n";
else cout << "很遗憾,你输了\n\n";
cout << "总用时" << num << "秒\n\n";
cout << "等级:";
if(num <= 200&&xueliang!=0) cout << "★★★★★\n\n";
else if(num <= 300&&xueliang!=0) cout <<"★★★★☆\n\n";
else if(num <= 500&&xueliang!=0) cout <<"★★★☆☆\n\n";
else if(num <= 700&&xueliang!=0) cout << "★★☆☆☆\n\n";
else if(num <= 1000&&xueliang!=0) cout << "★☆☆☆☆\n\n";
else cout << "☆☆☆☆☆\n\n";
Sleep(5000);
}
void t2(){
system("mode con cols=70 lines=30");
system("cls");
long long u=time(0);
while(xueliang>0&&xueliang2>0){
cout << "\n";
for(int i=1;i <= 19;i++){
for(int j=1;j <= 30;j++){
if(i==1||i==19||j==1||j==30){
S(9,0);
cout << "■";
S(15,0);
}else if(i==x&&j==y){
S(11,0);
cout << "●";
S(15,0);
}else if(i==xx&&j==yy){
S(14,0);
cout << "●";
S(15,0);
}else{
cout << " ";
}
}
cout << endl;
}
cout << "\n我方血量:";
S(12,0);
for(int i=1;i <= xueliang/10;i++) cout << "█";
if(xueliang2%10 > 5) cout << "█";
if(xueliang%10 == 5 && xueliang != 0) cout << "▌";
cout << " " << xueliang<<" ";
S(15,0);
cout << "\n\n敌方血量:";
S(12,0);
for(int i=1;i <= xueliang2/500;i++) cout << "█";
if(xueliang2%500 > 250) cout << "█";
else if(xueliang2%500 <= 250&& xueliang2%5!=0&& xueliang2 != 0) cout << "▌";
cout << " " << xueliang2<<" ";
S(15,0);
if(CD < 0) CD=0.0;
if(DCD < 0) DCD=0.0;
cout << "\n\nCD:";
printf("%.1lf",CD);
cout << "\n\nDCD:";
printf("%.1lf",DCD);
if(GetAsyncKeyState('A'))if(y>2)y--;
if(GetAsyncKeyState('D'))if(y<29)y++;
if(GetAsyncKeyState('W'))if(x>2)x--;
if(GetAsyncKeyState('S'))if(x<18)x++;
if(GetAsyncKeyState(VK_SPACE)&&CD==0.0){
CD=5.0;
if((x==xx||(x-1)==xx||(x-2)==xx||(x+1)==xx||(x+2)==xx)&&((y==yy||(y-1)==yy||(y-2)==yy||(y+1)==yy||(y+2)==yy))) xueliang2-=100;
}
if(GetAsyncKeyState('X')&&DCD==0.0){
DCD=15.0;
if((x==xx||(x-1)==xx||(x-2)==xx||(x+1)==xx||(x+2)==xx||(x+3)==xx||(x-3)==xx)&&((y==yy||(y-1)==yy||(y-2)==yy||(y+1)==yy||(y+2)==yy||(y+3)==yy||(y-3)==yy))) xueliang2-=1500;
}
if(xx==x&&yy==y){
system("cls");
xueliang-=5,xueliang2-=10;
}
int uuu=rand()%4+1;
if(uuu==2&&xx<18)xx++;
else if(uuu==1&&xx>2)xx--;
else if(uuu==4&&yy<29)yy++;
else if(uuu==3&&yy>2)yy--;
G(0,0);
Sleep(5);
CD -= 0.05;DCD -= 0.05;
}
system("cls");
cout << endl;
num = time(0)-u;
if(xueliang2 <= 0) cout << "恭喜你,你赢了\n\n";
else cout << "很遗憾,你输了\n\n";
cout << "总用时" << num << "秒\n\n";
cout << "等级:";
if(num <= 200&&xueliang!=0) cout << "★★★★★\n\n";
else if(num <= 300&&xueliang!=0) cout <<"★★★★☆\n\n";
else if(num <= 500&&xueliang!=0) cout <<"★★★☆☆\n\n";
else if(num <= 700&&xueliang!=0) cout << "★★☆☆☆\n\n";
else if(num <= 1000&&xueliang!=0) cout << "★☆☆☆☆\n\n";
else cout << "☆☆☆☆☆\n\n";
Sleep(5000);
}
void t3(){
system("mode con cols=70 lines=30");
system("cls");
long long u=time(0);
while(xueliang>0&&xueliang2>0){
cout << "\n";
for(int i=1;i <= 19;i++){
for(int j=1;j <= 30;j++){
if(i==1||i==19||j==1||j==30){
S(10,0);
cout << "■";
S(15,0);
}else if(i==x&&j==y){
S(11,0);
cout << "●";
S(15,0);
}else if(i==xx&&j==yy){
S(14,0);
cout << "●";
S(15,0);
}else{
cout << " ";
}
}
cout << endl;
}
cout << "\n我方血量:";
S(12,0);
for(int i=1;i <= xueliang/10;i++) cout << "█";
if(xueliang2%10 > 5) cout << "█";
if(xueliang%10 == 5 && xueliang != 0) cout << "▌";
cout << " " << xueliang<<" ";
S(15,0);
cout << "\n\n敌方血量:";
S(12,0);
for(int i=1;i <= xueliang2/500;i++) cout << "█";
if(xueliang2%500 > 250) cout << "█";
else if(xueliang2%500 <= 250&& xueliang2%5!=0&& xueliang2 != 0) cout << "▌";
cout << " " << xueliang2<<" ";
S(15,0);
if(CD < 0) CD=0.0;
if(DCD < 0) DCD=0.0;
cout << "\n\nCD:";
printf("%.1lf",CD);
cout << "\n\nDCD:";
printf("%.1lf",DCD);
if(GetAsyncKeyState('A'))if(y>2)y--;
if(GetAsyncKeyState('D'))if(y<29)y++;
if(GetAsyncKeyState('W'))if(x>2)x--;
if(GetAsyncKeyState('S'))if(x<18)x++;
if(GetAsyncKeyState(VK_SPACE)&&CD==0.0){
CD=5.0;
if((x==xx||(x-1)==xx||(x-2)==xx||(x+1)==xx||(x+2)==xx)&&((y==yy||(y-1)==yy||(y-2)==yy||(y+1)==yy||(y+2)==yy))) xueliang2-=100;
}
if(GetAsyncKeyState('X')&&DCD==0.0){
DCD=15.0;
if((x==xx||(x-1)==xx||(x-2)==xx||(x+1)==xx||(x+2)==xx||(x+3)==xx||(x-3)==xx)&&((y==yy||(y-1)==yy||(y-2)==yy||(y+1)==yy||(y+2)==yy||(y+3)==yy||(y-3)==yy))) xueliang2-=1500;
}
if(xx==x&&yy==y){
system("cls");
xueliang-=5,xueliang2-=10;
}
int uuu=rand()%4+1;
if(uuu==2&&xx<18)xx++;
else if(uuu==1&&xx>2)xx--;
else if(uuu==4&&yy<29)yy++;
else if(uuu==3&&yy>2)yy--;
G(0,0);
Sleep(5);
CD -= 0.05;DCD -= 0.05;
}
system("cls");
cout << endl;
num = time(0)-u;
if(xueliang2 <= 0) cout << "恭喜你,你赢了\n\n";
else cout << "很遗憾,你输了\n\n";
cout << "总用时" << num << "秒\n\n";
cout << "等级:";
if(num <= 200&&xueliang!=0) cout << "★★★★★\n\n";
else if(num <= 300&&xueliang!=0) cout <<"★★★★☆\n\n";
else if(num <= 500&&xueliang!=0) cout <<"★★★☆☆\n\n";
else if(num <= 700&&xueliang!=0) cout << "★★☆☆☆\n\n";
else if(num <= 1000&&xueliang!=0) cout << "★☆☆☆☆\n\n";
else cout << "☆☆☆☆☆\n\n";
Sleep(5000);
}
void GAME(){
system("cls");
while(1){
system("mode con cols=46 lines=40");
if(c==1){
cout << "\n----------------- 请选择地图 -----------------\n\n\n";
S(10,0);
cout << " ┍1━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 高山险地 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━1┛\n";
S(15,0);
cout << " ┍2━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 冰天雪地 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━2┛\n";
cout << " ┍3━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 热带雨林 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━3┛\n";
cout << " ┍4━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 退出 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━4┛\n";
}else if(c==2){
cout << "\n----------------- 请选择地图 -----------------\n\n\n";
cout << " ┍1━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 高山险地 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━1┛\n";
S(10,0);
cout << " ┍2━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 冰天雪地 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━2┛\n";
S(15,0);
cout << " ┍3━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 热带雨林 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━3┛\n";
cout << " ┍4━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 退出 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━4┛\n";
}else if(c==3){
cout << "\n----------------- 请选择地图 -----------------\n\n\n";
cout << " ┍1━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 高山险地 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━1┛\n";
cout << " ┍2━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 冰天雪地 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━2┛\n";
S(10,0);
cout << " ┍3━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 热带雨林 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━3┛\n";
S(15,0);
cout << " ┍4━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 退出 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━4┛\n";
}else if(c==4){
cout << "\n----------------- 请选择地图 -----------------\n\n\n";
cout << " ┍1━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 高山险地 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━1┛\n";
cout << " ┍2━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 冰天雪地 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━2┛\n";
cout << " ┍3━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 热带雨林 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━3┛\n";
S(10,0);
cout << " ┍4━━━━━━━━┓\n";
cout << " ┃ ┃\n";
cout << " ┃ 退出 ┃\n";
cout << " ┃ ┃\n";
cout << " ┗━━━━━━━━4┛\n";
S(15,0);
}
d = _getch();
if(d==72){
if(c==1) c=4;
else c--;
}
if(d==80){
if(c==4) c=1;
else c++;
}
if(c==1&&d==32){
t1();
system("cls");
}else if(c==2&&d==32){
t2();
system("cls");
}else if(c==3&&d==32){
t3();
system("cls");
}else if(c==4&&d==32){
return ;
}
G(0,0);
}
}
void J(){
system("cls");
cout << "\n-----按↑↓移动\n\n";
cout << "-----一局一共有10条命,当命用完后,游戏失败\n\n";
cout << "-----当拿到击败对方国王游戏胜利\n\n";
cout << "-----技能:肘击 CD:5.0秒\n\n";
cout << "-----技能:臭气弹 CD:15.0秒\n\n";
cout << "-----200秒:5★\n\n";
cout << "-----300秒:4★\n\n";
cout << "-----500秒:3★\n\n";
cout << "-----700秒:2★\n\n";
cout << "-----1000秒:1★\n\n";
cout << "-----1000秒以上:0★\n\n\n";
cout << " 按0退出\n\n\n ";
e = _getch();
if(e==48) return ;
else J();
}
void start(){
system("mode con cols=46 lines=40");
while(true){
cout << "\n----------------- 王国之争 -------------------\n";
cout << "------------- 作者:ZZBMC无敌! ---------------\n";
cout << "------------- 洛谷手搓工坊成员 ---------------\n";
cout << "------------ 有幸请加入我们团队 --------------\n";
cout << "------- 网站名:luogu.com.cn/team/79951 -------\n\n\n";
cout << " 1.0版本:\n\n";
cout << "-----后续有什么建议可私聊我\n\n";
cout << "-----喜欢的话记得一键三连哦\n\n";
cout << "-----谢谢您的支持!!!\n\n";
cout << "-----目前只有3个地图,作者后续会更新\n\n-----";
S(5,0);
cout << "不用输入,只需按空格确认\n\n\n";
S(15,0);
if(a==1){
cout << " ┍━━━━━━━━┓\n";
cout << " ┃ ";
S(10,0);
cout << "开始游戏";
S(15,0);
cout << " ┃\n";
cout << " ┣━━━━━━━━┫\n";
cout << " ┃ ";
cout << "游戏介绍";
cout << " ┃\n";
cout << " ┣━━━━━━━━┫\n";
cout << " ┃ ";
cout << "退出游戏";
cout << " ┃\n";
cout << " ┗━━━━━━━━┛\n";
}else if(a==2){
cout << " ┍━━━━━━━━┓\n";
cout << " ┃ ";
cout << "开始游戏";
cout << " ┃\n";
cout << " ┣━━━━━━━━┫\n";
cout << " ┃ ";
S(10,0);
cout << "游戏介绍";
S(15,0);
cout << " ┃\n";
cout << " ┣━━━━━━━━┫\n";
cout << " ┃ ";
cout << "退出游戏";
cout << " ┃\n";
cout << " ┗━━━━━━━━┛\n";
}else if(a==3){
cout << " ┍━━━━━━━━┓\n";
cout << " ┃ ";
cout << "开始游戏";
cout << " ┃\n";
cout << " ┣━━━━━━━━┫\n";
cout << " ┃ ";
cout << "游戏介绍";
cout << " ┃\n";
cout << " ┣━━━━━━━━┫\n";
cout << " ┃ ";
S(10,0);
cout << "退出游戏";
S(15,0);
cout << " ┃\n";
cout << " ┗━━━━━━━━┛\n";
}else{
cout << "\n\n\n 输入有误,请重试";
Sleep(1000);
continue;
}
b = _getch();
if(b==72){
if(a==1) a=3;
else a--;
}
if(b==80){
if(a==3) a=1;
else a++;
}
if(a==1&&b==32){
c=1;
GAME();
system("cls");
}else if(a==2&&b==32){
a=1;
J();
system("cls");
}else if(a==3&&b==32){
system("cls");
S(12,0);
cout << "\n\n\n\n\n\n\n\n\n\n GAME OVER!\n\n\n\n\n\n\n\n\n\n";
return ;
}
Sleep(5);
G(0,0);
}
}
int main() {HC();srand(time(NULL));start();return 0;} //梅沙用的man憨猪
制作不易
喜欢就给个三连吧
万分感谢!!!