我的世界是一款十分热门的开放像素游戏,玩家想要通关游戏,就需要去末地击败末影龙,而末地需要通过要塞才能进入。寻找要塞十分令玩家头疼,在寻找要塞的途中需要消耗大量的末影之眼,有些玩家没有太多的资源,打龙便变得十分困难。但是恭喜你找到了这篇文章!下面的程序将会帮助你找到要塞!仅需消耗2颗珍珠!
#include<bits/stdc++.h>
using namespace std;
int main()
{
float Ax,Ay,Bx,By,a,b;
cout<<"第一颗珍珠的起始位置(x,z):";
cin>>Ax>>Ay;
cout<<"珍珠的飞行角度:";
cin>>a;
float radians=a*M_PI/180.0;
Bx=Ax-17.5*sin(radians+M_PI/2);
By=Ay-17.5*cos(radians+M_PI/2);
cout<<"请tp到"<<Bx<<" "<<By<<endl;
cout<<"珍珠的飞行角度:";
cin>>b;
cout<<"请tp到"<<Ax-(1000.0/(a>b?a-b:b-a))*sin(radians+M_PI/(180.0/a))<<" "<<Ay-(1000.0/(a>b?a-b:b-a))*cos(radians+M_PI/(180.0/a));
return 0;
}
这段代码是一个用于计算珍珠飞行位置的程序。下面是它的主要功能和步骤:
-
输入:
- 用户输入珍珠的初始位置
(Ax, Ay)
。 - 用户输入珍珠的飞行角度
a
。
- 用户输入珍珠的初始位置
-
计算第一个目标位置:
- 将角度
a
转换为弧度radians
。 - 计算珍珠在飞行角度的垂直方向上的偏移量
(Bx, By)
,公式使用了sin
和cos
函数,其中M_PI/2
用于计算垂直方向的偏移量。 - 输出计算得到的目标位置
(Bx, By)
。
- 将角度
-
计算第二个目标位置:
- 用户输入第二个飞行角度
b
。 - 根据两个角度
a
和b
的差值,计算一个位置偏移量。具体公式是1000.0/(a>b?a-b:b-a)
用于确定距离,sin
和cos
用于计算位置偏移。 - 计算并输出第二个目标位置。
- 用户输入第二个飞行角度
注意:
- 代码中的
M_PI
是cmath
库中的常量,用于表示圆周率π。 - 使用
a > b ? a - b : b - a
计算角度差的绝对值。 - 使用
M_PI/(180.0/a)
计算角度转换成弧度的比例。
在我的世界中,坐标和面朝角度可通F3查看,具体方法可查看下面的视频:
效果: