//永恒大陆 1.5 测试版
#include<iostream>
#include<stack>
#include<bits/stdc++.h>
#include<cmath>
#include<iomanip>
#include<windows.h>
#define AA 150
#define ll long long
#include <stdio.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<iomanip>
#include <stdio.h>
#include <iostream>
#include <cstdio>
#include <unistd.h>
#include <limits>
#include <cstdlib>
#include<bits/stdc++.h>
#include<cmath>
#include<windows.h>
using namespace std;
long long int i,j,k,z,xz,gb,dj,djc=200;
const ll tfsz=19,wpsl=6;
bool yj=0;
//GetAsyncKeyState()
inline void cd(int x) {
Sleep(x);
system("cls");
}
void de1(int x) {
int y=0;
switch (x) {
case 1:
y=15;
break;
case 2:
y=10;
break;
case 3:
y=9;
break;
case 4:
y=13;
break;
case 5:
y=14;
break;
case 6:
y=12;
break;
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),y);
}
int de2(int x) {
int y=0;
switch (x) {
case 1:
y=15;
break;
case 2:
y=10;
break;
case 3:
y=9;
break;
case 4:
y=13;
break;
case 5:
y=14;
break;
case 6:
y=12;
break;
}
return y;
}
void gs1(string x) {
int a=x.size()-1;
for(i=0; i<=a; ++i) {
Sleep(100);
cout<<x[i];
}
}
void gs2(string x,int z) {
int a=x.size()-1;
for(i=0; i<=a; ++i) {
Sleep(z);
cout<<x[i];
}
}
struct zb {
string nz;
ll pzz;
ll lx;
ll xl;
ll gj;
ll fy;
ll bj;
ll mbj;
ll sb;
ll msb;
ll pjz;
ll pjs;
ll smh;
bool sj;
};
struct wj {
string mz;
ll xl;
ll gj;
ll fy;
ll bj;
ll mbj;
ll sb;
ll msb;
ll pjz;
ll pjs;
ll smh;
double xlb;
double gjb;
double fyb;
double pjsb;
double smhb;
zb ja[5];
ll jaz[5];
};
struct sp {
ll pz;
string nz;
long long sl;
};
struct khm {
bool ma;
string mz;
void a11(int x) {
if(x==1)cout<<"新手礼包克换成功"<<endl;
Sleep(1000);
system("cls");
}
};
struct pp {
string nz;
long long int xg;
long long int sl;
long long int jg;
};
struct tf{
string mz;
double xlb;
double gjb;
double fyb;
ll bj;
ll mbj;
ll sb;
ll msb;
ll pjz;
double pjsb;
double smhb;
ll jg;
};
struct wp{
ll pz;
string mz;
ll sl;
};
wj rw;
sp ps[6]={{1,"碎片",0},{2,"碎片",0},{3,"碎片",0},{4,"碎片",0},{5,"碎片",0},{6,"碎片",0}};
wp dx[wpsl][6]={ { {1,"一阶兽肉",0},{2,"二阶兽肉",0},{3,"三阶兽肉",0},{4,"四阶兽肉",0},{5,"五阶兽肉",0},{6,"六阶兽肉",0} } , { {1,"一阶兽经",0},{2,"二阶兽经",0},{3,"三阶兽经",0},{4,"四阶兽经",0},{5,"五阶兽经",0},{6,"六阶兽经",0} } , { {1,"一阶兽骨",0},{2,"二阶兽骨",0},{3,"三阶兽骨",0},{4,"四阶兽骨",0},{5,"五阶兽骨",0},{6,"六阶兽骨",0} } , { {1,"一阶兽皮",0},{2,"二阶兽皮",0},{3,"三阶兽皮",0},{4,"四阶兽皮",0},{5,"五阶兽皮",0},{6,"六阶兽皮",0} } , { {1,"一阶内丹",0},{2,"二阶内丹",0},{3,"三阶内丹",0},{4,"四阶内丹",0},{5,"五阶内丹",0},{6,"六阶内丹",0} } , { {1,"一阶赤石",0},{2,"二阶赤石",0},{3,"三阶赤石",0},{4,"四阶赤石",0},{5,"五阶赤石",0},{6,"六阶赤石",0} }};
tf tfz[tfsz];
khm mz[10];
vector<zb> zbbb;
void csgw();
long long int g;
string pzm(int a) {
string sb;
switch(a) {
case 1:
sb="普通 ";
break;
case 2:
sb="罕见 ";
break;
case 3:
sb="稀有 ";
break;
case 4:
sb="史诗 ";
break;
case 5:
sb="传奇 ";
break;
case 6:
sb="神话 ";
break;
}
return sb;
}
void aa() {
mz[1].ma=true;
mz[2].ma=true;
mz[1].mz="s10000b";
}
void kt();
void sd();
void bg();
void sx();
void ddo();
void cw();
void gwdlw();
void pmh();
void yjt(wj x1);
void yjddo();
inline void gs(long long h, long long l, string z) {
for (long long i = 1; i <= h; i++)
cout << "\n";
for (long long i = 1; i <= l; i++)
cout << " ";
cout << z;
return;
}
struct hl {
long long h,l;
};
void de(int x) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),x);
}
bool ax(long long key) {
return (GetKeyState(key) < 0) ? (true) : (false);
}
typedef void (*hs)();
struct wdj {
int x1,x2,y1,y2;
string z;
hs h;
};
bool axj(long long key) {
return (GetKeyState(key) < 0) ? (true) : (false);
}
void srwj() {
de(15);
int saved_fd = dup(STDIN_FILENO);
if (saved_fd == -1) {
cerr << "保存 stdin 失败\n";
while(1) {}
}
if (freopen("yhdl.txt", "r", stdin) == NULL) {
close(saved_fd);
cout<<"无存档"<<endl;
exit(0);
}
int ccc;
cin.clear();
while ((ccc = getchar()) != '\n' && ccc != EOF);
if (dup2(saved_fd, STDIN_FILENO) == -1) {
cerr << "恢复 stdin 失败\n";
close(saved_fd);
while(1) {}
}
close(saved_fd);
cin.clear();
cin.sync();
cout<<"读档成功";
Sleep(1000);
system("cls");
}
void drwj() {
int saved_stdout = dup(STDOUT_FILENO);
if (saved_stdout == -1) {
perror("dup failed");
while(1) {}
}
if (freopen("yhdl.txt", "w", stdout) == NULL) {
//perror("freopen failed");
}
fflush(stdout);
if (dup2(saved_stdout, STDOUT_FILENO) == -1) {
perror("dup2 failed");
while(1) {}
}
close(saved_stdout);
}
hl wz(bool x = 1, bool n = 1) {
HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);HWND h = GetForegroundWindow();
CONSOLE_FONT_INFO consoleCurrentFont;hl hl;POINT p;if (x) {GetCursorPos(&p);ScreenToClient(h, &p);} else {GetCursorPos(&p);}if (n) {GetCurrentConsoleFont(hOutput, FALSE, &consoleCurrentFont);p.x /= consoleCurrentFont.dwFontSize.X;p.y /= consoleCurrentFont.dwFontSize.Y;}hl.h = p.y + 1;hl.l = p.x + 1;return hl;
}
void ycbj() {
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);DWORD mode;GetConsoleMode(hStdin, &mode);mode &= ~ENABLE_QUICK_EDIT_MODE;SetConsoleMode(hStdin, mode);return;
}
void ycgb() {
CONSOLE_CURSOR_INFO cursor;
cursor.bVisible = FALSE;
cursor.dwSize = sizeof(cursor);
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorInfo(handle, &cursor);
return;
}
inline void ydgb(long long h, long long l) {
COORD pos = { l - 1,h - 1 };HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hOut, pos);return;
}
string jcjp() {
if(GetAsyncKeyState('1'))return "1";if(GetAsyncKeyState('2'))return "2";if(GetAsyncKeyState('3'))return "3";if(GetAsyncKeyState('4'))return "4";if(GetAsyncKeyState('5'))return "5";if(GetAsyncKeyState('6'))return "6";if(GetAsyncKeyState('7'))return "7";if(GetAsyncKeyState('8'))return "8";if(GetAsyncKeyState('9'))return "9";if(GetAsyncKeyState('0'))return "0";if(GetAsyncKeyState(VK_BACK))return "b";if(GetAsyncKeyState(13))return "a";return "";
}
void bxwz(int size) {
CONSOLE_FONT_INFOEX cfi = { sizeof(cfi) };GetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);cfi.dwFontSize.Y = size; // 修改字体高度SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);
}
void spz(){
}
void sjt(){
cout<<"这次升级需要"<<djc<<"G"<<endl;
cout<<"1/0 是否升级"<<endl;
char ch;
int a1=1,a2=dj;
ch=getch();
if(ch=='1'){
if(gb>=djc){
cout<<"升级成功"<<endl;
cout<<"你是"<<dj+1<<"级了"<<endl;
while(a2){
a1*=2;
a2--;
}
rw.xl+=a1*10;
rw.gj+=a1*5;
dj++;
djc*=5;
}else{
cout<<"G不够"<<endl;
}
}
}
bool pdbj(int y,int x1,int x2,int ys,string zt){
hl z=wz(1,1);
bool a=0;
if(z.h==y&&z.l>=x1&&z.l<=x2){ydgb(y,x1);de(ys*16);cout<<zt;de(ys);if(axj(VK_LBUTTON)){a=1;}
}else{ydgb(y,x1);cout<<zt;}
de(15);
}
int main() {
string aaaa;
system("title 永恒大陆1.5");
cin.tie(0);
cout.tie(0);
system("mode con cols=100 lines=50");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
ycgb();
ycbj();
kt();
zb a={"11",6,4,100,100,10000};
zbbb.push_back(a);
int x1=3,y1=2;
hl z;
while(1){
z=wz(1,1);
ydgb(1,1);
cout<<"##############"<<endl;
cout<<"# #"<<endl;
cout<<"# 0#"<<endl;
cout<<"# 0#"<<endl;
cout<<"# 1 #"<<endl;
cout<<"##############"<<endl;
cout<<"上下左右键移动"<<endl;
ydgb(y1,x1);
cout<<"@";
Sleep(200);
if(GetAsyncKeyState(VK_LEFT)&&x1>2){
ydgb(y1,x1);cout<<" ";if(x1-1==5&&y1==5)sd();else if(x1-1==13&&(y1==3||y1==4))cw();else x1--;
}
if(GetAsyncKeyState(VK_RIGHT)&&x1<=12){
ydgb(y1,x1);cout<<" ";if(x1+1==5&&y1==5)sd();else if(x1+1==13&&(y1==3||y1==4))cw();else x1++;
}
if(GetAsyncKeyState(VK_UP)&&y1>2){
ydgb(y1,x1);cout<<" ";if(x1==5&&y1-1==5)sd();else if(x1==13&&(y1-1==3||y1-1==4))cw();else y1--;
}
if(GetAsyncKeyState(VK_DOWN)&&y1<=4){
ydgb(y1,x1);cout<<" ";if(x1==5&&y1+1==5)sd();else if(x1==13&&(y1+1==3||y1+1==4))cw();else y1++;
}
if(z.h==1&&z.l>=27&&z.l<=34){ydgb(1,27);de(240);cout<<"查看属性";de(15);if(axj(VK_LBUTTON)){sx();}
}else{ydgb(1,27);cout<<"查看属性";}
if(z.h==2&&z.l>=27&&z.l<=30){ydgb(2,27);de(240);cout<<"背包";de(15);if(axj(VK_LBUTTON)){bg();}
}else{ydgb(2,27);cout<<"背包";}
}
return 0;
}
void wjxsz(wj x){
ydgb(3,15);cout<<"血量:"<<x.xl<<" ";
ydgb(4,15);cout<<"攻击:"<<x.gj<<" ";
ydgb(5,15);cout<<"防御:"<<x.fy<<" ";
ydgb(6,15);cout<<"闪避:"<<x.sb<<"%"<<" ";
ydgb(7,15);cout<<"免闪避:"<<x.msb<<"%"<<" ";
ydgb(8,15);cout<<"暴击:"<<x.bj<<"%"<<" ";
ydgb(9,15);cout<<"免暴击:"<<x.mbj<<"%"<<" ";
ydgb(10,15);cout<<"破甲率:"<<x.pjz<<"%"<<" ";
ydgb(11,15);cout<<"破甲伤害:"<<x.pjs<<" ";
ydgb(12,15);cout<<"恢复血量:"<<x.smh<<" ";
}
void wjxsz1(tf x){
if(x.xlb)cout<<"+"<<x.xlb*100<<"%血量 ";
if(x.gjb)cout<<"+"<<x.gjb*100<<"%攻击 ";
if(x.fyb)cout<<"+"<<x.fyb*100<<"%防御 ";
if(x.bj)cout<<"+"<<x.bj<<"%暴击 ";
if(x.mbj)cout<<"+"<<x.mbj<<"%免暴击 ";
if(x.sb)cout<<"+"<<x.sb<<"%闪避 ";
if(x.msb)cout<<"+"<<x.msb<<"%免闪避 ";
if(x.pjz)cout<<"+"<<x.pjz<<"%破甲率 ";
if(x.pjsb)cout<<"+"<<x.pjsb*100<<"%破甲伤害 ";
if(x.smhb)cout<<"+"<<x.smhb*100<<"%恢复血量 ";
cout<<x.jg<<"点 天赋点";
}
void wjxsz2(tf &x,tf y){
x.xlb+=y.xlb;
x.gjb+=y.gjb;
x.fyb+=y.fyb;
x.bj+=y.bj;
x.mbj+=y.mbj;
x.sb+=y.sb;
x.msb+=y.msb;
x.pjsb+=y.pjsb;
x.pjz+=y.pjz;
x.smhb+=y.smhb;
}
void wjxsz3(tf &x,tf y){
x.xlb-=y.xlb;
x.gjb-=y.gjb;
x.fyb-=y.fyb;
x.bj-=y.bj;
x.mbj-=y.mbj;
x.sb-=y.sb;
x.msb-=y.msb;
x.pjsb-=y.pjsb;
x.pjz-=y.pjz;
x.smhb-=y.smhb;
}
void kt() {
gs1("欢迎来到永恒大陆1.5...测试版");
cout<<endl;
gs1("暂未搞定存档问题所以暂时无法存档");
cd(100);
gs1("输入你的名字");
cout<<endl;
cin>>rw.mz;
cd(100);
wj sz[3];
/*
string mz;
ll xlb;
ll gjb;
ll fyb;
ll bj;
ll mbj;
ll sb;
ll msb;
ll pjz;
ll pjsb;
ll smhb;
ll jg;
*/
tfz[0]={"重铁指虎",0,0.05,0,0,0,0,0,0,0.05,0,1};
tfz[1]={"王八壳",0,0,0.05,0,0,5,0,0,0,0,1};
tfz[2]={"固化术",0.05,0,0.05,0,0,0,0,0,0,0,1};
tfz[3]={"皮肤固化",0.1,0,0.05,0,0,0,0,0,0,0,2};
tfz[4]={"疾速",0,0,0,0,0,5,5,0,0,0,2};
tfz[5]={"武艺增生",0.05,0.05,0.05,5,0,0,0,0,0,0,2};
tfz[6]={"铜墙铁壁",0,0,0.15,0,0,0,0,0,0,0,2};
tfz[7]={"软骨术",0,0,0.1,0,0,5,0,0,0,0,2};
tfz[8]={"大胃王",0.05,0,0,0,0,0,0,0,0,0.05,2};
tfz[9]={"铁砂掌",0,0.1,0,5,0,0,0,0,0,0,2};
tfz[10]={"破伤风拳套",0,0.15,0,5,0,0,0,5,0.15,0,5};
tfz[11]={"不坏金身",0.15,0,0.15,0,5,0,0,0,0,0.05,5};
tfz[12]={"攻防皆备",0.15,0.15,0,0,5,0,0,5,0,0,5};
tfz[13]={"虚空步",0,0,0.05,0,0,15,15,0,0,0,5};
tfz[14]={"百艺精通",0.1,0.1,0.1,5,0,5,0,0,0,0,5};
tfz[15]={"生命法则",0.15,0,0.05,0,0,5,0,0,0,0.15,5};
tfz[16]={"防御法则",0.05,0,0.3,0,0,0,0,0,0,0.05,5};
tfz[17]={"力量法则",0,0.3,0,10,0,0,0,0,0.05,0,5};
tfz[18]={"血之法则",0.3,0,0.05,0,0,0,0,0,0,0.05,5};
sz[0]={rw.mz,20,2,4,0,0,0,0,5,5,2,1,1,1,1,1};sz[1]={rw.mz,8,5,2,20,0,10,0,15,10,1,1,1,1,1,1};sz[2]={rw.mz,12,4,2,10,5,5,5,5,5,1,1,1,1,1,1};
gs1("选择你的职业");
cout<<endl<<"肉盾"<<endl;
cout<<"刺客"<<endl;
cout<<"剑士"<<endl;
hl z;
bool az=1;
while(az){
ydgb(1,1);cout<<"选择你的职业";
z=wz(1,1);
if(z.h==2&&z.l<=4){ydgb(2,1);de(240);cout<<"肉盾";de(15);wjxsz(sz[0]);if(axj(VK_LBUTTON)){az=0;rw=sz[0];}
}else{ydgb(2,1);cout<<"肉盾";}
if(z.h==3&&z.l<=4){ydgb(3,1);de(240);cout<<"刺客";de(15);wjxsz(sz[1]);if(axj(VK_LBUTTON)){az=0;rw=sz[1];}
}else{ydgb(3,1);cout<<"刺客";}
if(z.h==4&&z.l<=4){ydgb(4,1);de(240);cout<<"剑士";de(15);wjxsz(sz[2]);if(axj(VK_LBUTTON)){az=0;rw=sz[2];}
}else{ydgb(4,1);cout<<"剑士";}
}
az=1;
cd(100);
int tfd=10;
tf xzd={"",0,0,0,0,0,0,0,0,0,0,0};
bool xs[tfsz];
fill(xs,xs+tfsz,0);
while(az){
ydgb(1,1);cout<<"选择你的天赋 10/"<<tfd<<" ";
z=wz(1,1);
for(int i=0;i<tfsz;++i){
if(z.h==i+2&&z.l<=tfz[i].mz.size()){ydgb(i+2,1);if(!xs[i])de(240);else de(15);cout<<tfz[i].mz;de(15);wjxsz1(tfz[i]);if(axj(VK_LBUTTON)){if(!xs[i]&&tfd>=tfz[i].jg){wjxsz2(xzd,tfz[i]);tfd-=tfz[i].jg;xs[i]=1;xzd.jg+=tfz[i].jg;}else if(xs[i]){wjxsz3(xzd,tfz[i]);tfd+=tfz[i].jg;xs[i]=0;xzd.jg-=tfz[i].jg;}}
}else{ydgb(i+2,1);if(xs[i])de(240);else de(15); cout<<tfz[i].mz;de(15);cout<<" ";}
}
ydgb(tfsz+2,1);cout<<"总加成:";wjxsz1(xzd);cout<<" ";
if(z.h==tfsz+3&&z.l<=4){ydgb(tfsz+3,1);de(240);cout<<"确定";de(15);if(axj(VK_LBUTTON)){az=0;}
}else{ydgb(tfsz+3,1);cout<<"确定";}
}
rw.xlb+=xzd.xlb;
rw.gjb+=xzd.gjb;
rw.fyb+=xzd.fyb;
rw.sb+=xzd.sb;
rw.msb+=xzd.msb;
rw.bj+=xzd.bj;
rw.mbj+=xzd.mbj;
rw.pjz+=xzd.pjz;
rw.pjsb+=xzd.pjsb;
rw.smhb+=xzd.smhb;
cd(1000);
}
void sd() {
cd(100);
while(1){
}
cd(100);
}
void gwdlw(string x) {
cd(1000);
}
void bg() {
cd(100);
hl z;
bool ax=1;
while(ax){
z=wz(1,1);
if(z.h==1&&z.l<=4){
ydgb(1,1);
de(240);
cout<<"装备";
de(15);
if(axj(VK_LBUTTON)){
cd(100);
while(!zbbb.empty()){
z=wz(1,1);
for(int i=0;i<zbbb.size();++i){
if(z.h==i+1&&z.l<=zbbb[i].nz.size()){
ydgb(i+1,1);
de(de2(zbbb[i].pzz)*16);
cout<<zbbb[i].nz;
de(15);
if(axj(VK_LBUTTON)){
cd(100);
de1(zbbb[i].pzz);
cout<<"名字:"<<zbbb[i].nz<<endl;
cout<<"血量:"<<zbbb[i].xl<<endl;
cout<<"攻击:"<<zbbb[i].gj<<endl;
cout<<"防御:"<<zbbb[i].fy<<endl;
cout<<"闪避:"<<zbbb[i].sb<<"%"<<endl;
cout<<"免闪避:"<<zbbb[i].msb<<"%"<<endl;
cout<<"暴击:"<<zbbb[i].bj<<"%"<<endl;
cout<<"免暴击:"<<zbbb[i].mbj<<"%"<<endl;
cout<<"破甲率:"<<zbbb[i].pjz<<"%"<<endl;
cout<<"破甲伤害:"<<zbbb[i].pjs<<endl;
cout<<"恢复血量:"<<zbbb[i].smh<<endl;
cout<<"是否穿带"<<endl;
bool c1d=0;
while(1){
z=wz(1,1);
if(z.h==13&&z.l<=2){ydgb(13,1);de(de2(zbbb[i].pzz)*16);;cout<<"是";de1(zbbb[i].pzz);if(axj(VK_LBUTTON)){c1d=1;break;}
}else{ydgb(13,1);cout<<"是";}
if(z.h==13&&z.l>=5&&z.l<=6){ydgb(13,5);de(de2(zbbb[i].pzz)*16);cout<<"否";de1(zbbb[i].pzz);if(axj(VK_LBUTTON)){break;}
}else{ydgb(13,5);cout<<"否";}
}
cd(100);
de(15);
if(c1d){
if(rw.jaz[zbbb[i].lx]==0){
rw.ja[zbbb[i].lx]=zbbb[i];
rw.jaz[zbbb[i].lx]=1;
rw.xl+=zbbb[i].xl;
rw.gj+=zbbb[i].gj;
rw.fy+=zbbb[i].fy;
rw.sb+=zbbb[i].sb;
rw.msb+=zbbb[i].msb;
rw.bj+=zbbb[i].bj;
rw.mbj+=zbbb[i].mbj;
rw.pjz+=zbbb[i].pjz;
rw.pjs+=zbbb[i].pjs;
rw.smh+=zbbb[i].smh;
zbbb.erase(zbbb.begin()+i);
sx();
}else cout<<"你已经穿过同一种装备了";
cd(1000);
}
}
}else{
ydgb(i+1,1);
de1(zbbb[i].pzz);
cout<<zbbb[i].nz;
de(15);
}
}
if(z.h==zbbb.size()+1&&z.l<=4){ydgb(zbbb.size()+1,1);de(240);cout<<"退出";de(15);if(axj(VK_LBUTTON)){cd(100);break;}
}else{ydgb(zbbb.size()+1,1);cout<<"退出";}
}
}
}else{
ydgb(1,1);
cout<<"装备";
}
if(z.h==2&&z.l<=4){
ydgb(2,1);
de(240);
cout<<"材料";
de(15);
if(axj(VK_LBUTTON)){
cd(100);
for(int i=0;i<wpsl;++i){
for(int j=0;j<6;++j){
if(dx[i][j].sl){
de1(dx[i][j].pz);cout<<dx[i][j].mz<<" "<<dx[i][j].sl<<"个"<<endl;
}
}
}
system("pause");
cd(100);
de(15);
}
}else{
ydgb(2,1);
cout<<"材料";
}
if(z.h==3&&z.l<=4){
ydgb(3,1);
de(240);
cout<<"卸装";
de(15);
int sl=0;
zb a={"a1",6,4,100,100,100};
if(axj(VK_LBUTTON)){
cd(100);
bool xxz[5]={1,1,1,1,1};
while(rw.jaz[0]||rw.jaz[1]||rw.jaz[2]||rw.jaz[3]||rw.jaz[4]){
z=wz(1,1);
for(int i=0;i<5;++i){
if(rw.jaz[i]){
if(xxz[i]){
sl++;
xxz[i]=0;
}
if(z.h==sl&&z.l<=10){ydgb(sl,1);de(de2(rw.ja[i].pzz)*16);cout<<rw.ja[i].nz;de(15);
if(axj(VK_LBUTTON)){
cd(100);
de1(rw.ja[i].pzz);
cout<<"名字:"<<rw.ja[i].nz<<endl;
cout<<"血量:"<<rw.ja[i].xl<<endl;
cout<<"攻击:"<<rw.ja[i].gj<<endl;
cout<<"防御:"<<rw.ja[i].fy<<endl;
cout<<"闪避:"<<rw.ja[i].sb<<"%"<<endl;
cout<<"免闪避:"<<rw.ja[i].msb<<"%"<<endl;
cout<<"暴击:"<<rw.ja[i].bj<<"%"<<endl;
cout<<"免暴击:"<<rw.ja[i].mbj<<"%"<<endl;
cout<<"破甲率:"<<rw.ja[i].pjz<<"%"<<endl;
cout<<"破甲伤害:"<<rw.ja[i].pjs<<endl;
cout<<"恢复血量:"<<rw.ja[i].smh<<endl;
cout<<"是否卸装";
bool c1d=0;
while(1){
z=wz(1,1);
if(z.h==13&&z.l<=2){ydgb(13,1);de(de2(rw.ja[i].pzz)*16);;cout<<"是";de1(rw.ja[i].pzz);if(axj(VK_LBUTTON)){c1d=1;break;}
}else{ydgb(13,1);cout<<"是";}
if(z.h==13&&z.l>=5&&z.l<=6){ydgb(13,5);de(de2(rw.ja[i].pzz)*16);cout<<"否";de1(rw.ja[i].pzz);if(axj(VK_LBUTTON)){break;}
}else{ydgb(13,5);cout<<"否";}
}
cd(100);
de(15);
if(c1d){
rw.jaz[i]=0;
rw.xl-=rw.ja[i].xl;
rw.gj-=rw.ja[i].gj;
rw.fy-=rw.ja[i].fy;
rw.sb-=rw.ja[i].sb;
rw.msb-=rw.ja[i].msb;
rw.bj-=rw.ja[i].bj;
rw.mbj-=rw.ja[i].mbj;
rw.pjz-=rw.ja[i].pjz;
rw.pjs-=rw.ja[i].pjs;
rw.smh-=rw.ja[i].smh;
zbbb.push_back(rw.ja[i]);
rw.ja[i]={"",0,0,0,0,0,0,0,0,0,0};
cd(1000);
}
}
}else{ydgb(sl,1);de1(rw.ja[i].pzz);cout<<rw.ja[i].nz;de(15);}
}
}
if(z.h==sl+1&&z.l<=4){ydgb(sl+1,1);de(240);cout<<"退出";de(15);if(axj(VK_LBUTTON)){cd(100);break;}
}else{ydgb(sl+1,1);cout<<"退出";}
}
cd(100);
de(15);
}
}else{
ydgb(3,1);
cout<<"卸装";
}
if(z.h==4&&z.l<=4){ydgb(4,1);de(240);cout<<"退出";de(15);if(axj(VK_LBUTTON)){cd(100);ax=0;}
}else{ydgb(4,1);cout<<"退出";}
}
}
void sx() {
cd(100);
de(15);
cout<<"名字:"<<rw.mz<<endl;
cout<<"血量:"<<rw.xl*rw.xlb<<"("<<rw.xl<<")"<<endl;
cout<<"攻击:"<<rw.gj*rw.gjb<<"("<<rw.gj<<")"<<endl;
cout<<"防御:"<<rw.fy*rw.fyb<<"("<<rw.fy<<")"<<endl;
cout<<"闪避:"<<rw.sb<<"%"<<endl;
cout<<"免闪避:"<<rw.msb<<"%"<<endl;
cout<<"暴击:"<<rw.bj<<"%"<<endl;
cout<<"免暴击:"<<rw.mbj<<"%"<<endl;
cout<<"破甲率:"<<rw.pjz<<"%"<<endl;
cout<<"破甲伤害:"<<rw.pjs*rw.pjsb<<"("<<rw.pjs<<")"<<endl;
cout<<"恢复血量:"<<rw.smh*rw.smhb<<"("<<rw.smh<<")"<<endl;
for(i=0; i<5; ++i) {
if(i==0)cout<<"头盔:";
if(i==1)cout<<"胸甲:";
if(i==2)cout<<"裤子:";
if(i==3)cout<<"鞋子:";
if(i==4)cout<<"武器:";
if(rw.jaz[i]) {
de1(rw.ja[i].pzz);
cout<<pzm(rw.ja[i].pzz)<<rw.ja[i].nz;
de(15);
} else {
cout<<"无";
}
cout<<endl;
}
system("pause");
cd(100);
}
void csgw() {
//xl gj bj bd fy mbd mbj ja
/*gw[5][1]={"",0,0,0,0,0,0,0};
gw[5][2]={"",0,0,0,0,0,0,0};
gw[5][3]={"",0,0,0,0,0,0,0};
gw[5][4]={"",0,0,0,0,0,0,0};
gw[5][5]={"",0,0,0,0,0,0,0};
gw[5][6]={"",0,0,0,0,0,0,0};
gw[6][1]={"",0,0,0,0,0,0,0};
gw[6][2]={"",0,0,0,0,0,0,0};
gw[6][3]={"",0,0,0,0,0,0,0};
gw[6][4]={"",0,0,0,0,0,0,0};
gw[6][5]={"",0,0,0,0,0,0,0};
gw[6][6]={"",0,0,0,0,0,0,0};*/
}
long long yd(bool x,int y,int z) {
if(x) {
y++;
} else {
y--;
}
if(y>z) {
y=1;
} else if(y==0) {
y=z;
}
return y;
}
long long ty(int y,int z) {
if(z>=4)y--;
else if(z>=1)y++;
return y;
}
long long dod(wj x,wj y) { //x 主角 y 被打
std::srand(static_cast<unsigned int>(std::time(0)));
int sb=x.sb-y.msb,bj=x.bj-y.mbj,pj=x.pjz,g1j=0;
g1j=x.gj;
if(rand()%100+1<=bj)g1j*=2;
g1j-=y.fy;
if(rand()%100+1<=sb)g1j=0;
if(rand()%100+1<=pj)g1j+=x.pjs;
return g1j;
}
void ddo(wj x,wj y) {
//血量 攻击 暴击 被动 防御 免被动 免暴击 价格 数量
int x1=1,y1=5,x2=15,y2=5,tyz=0,gjl=0,ggj1=0,ggj2=0,ggj3=0,ggj4=0,ggjc=6,lgj,yyl,szs=1;
int gtyz=0,xjn1=0,xjnc=50,xjn1y=0,xjn2=0,xjn2y=0;
wj yy1=y;
yy1.gj/=5;
std::srand(static_cast<unsigned long long int>(std::time(0)));
if(y.xl>=18)szs=2;
if(y.xl>=50)szs=3;
if(y.xl>=150)szs=4;
if(y.xl>=200)szs=5;
while(x.xl>0&&y.xl>0) {
for(i=1; i<=5; ++i) {
for(j=1; j<=15; ++j) {
if(x1==j&&y1==i) {
if(ggj3>0&&y1==y2&&(x2+1==x1||x2-1==x1))x.xl-=dod(y,x);
if(ggj4>0&&ggj4==x1)x.xl-=dod(yy1,x);
if(ggj2>0&&(j<=x2&&j>=yyl)&&i==5)x.xl-=dod(y,x);
cout<<"1";
} else if(x2==j&&y2==i) {
if(gjl>0&&y1==y2&&(x1+1==x2||x1-1==x2))y.xl-=dod(x,y);
if(abs(xjn2y-x2)<=5-xjn2/2&&abs(xjn2-j)+xjn2y/2<=i)y.xl-=dod(x,y)*5;
cout<<"2";
}else if(xjn1>=0&&xjn1y==j){
de1(3);cout<<"|";de1(1);
if(x2==xjn1y)y.xl-=dod(x,y);
}else if(xjn2>1&&xjn2/2<=i&&abs(xjn2y-j)<=5-xjn2/2&&abs(xjn2y-j)+xjn2/2<=i){
cout<<"|";
} else if(ggj1>=0&&lgj==j) {
de1(2);cout<<"|";de1(1);
if(x1==lgj)x.xl-=(dod(y,x)/5);
} else if(ggj2>0&&(j<=x2&&j>=yyl)&&i==5) {
cout<<"-";
if(x1==j&&y1==5)x.xl-=dod(y,x);
} else if(gjl>0&&y1==i&&(x1-1==j||x1+1==j)) {
cout<<"-";
} else if(ggj3>0&&y2==i&&(x2-1==j||x2+1==j)) {
cout<<"-";
if(ggj3>0&&y1==y2&&(x1+1==x2||x1-1==x2))x.xl-=dod(y,x);
} else if(ggj4>=0&&j==ggj4) {
cout<<"|";
if(x1==j)x.xl-=dod(y,x);
} else {
cout<<" ";
}
}
cout<<"|"<<endl;
}
for(i=1; i<=16; ++i) {
cout<<"=";
}
cout<<endl;
cout<<"A D左右"<<endl;
cout<<"W上"<<endl;
cout<<"空格攻击"<<endl;
cout<<"你:"<<x.xl<<endl;
cout<<y.mz<<":"<<y.xl<<endl;
cout<<"技能冷却:"<<xjnc<<" o释放"<<endl;
if(x1<=x2&&x2-x1>=3&&ggj2<=0)x2=yd(false,x2,15);
if(x1>x2&&x1-x2>=3&&ggj2<=0)x2=yd(true,x2,15);
if(gtyz<=0){
gtyz=rand()%5+1;
if(gtyz==3){
gtyz=6;
y2=ty(y2,gtyz);
gtyz--;
}else{
gtyz=0;
}
}else{
y2=ty(y2,gtyz);
gtyz--;
}
if(abs(x1-x2)<=2&&ggj2<=0&&x.xl>y.xl){
if(x1>x2)x2=yd(false,x2,15);
if(x1<=x2)x2=yd(true,x2,15);
}
if(ggj1<=0&&ggj2<=0&&ggj3<=0&&ggjc==1&&ggj4<=0) {
xz=rand()%szs+1;
if(xz==5) {
ggj4=15;
}
if(xz==4) {
lgj=x1;
ggj1=4;
}
if(xz==3) {
ggj2=5;
yyl=y2;
if(x2>=10)x2-=5;
if(x2<=5)x2+=5;
}
if(xz==2)ggj3=3;
} else {
ggj1--;
ggj2--;
ggj3--;
ggj4--;
ggjc--;
}
if(ggjc<=0)ggjc=6;
if(xjnc<=0)xjnc=50;
if(GetAsyncKeyState('A')||GetAsyncKeyState(VK_LEFT))x1=yd(false,x1,15);
if(GetAsyncKeyState('D')||GetAsyncKeyState(VK_RIGHT))x1=yd(true,x1,15);
if((GetAsyncKeyState('W')||GetAsyncKeyState(VK_UP))&&tyz==0) {
tyz=6;
y1=ty(y1,tyz);
tyz--;
} else if(tyz>0) {
y1=ty(y1,tyz);
tyz--;
}
if(GetAsyncKeyState(VK_SPACE)) {
gjl=2;
}
if(xjn1<=0&&xjnc<=1&&xjn2<=0){
if(GetAsyncKeyState('O')){
xz=rand()%1+2;
if(xz==1){
xjn1=6;
xjn1y=x2;
}else if(xz==2){
xjn2=10;
xjn2y=x2;
}
}
}else{
xjnc--;
xjn1--;
xjn2--;
}
gjl--;
Sleep(50);
system("cls");
cout.flush();
}
cd(500);
if(y.xl<=0) {
cout<<"你赢了"<<endl;
gwdlw(y.mz);
} else {
cout<<"你输了"<<endl;
cd(1000);
}
cd(1000);
}
bool yjddo(wj x,wj y) {
//血量 攻击 暴击 被动 防御 免被动 免暴击 价格 数量
int x1=1,y1=5,x2=15,y2=5,tyz=0,gjl=0,ggj1=0,ggj2=0,ggj3=0,ggj4=0,ggjc=6,lgj,yyl,szs=1;
int gtyz=0,xjn1=0,xjnc=50,xjn1y=0;
wj yy1=y;
yy1.gj/=5;
std::srand(static_cast<unsigned long long int>(std::time(0)));
if(y.xl>=18)szs=2;
if(y.xl>=50)szs=3;
if(y.xl>=150)szs=4;
if(y.xl>=200)szs=5;
while(x.xl>0&&y.xl>0) {
for(i=1; i<=5; ++i) {
for(j=1; j<=15; ++j) {
if(x1==j&&y1==i) {
if(ggj3>0&&y1==y2&&(x2+1==x1||x2-1==x1))x.xl-=dod(y,x);
if(ggj4>0&&ggj4==x1)x.xl-=dod(yy1,x);
if(ggj2>0&&(j<=x2&&j>=yyl)&&i==5)x.xl-=dod(y,x);
cout<<"1";
} else if(x2==j&&y2==i) {
if(gjl>0&&y1==y2&&(x1+1==x2||x1-1==x2))y.xl-=dod(x,y);
if(xjn1)
cout<<"2";
}else if(xjn1>=0&&xjn1y==j){
de1(3);cout<<"|";de1(1);
if(x2==xjn1y)y.xl-=dod(x,y);
} else if(ggj1>=0&&lgj==j) {
de1(2);cout<<"|";de1(1);
if(x1==lgj)x.xl-=(dod(y,x)/5);
} else if(ggj2>0&&(j<=x2&&j>=yyl)&&i==5) {
cout<<"-";
if(x1==j&&y1==5)x.xl-=dod(y,x);
} else if(gjl>0&&y1==i&&(x1-1==j||x1+1==j)) {
cout<<"-";
} else if(ggj3>0&&y2==i&&(x2-1==j||x2+1==j)) {
cout<<"-";
if(ggj3>0&&y1==y2&&(x1+1==x2||x1-1==x2))x.xl-=dod(y,x);
} else if(ggj4>=0&&j==ggj4) {
cout<<"|";
if(x1==j)x.xl-=dod(y,x);
} else {
cout<<" ";
}
}
cout<<"|"<<endl;
}
for(i=1; i<=16; ++i) {
cout<<"=";
}
cout<<endl;
cout<<"A D左右"<<endl;
cout<<"W上"<<endl;
cout<<"空格攻击"<<endl;
cout<<"你:"<<x.xl<<endl;
cout<<y.mz<<":"<<y.xl<<endl;
cout<<"技能冷却:"<<xjnc<<" o释放"<<endl;
if(x1<=x2&&x2-x1>=3&&ggj2<=0)x2=yd(false,x2,15);
if(x1>x2&&x1-x2>=3&&ggj2<=0)x2=yd(true,x2,15);
if(gtyz<=0){
gtyz=rand()%5+1;
if(gtyz==3){
gtyz=6;
y2=ty(y2,gtyz);
gtyz--;
}else{
gtyz=0;
}
}else{
y2=ty(y2,gtyz);
gtyz--;
}
if(abs(x1-x2)<=2&&ggj2<=0&&x.xl>y.xl){
if(x1>x2)x2=yd(false,x2,15);
if(x1<=x2)x2=yd(true,x2,15);
}
if(ggj1<=0&&ggj2<=0&&ggj3<=0&&ggjc==1&&ggj4<=0) {
xz=rand()%szs+1;
if(xz==5) {
ggj4=15;
}
if(xz==4) {
lgj=x1;
ggj1=4;
}
if(xz==3) {
ggj2=5;
yyl=y2;
if(x2>=10)x2-=5;
if(x2<=5)x2+=5;
}
if(xz==2)ggj3=3;
} else {
ggj1--;
ggj2--;
ggj3--;
ggj4--;
ggjc--;
}
if(ggjc<=0)ggjc=6;
if(xjnc<=0)xjnc=50;
if(GetAsyncKeyState('A')||GetAsyncKeyState(VK_LEFT))x1=yd(false,x1,15);
if(GetAsyncKeyState('D')||GetAsyncKeyState(VK_RIGHT))x1=yd(true,x1,15);
if((GetAsyncKeyState('W')||GetAsyncKeyState(VK_UP))&&tyz==0) {
tyz=6;
y1=ty(y1,tyz);
tyz--;
} else if(tyz>0) {
y1=ty(y1,tyz);
tyz--;
}
if(GetAsyncKeyState(VK_SPACE)) {
gjl=2;
}
if(xjn1<=0&&xjnc<=1){
if(GetAsyncKeyState('O')){
xjn1=6;
xjn1y=x2;
}
}else{
xjnc--;
xjn1--;
}
gjl--;
Sleep(50);
system("cls");
cout.flush();
}
cd(500);
if(y.xl<=0) {
cout<<"你赢了"<<endl;
return 1;
} else {
cout<<"你输了"<<endl;
return 0;
}
cd(1000);
}
void cw() {
}