洛谷转载。。。感谢原作者(3)
2025-03-05 22:04:40
发布于:广东
有亿点小多啊!让我康康。
}
}
else if(cft21 == '2')
{
SetPos(10, 13);
cout << "需要 金矿石x1";
SetPos(10, 15);
cout << "1 确认";
SetPos(10, 17);
cout << "2 离开";
char cft212 = input('1', '2');
if(cft212 == '1')
{
if(block_num(block[7]) < 1) return;
block_delete(block[7]);
item_pick(item[8]);
xp += 3;
}
else
{
return;
}
}
else if(cft21 == '3')
{
SetPos(10, 13);
cout << "需要 钻石矿石x1";
SetPos(10, 15);
cout << "1 确认";
SetPos(10, 17);
cout << "2 离开";
char cft213 = input('1', '2');
if(cft213 == '1')
{
if(block_num(block[9]) < 1) return;
block_delete(block[9]);
item_pick(item[11]);
xp += 3;
}
else
{
return;
}
}
else if(cft21 == '4')
{
SetPos(10, 13);
cout << "需要 下界合金碎片x4 金锭x4";
SetPos(10, 15);
cout << "1 确认";
SetPos(10, 17);
cout << "2 离开";
char cft211 = input('1', '2');
if(cft211 == '1')
{
if(item_num(item[14]) < 4) return;
if(item_num(item[8]) < 4) return;
item_delete(item[14]);
item_delete(item[14]);
item_delete(item[14]);
item_delete(item[14]);
item_delete(item[8]);
item_delete(item[8]);
item_delete(item[8]);
item_delete(item[8]);
item_pick(item[15]);
xp += 3;
}
else
{
return;
}
}
else if(cft21 == '5')
{
return;
}
}
else if(cft2 == '2')
{
SetPos(10, 1);
cout << "合成 - 熔炼类 - 远古残骸熔炼";
SetPos(10, 3);
cout << "1 下界合金碎片";
SetPos(10, 5);
cout << "2 离开";
char cft22 = input('1', '2');
if(cft22 == '1')
{
SetPos(10, 7);
cout << "需要 远古残骸x1";
SetPos(10, 9);
cout << "1 确认";
SetPos(10, 11);
cout << "2 离开";
char cft221 = input('1', '2');
if(cft221 == '1')
{
if(block_num(block[16]) < 1) return;
block_delete(block[16]);
item_pick(item[14]);
xp += 3;
}
}
}
}
else if(cft0 == '3')
{
SetPos(10, 1);
cout << "合成 - 盔甲类";
SetPos(10, 3);
cout << "1 木盔甲";
SetPos(10, 5);
cout << "2 石盔甲";
SetPos(10, 7);
cout << "3 铁盔甲";
SetPos(10, 9);
cout << "4 钻石盔甲";
SetPos(10, 11);
cout << "5 下界合金盔甲";
SetPos(10, 13);
cout << "6 离开";
SetPos(10, 15);
Color(2), cout << "Tips:盔甲制造后立即替换当前盔甲!!", Color(0);
char cft3 = input('1', '6');
if(cft3 == '1')
{
SetPos(10, 17);
cout << "需要 木头x4";
SetPos(10, 19);
cout << "1 确认";
SetPos(10, 21);
cout << "2 离开";
char cft31 = input('1', '2');
if(cft31 == '1')
{
if(block_num(block[4]) < 4) return;
block_delete(block[4]);
block_delete(block[4]);
block_delete(block[4]);
block_delete(block[4]);
armor_pick(armor[1]);
xp += 3;
}
}
else if(cft3 == '2')
{
SetPos(10, 17);
cout << "需要 石头x6";
SetPos(10, 19);
cout << "1 确认";
SetPos(10, 21);
cout << "2 离开";
char cft32 = input('1', '2');
if(cft32 == '1')
{
if(block_num(block[1]) < 6) return;
block_delete(block[1]);
block_delete(block[1]);
block_delete(block[1]);
block_delete(block[1]);
block_delete(block[1]);
block_delete(block[1]);
armor_pick(armor[2]);
xp += 3;
}
}
else if(cft3 == '3')
{
SetPos(10, 17);
cout << "需要 铁锭x3";
SetPos(10, 19);
cout << "1 确认";
SetPos(10, 21);
cout << "2 离开";
char cft33 = input('1', '2');
if(cft33 == '1')
{
if(item_num(item[5]) < 3) return;
item_delete(item[5]);
item_delete(item[5]);
item_delete(item[5]);
armor_pick(armor[3]);
xp += 3;
}
}
else if(cft3 == '4')
{
SetPos(10, 17);
cout << "需要 钻石x12";
SetPos(10, 19);
cout << "1 确认";
SetPos(10, 21);
cout << "2 离开";
char cft34 = input('1', '2');
if(cft34 == '1')
{
if(item_num(item[11]) < 12) return;
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
armor_pick(armor[4]);
xp += 3;
}
}
else if(cft3 == '5')
{
SetPos(10, 17);
cout << "需要 钻石x12 下界合金块x1";
SetPos(10, 19);
cout << "1 确认";
SetPos(10, 21);
cout << "2 离开";
char cft35 = input('1', '2');
if(cft35 == '1')
{
if(item_num(item[11]) < 12) return;
if(block_num(block[17]) < 1) return;
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
item_delete(item[11]);
block_delete(block[17]);
armor_pick(armor[5]);
xp += 3;
}
}
else if(cft3 == '6')
{
return;
}
}
else if(cft0 == '4')
{
SetPos(10, 1);
cout << "合成 - 杂项";
int page = 1, pagemax = 1;
while(1)
{
system("cls");
SetPos(10, 1);
cout << "合成 - 杂项";
SetPos(10, 3);
cout << "A 上一页 D 下一页 E 离开";
SetPos(10, 5);
cout << page << '/' << pagemax << "页";
if(page == 1)
{
SetPos(10, 7);
cout << "1 桶";
SetPos(10, 9);
cout << "2 药水量子";
SetPos(10, 11);
cout << "3 强化量子";
SetPos(10, 13);
cout << "4 海洋创造锤";
}
char cft4 = input();
if(cft4 == 'a' && page != 1) page--;
else if(cft4 == 'd' && page != pagemax) page++;
else if(cft4 == 'e')
{
return;
}
else if(cft4 >= '1' && cft4 <= '5')
{
char choose;
if(page == 1)
{
switch(cft4)
{
case '1':
SetPos(10, 15);
cout << "需要 铁锭x3";
SetPos(10, 17);
cout << "1 确认";
SetPos(10, 19);
cout << "2 离开";
choose = input('1', '2');
if(choose == '1')
{
if(item_num(item[5]) < 3) return;
item_delete(item[5]);
item_delete(item[5]);
item_delete(item[5]);
item_pick(item[18]);
xp += 3;
}
break;
case '2':
SetPos(10, 15);
cout << "需要 下界合金锭x1";
SetPos(10, 17);
cout << "1 确认";
SetPos(10, 19);
cout << "2 离开";
choose = input('1', '2');
if(choose == '1')
{
if(item_num(item[15]) < 1) return;
item_delete(item[15]);
item_pick(item[21]);
xp += 3;
}
break;
case '3':
SetPos(10, 15);
cout << "需要 海洋之星x1 药水量子x1";
SetPos(10, 17);
cout << "1 确认";
SetPos(10, 19);
cout << "2 离开";
choose = input('1', '2');
if(choose == '1')
{
if(item_num(item[21]) < 1) return;
if(block_num(block[20]) < 1) return;
item_delete(item[21]);
block_delete(block[20]);
item_pick(item[22]);
xp += 3;
}
break;
case '4':
SetPos(10, 15);
cout << "需要 海洋之星x1";
SetPos(10, 17);
cout << "1 确认";
SetPos(10, 19);
cout << "2 离开";
choose = input('1', '2');
if(choose == '1')
{
if(block_num(block[20]) < 1) return;
block_delete(block[20]);
item_pick(item[26]);
xp += 3;
}
default:
break;
}
}
}
}
}
else if(cft0 == '5')
{
return;
}
}
void sea_crafting()
{
SetPos(10, 1);
cout << "海洋合成";
SetPos(10, 3);
cout << "1 强化型药水";
SetPos(10, 5);
cout << "2 离开";
char sft0 = input('1', '2');
system("cls");
if(sft0 == '1')
{
SetPos(10, 1);
cout << "海洋合成 - 强化型药水";
SetPos(10, 3);
cout << "1 强化急迫药水";
SetPos(10, 5);
cout << "2 强化中毒药水";
SetPos(10, 7);
cout << "3 离开";
char sft1 = input('1', '3');
if(sft1 == '1')
{
SetPos(10, 9);
cout << "需要 岩浆桶x1 强化量子x1";
SetPos(10, 11);
cout << "1 确认";
SetPos(10, 13);
cout << "2 离开";
char sft11 = input('1', '2');
if(sft11 == '1')
{
if(item_num(item[20]) < 1) return;
if(item_num(item[22]) < 1) return;
item_delete(item[20]);
item_delete(item[22]);
buff_give(buff[2], 4, 1200);
xp += 3;
}
}
else if(sft1 == '2')
{
SetPos(10, 9);
cout << "需要 岩浆桶x1 强化量子x1";
SetPos(10, 11);
cout << "1 确认";
SetPos(10, 13);
cout << "2 离开";
char sft12 = input('1', '2');
if(sft12 == '1')
{
if(item_num(item[20]) < 1) return;
if(item_num(item[22]) < 1) return;
item_delete(item[20]);
item_delete(item[22]);
buff_give(buff[4], 4, 1200);
xp += 3;
}
}
}
}
void bomb(int x, int y, int lvl)
{
for(int i = x - lvl * 5;i <= x + lvl * 5;i++)
{
for(int j = y - lvl * 5;j <= y + lvl * 5;j++)
{
if(sqrt(abs(i - x) * abs(i - x) + abs(j - y) * abs(j - y)) <= lvl * 2)
{
block_copy(i, j, 19);
}
}
}
if(sqrt(abs(playerx - x) * abs(playerx - x) + abs(playery - y) * abs(playery - y)) <= lvl * 2)
{
attack(lvl * 4, "玩家被炸成了灰烬");
}
}
void other()
{
while(1)
{
SetPos(0, 0);
cout << "属性";
SetPos(0, 2);
cout << "Z键开启合成界面";
if(now >= 5 && wpl[now - 5].id == 26)
{
Color(3), cout << " 手持海洋创造锤 可进入专项合成区";
Color(0);
}
SetPos(0, 4);
cout << "药水效果:";
if(xgnum < 5)
{
for(int i = 0;i < xgnum;i++)
{
SetPos(0, 6 + 4 * i);
cout << xgl[i].name << "[" << xgl[i].level << "级]";
SetPos(0, 7 + 4 * i);
cout << xgl[i].time / 600 << ":" << xgl[i].time % 600 / 10;
SetPos(0, 8 + 4 * i);
cout << buff_str[xgl[i].id];
}
}
else if(xgnum < 12)
{
for(int i = 0;i < xgnum;i++)
{
SetPos(0, 6 + 2 * i);
cout << xgl[i].name << "[" << xgl[i].level << "级]";
}
}
else
{
for(int i = 0;i < 12;i++)
{
SetPos(0, 6 + 2 * i);
cout << xgl[i].name << "[" << xgl[i].level << "级]";
}
}
SetPos(40, 4);
cout << "基本属性:";
SetPos(40, 6);
cout << "生命值:" << health;
SetPos(40, 8);
cout << "生命值上限:" << max_health + get_buff_level(buff[1]) * 4 << endl;
SetPos(40, 10);
cout << "挖掘速度:";
if(now <= 4) cout << "0";
else cout << (10 + wpl[now - 5].speed) * (1 + get_buff_level(buff[2]) * 0.25) * (sqrt(level * 2.5 + 1) * 0.2) << "每短刻";
SetPos(40, 13);
cout << "等级:" << level;
SetPos(60, 13);
cout << "经验:" << xp << "/" << 100 + (level + 1) * 10;
int xp_of_level = 100 + (level + 1) * 10;
int xp_ge = xp * 30 / xp_of_level;
for(int i = 0;i < min(xp_ge, 30);i++) SetPos(40 + i, 15), Color(2), cout << "█";
for(int i = xp_ge;i < 30;i++) SetPos(40 + 1, 15), Color(0), cout << "█";
SetPos(40, 14);
cout << "X键返回主页面";
if(_kbhit())
{
char x = _getch();
if(x == 'z')
{
system("cls");
if(now >= 5 && wpl[now - 5].id == 26) sea_crafting();
else crafting();
system("cls");
}
else if(x == 'x')
{
system("cls");
return;
}
}
}
}
void minecraft()
{
int jianweitishi = 20, wajuetishi = 0;
system("cls");
while(1)
{
Sleep(100);
//时刻流逝
short_tick++;
if(short_tick == 10)
{
short_tick = 0;
tick++;
tick_attack = false;
int zhongdulevel = get_buff_level(buff[4]);
if(zhongdulevel > 0) attack(zhongdulevel, "玩家中毒而死");
}
if(jianweitishi) jianweitishi--;
if(wajuetishi) wajuetishi--;
//处理药水效果
buff_merge();
buff_live();
//处理生命溢出
if(health >= max_health + get_buff_level(buff[1]) * 4)
{
health = max_health + get_buff_level(buff[1]) * 4;
}
//处理等级提升
int i = 0;
while(xp >= 100 + (level + 1) * 10)
{
i++;
xp -= 100 + (level + 1) * 10;
level++;
if(level % 2 == 0) max_health++; //每两级加一滴血
}
SetPos(0, 0);
cout << "世界与我 Craft And My";
SetPos(0, 1);
if(get_buff_level(buff[4])) Color(5);
else Color(2);
double the_mx = max_health + get_buff_level(buff[1]) * 4; //生命上限
int h = health;
int heart = h / the_mx * 10;
for(int i = 0;i < heart;i++) cout << "◆"; //生命值
int y = h / (the_mx / 10);
for(int z = heart;z < 10;z++) cout << "◇";
cout << ' ' << fixed << setprecision(1) << health << " ";
Color(0);
SetPos(0, 2);
Color(3);
for(int i = 2;i <= oxygen;i += 2) cout << "●"; //氧气值
int u = oxygen / 2;
for(int v = u + 1;v <= 10;v++) cout << "○";
cout << ' ' << fixed << setprecision(1) << oxygen << " ";
Color(0);
SetPos(0, 3);
for(int i = 2;i <= kjl.defease;i += 2) cout << "▼"; //盔甲
SetPos(69, 2); //输出玩家坐标
cout << "X:" << playerx;
SetPos(69, 4);
cout << "Y:" << playery;
for(int i = 0;i < 5;i++) //打印物品栏 方块栏
{
SetPos(69, 6 + i * 2);
if(now == i) Color(5);
else if(wajuetishi) Color(2);
cout << i << " ";
Color(0);
if(fknum[i] > 0)
{
Color(fkl[i].color);
cout << fkl[i].txt << " " << fkl[i].name;
Color(0);
cout << " " << fknum[i] << "x ";
}
else
{
cout << " ";
}
SetPos(69, 6 + (i + 5) * 2);
if(now == i + 5) Color(5);
else if(wajuetishi) Color(1);
cout << i + 5 << " ";
Color(0);
if(wpnum[i] > 0)
{
if(wpl[i].rare == 0) Color(0);
else if(wpl[i].rare == 1) Color(1);
else if(wpl[i].rare == 2) Color(3);
else if(wpl[i].rare == 3) Color(4);
else Color(-1);
if(wpl[i].rare == 4)
{
string s = wpl[i].name;
for(int i = 0;i < s.size();i++)
{
Color(-1), cout << s[i];
}
}
else cout << wpl[i].name;
if(wpl[i].rare == 4) Color(2);
cout << " " << wpnum[i] << "x ";
Color(0);
}
else
{
cout << " ";
}
}
SetPos(69, 26);
cout << "盔甲:" << kjl.name;
SetPos(0, 24);
cout << " ";
SetPos(0, 25);
cout << " ";
SetPos(0, 26);
cout << "E键开启属性界面";
SetPos(0, 27);
cout << "S键保存当前存档";
if(gamemode == 0 || gamemode == 2)
{
SetPos(0, 28);
cout << "Q键摧毁手持物品";
}
else
{
SetPos(0, 28);
cout << "Q键选择手持物品";
}
SetPos(0, 5);
//输出地图
int j = 4;
for(int i = playery + 13;i >= playery - 3;i--)
{
j++;
SetPos(0, j);
for(int j = playerx - 12;j <= playerx + 12;j++)
{
if(i == playery && j == playerx)
{
cout << "[]";
continue;
}
//进入游戏后一秒键位提示
if(jianweitishi)
{
if(world[j][i].fluid)
{
if(j == playerx && i == playery + 1)
{
Color(5), cout << "W^";
Color(0);
continue;
}
else if(j == playerx - 1 && i == playery)
{
Color(5), cout << "A<";
Color(0);
continue;
}
else if(j == playerx + 1 && i == playery)
{
Color(5), cout << "D>";
Color(0);
continue;
}
}
else
{
if(j == playerx && i == playery + 1)
{
Color(2), cout << "I^";
Color(0);
continue;
}
else if(j == playerx && i == playery - 1)
{
Color(2), cout << "Kv";
Color(0);
continue;
}
else if(j == playerx - 1 && i == playery)
{
Color(2), cout << "J<";
Color(0);
continue;
}
else if(j == playerx + 1 && i == playery)
{
Color(2), cout << "L>";
Color(0);
continue;
}
}
}
Color(world[j][i].color), cout << world[j][i].txt;
Color(0);
}
}
//流体下降
for(int i = playery + 12;i >= playery - 3;i--)
{
for(int j = playerx - 12;j <= playerx + 12;j++)
{
if(world[j][i].fluid && world[j][i - 1].id == 19)
{
block_copy(j, i - 1, world[j][i].id);
}
}
}
//生命恢复
if(short_tick == 9 && tick % 2 == 0 && health < the_mx && !tick_attack)
{
health++;
if(health > the_mx) health = the_mx;
}
//重力下落
if(zhuiluo < 4 && (tick * 10 + short_tick) % 3 == 0)
{
if(world[playerx][playery - 1].fluid)
{
playery--;
zhuiluo++;
}
else //落地
{
if(zhuiluo > 9) attack((zhuiluo - 9), "玩家摔死了");//摔落伤害
zhuiluo = 0;
}
}
//快速下落
else if(zhuiluo >= 4 && zhuiluo < 8 && short_tick % 2 == 0)
{
if(world[playerx][playery - 1].fluid)
{
playery--;
zhuiluo++;
}
else //落地
{
if(zhuiluo > 9) attack((zhuiluo - 9), "玩家摔死了"); //摔落伤害
zhuiluo = 0;
}
}
//危险下落
else if(zhuiluo >= 8 && short_tick % 3 <= 1)
{
if(world[playerx][playery - 1].fluid)
{
playery--;
zhuiluo++;
}
else //落地
{
if(zhuiluo > 9) attack(sqrt(zhuiluo - 9), "玩家摔死了"); //摔落伤害
zhuiluo = 0;
}
}
//岩浆
if(world[playerx][playery].id == 13 && short_tick % 2 == 1)
{
attack(2, "玩家在熔岩里游泳");
}
//地幔
if(world[playerx][playery].id == 18)
{
attack(5, "玩家在地幔里游泳");
}
//死水
if(world[playerx][playery].id == 35)
{
attack(5, "玩家在死水中化为飞灰");
}
//氧气值下降
if(short_tick == 0)
{
if(world[playerx][playery].fluid && !(world[playerx][playery].name == "空气"))
{
oxygen--;
if(oxygen < 0)
{
//氧气耗尽
oxygen = 0;
attack(1, "玩家窒息而死");
}
}
else if(oxygen < 20)
{
oxygen++; //若玩家不在流体中则恢复氧气
}
}
if(energy > 0) //跳跃
{
if(world[playerx][playery + 1].fluid)
{
playery++;
energy -= 500;
}
else energy = 0;
if(energy < 0) energy = 0;
}
char x;
if(_kbhit()) //按键点击
{
x = _getch();
if(x == 'a')
{
if(world[playerx - 1][playery].fluid)
{
playerx--;
}
wjjd = 0;
}
else if(x == 'd')
{
if(world[playerx + 1][playery].fluid)
{
playerx++;
}
wjjd = 0;
}
else if(x == 'w')
{
energy += 1000;
wjjd = 0;
}
else if(x >= '0' && x <= '9')
{
now = x - '0';
wjjd = 0;
}
else if(x == 'i') //挖掘上方方块/放置方块在上方
{
//桶的收集判定
if(now >= 5 && wpl[now - 5].id == 18)
{
if(world[playerx][playery + 1].id == 12)
{
item_delete(item[18]);
item_pick(item[19]);
block_copy(playerx, playery + 1, 19);
}
else if(world[playerx][playery + 1].id == 13)
{
item_delete(item[18]);
item_pick(item[20]);
block_copy(playerx, playery + 1, 19);
}
else if(world[playerx][playery + 1].id == 35)
{
item_delete(item[18]);
item_pick(item[29]);
block_copy(playerx, playery + 1, 19);
}
}
//宝藏探测器判定
if(now >= 5 && wpl[now - 5].id == 28)
{
int mindis = 100000000, mx, my;
for(int x = 101;x <= 2300;x++)
{
for(int y = 1; y <= 1100;y++)
{
if(world[x][y].id == 28)
{
if(mindis > abs(x - playerx) + abs(y - playery)) mx = x, my = y;
mindis = min(mindis, abs(x - playerx) + abs(y - playery));
}
}
}
if(mindis != 100000000)
{
playerx = mx;
playery = my;
}
}
//TNT判定
if(world[playerx][playery + 1].id == 29)
{
block_copy(playerx, playery + 1, 30);
Sleep(1000);
block_copy(playerx, playery + 1, 31);
Sleep(1000);
block_copy(playerx, playery + 1, 32);
Sleep(1000);
bomb(playerx, playery + 1, 4);
}
//其它判定
if(world[playerx][playery + 1].fluid && now <= 4)
{
wajuetishi = 20;
if(fknum[now] > 0 && fkl[now].id != 0)
{
block_copy(playerx, playery + 1, fkl[now].id);
block_delete(fkl[now]);
}
}
else if(!world[playerx][playery + 1].fluid && now >= 5)
{
wajuetishi = 20;
if(gamemode == 1)
{
block_copy(playerx, playery + 1, 19);
continue;
}
wjjd += (10 + wpl[now - 5].speed) * (1 + get_buff_level(buff[2]) * 0.25) * (sqrt(level * 2.5 + 1) * 0.2);
if(wjjd >= world[playerx][playery + 1].hard)
{
wjjd = 0;
if(max(0, wpl[now - 5].level) >= world[playerx][playery + 1].level)
{
block_pick(world[playerx][playery + 1]);
}
block_copy(playerx, playery + 1, 19);
xp++;
}
else
{
SetPos(0, 24);
cout << "正在挖掘: " << world[playerx][playery + 1].name;
SetPos(0, 25);
cout << "进度: ";
cout << 1.0 * wjjd / world[playerx][playery + 1].hard * 100;
cout << "%";
}
}
}
else if(x == 'k')
{
//桶的收集判定
if(now >= 5 && wpl[now - 5].id == 18)
{
if(world[playerx][playery - 1].id == 12)
{
item_delete(item[18]);
item_pick(item[19]);
block_copy(playerx, playery - 1, 19);
}
else if(world[playerx][playery - 1].id == 13)
{
item_delete(item[18]);
item_pick(item[20]);
block_copy(playerx, playery - 1, 19);
}
else if(world[playerx][playery - 1].id == 35)
{
item_delete(item[18]);
item_pick(item[29]);
block_copy(playerx, playery - 1, 19);
}
}
//宝藏探测器判定
if(now >= 5 && wpl[now - 5].id == 28)
{
int mindis = 100000000, mx, my;
for(int x = 101;x <= 2300;x++)
{
for(int y = 1; y <= 1100;y++)
{
if(world[x][y].id == 28)
{
if(mindis > abs(x - playerx) + abs(y - playery)) mx = x, my = y;
mindis = min(mindis, abs(x - playerx) + abs(y - playery));
}
}
}
if(mindis != 100000000)
{
playerx = mx;
playery = my;
}
}
//TNT判定
if(world[playerx][playery - 1].id == 29)
{
block_copy(playerx, playery - 1, 30);
Sleep(1000);
block_copy(playerx, playery - 1, 31);
Sleep(1000);
block_copy(playerx, playery - 1, 32);
Sleep(1000);
bomb(playerx, playery - 1, 4);
}
//其它判定
if(world[playerx][playery - 1].fluid && now <= 4)
{
wajuetishi = 20;
if(fknum[now] > 0 && fkl[now].id != 0)
{
block_copy(playerx, playery - 1, fkl[now].id);
block_delete(fkl[now]);
}
}
else if(!world[playerx][playery - 1].fluid && now >= 5)
{
wajuetishi = 20;
if(gamemode == 1)
{
block_copy(playerx, playery - 1, 19);
continue;
}
wjjd += (10 + wpl[now - 5].speed) * (1 + get_buff_level(buff[2]) * 0.25) * (sqrt(level * 2.5 + 1) * 0.2);
if(wjjd >= world[playerx][playery - 1].hard)
{
wjjd = 0;
if(max(0, wpl[now - 5].level) >= world[playerx][playery - 1].level)
{
block_pick(world[playerx][playery - 1]);
}
block_copy(playerx, playery - 1, 19);
xp++;
}
else
{
SetPos(0, 24);
cout << "正在挖掘: " << world[playerx][playery - 1].name;
SetPos(0, 25);
cout << "进度: ";
cout << 1.0 * wjjd / world[playerx][playery - 1].hard * 100;
cout << "%";
}
}
}
else if(x == 'j')
{
//桶的收集判定
if(now >= 5 && wpl[now - 5].id == 18)
{
if(world[playerx - 1][playery].id == 12)
{
item_delete(item[18]);
item_pick(item[19]);
block_copy(playerx - 1, playery, 19);
}
else if(world[playerx - 1][playery].id == 13)
{
item_delete(item[18]);
item_pick(item[20]);
block_copy(playerx - 1, playery, 19);
}
else if(world[playerx - 1][playery].id == 35)
{
item_delete(item[18]);
item_pick(item[29]);
block_copy(playerx - 1, playery, 19);
}
}
//宝藏探测器判定
if(now >= 5 && wpl[now - 5].id == 28)
{
int mindis = 100000000, mx, my;
for(int x = 101;x <= 2300;x++)
{
for(int y = 1; y <= 1100;y++)
{
if(world[x][y].id == 28)
{
if(mindis > abs(x - playerx) + abs(y - playery)) mx = x, my = y;
mindis = min(mindis, abs(x - playerx) + abs(y - playery));
}
}
}
if(mindis != 100000000)
{
playerx = mx;
playery = my;
}
}
//TNT判定
if(world[playerx - 1][playery].id == 29)
{
block_copy(playerx - 1, playery, 30);
Sleep(1000);
block_copy(playerx - 1, playery, 31);
Sleep(1000);
block_copy(playerx - 1, playery, 32);
Sleep(1000);
bomb(playerx - 1, playery, 4);
}
//其它判定
if(world[playerx - 1][playery].fluid && now <= 4)
{
wajuetishi = 20;
if(fknum[now] > 0 && fkl[now].id != 0)
{
block_copy(playerx - 1, playery, fkl[now].id);
block_delete(fkl[now]);
}
}
else if(!world[playerx - 1][playery].fluid && now >= 5)
{
wajuetishi = 20;
if(gamemode == 1)
{
block_copy(playerx - 1, playery, 19);
continue;
}
wjjd += (10 + wpl[now - 5].speed) * (1 + get_buff_level(buff[2]) * 0.25) * (sqrt(level * 2.5 + 1) * 0.2);
if(wjjd >= world[playerx - 1][playery].hard)
{
wjjd = 0;
if(max(0, wpl[now - 5].level) >= world[playerx - 1][playery].level)
{
block_pick(world[playerx - 1][playery]);
}
block_copy(playerx - 1, playery, 19);
xp++;
}
else
{
SetPos(0, 24);
cout << "正在挖掘: " << world[playerx - 1][playery].name;
SetPos(0, 25);
cout << "进度: ";
cout << 1.0 * wjjd / world[playerx - 1][playery].hard * 100;
cout << "%";
}
}
}
else if(x == 'l')
{
//桶的收集判定
if(now >= 5 && wpl[now - 5].id == 18)
{
if(world[playerx + 1][playery].id == 12)
{
item_delete(item[18]);
item_pick(item[19]);
block_copy(playerx + 1, playery, 19);
}
else if(world[playerx + 1][playery].id == 13)
{
item_delete(item[18]);
item_pick(item[20]);
block_copy(playerx + 1, playery, 19);
}
else if(world[playerx - 1][playery].id == 35)
{
item_delete(item[18]);
item_pick(item[29]);
block_copy(playerx - 1, playery, 19);
}
}
//宝藏探测器判定
if(now >= 5 && wpl[now - 5].id == 28)
{
int mindis = 100000000, mx, my;
for(int x = 101;x <= 2300;x++)
{
for(int y = 1; y <= 1100;y++)
{
if(world[x][y].id == 28)
{
if(mindis > abs(x - playerx) + abs(y - playery)) mx = x, my = y;
mindis = min(mindis, abs(x - playerx) + abs(y - playery));
}
}
}
if(mindis != 100000000)
{
playerx = mx;
playery = my;
}
}
//TNT判定
if(world[playerx + 1][playery].id == 29)
{
block_copy(playerx + 1, playery, 30);
Sleep(1000);
block_copy(playerx + 1, playery, 31);
Sleep(1000);
block_copy(playerx + 1, playery, 32);
Sleep(1000);
bomb(playerx + 1, playery, 4);
}
//其它判定
if(world[playerx + 1][playery].fluid && now <= 4)
{
wajuetishi = 20;
if(fknum[now] > 0 && fkl[now].id != 0)
{
block_copy(playerx + 1, playery, fkl[now].id);
block_delete(fkl[now]);
}
}
else if(!world[playerx + 1][playery].fluid && now >= 5)
{
wajuetishi = 20;
if(gamemode == 1)
{
block_copy(playerx + 1, playery, 19);
continue;
}
wjjd += (10 + wpl[now - 5].speed) * (1 + get_buff_level(buff[2]) * 0.25) * (sqrt(level * 2.5 + 1) * 0.2);
if(wjjd >= world[playerx + 1][playery].hard)
{
wjjd = 0;
if(max(0, wpl[now - 5].level) >= world[playerx + 1][playery].level)
{
block_pick(world[playerx + 1][playery]);
}
block_copy(playerx + 1, playery, 19);
xp++;
}
else
{
SetPos(0, 24);
cout << "正在挖掘: " << world[playerx + 1][playery].name;
SetPos(0, 25);
cout << "进度: ";
cout << 1.0 * wjjd / world[playerx + 1][playery].hard * 100;
cout << "%";
}
}
}
else if(x == 'e')
{
system("cls");
other();
system("cls");
}
else if(x == 's')
{
print_data();
}
else if(x == 'q')
{
if(gamemode == 1) item_choose(); //创造物品选择器
else if(now >= 4) wpnum[now - 5]--;
}
else if(x == 'z')
{
jianweitishi += 20;
}
else if(x == '/')
{
//命令
SetPos(0, 30);
cout << "/";
SetPos(0, 31);
cout << "输入命令";
SetPos(0, 33);
cout << "请勿随意换行 否则后果自负";
SetPos(1, 30);
string main_com;
cin >> main_com; //关键字
if(main_com == "gamemode")
{
int mode;
cin >> mode;
if(mode < 0 || mode > 2)
{
SetPos(0, 32);
cout << "错误:游戏模式错误";
}
else
{
gamemode = mode;
SetPos(0, 32);
cout << "游戏模式已更新:";
if(gamemode == 0) cout << "生存模式";
else if(gamemode == 1) cout << "创造模式";
else if(gamemode == 2) cout << "极限模式";
}
}
else if(main_com == "give")
{
这里空空如也
有帮助,赞一个