📄 gamemap.java
字号:
package Snowball;
public class GameMap
{
//地图数据 格式:{x1, x2, y}
private final static int Data1_1[][] = {
{0, 176, 185}, {52, 142, 144}, {16, 56, 108}, {68, 105, 91}, {118, 176,58} ,{0, 86,29}
};//1-1
private final static int Data1_2[][] = {
{0, 176, 185}, {0, 58, 142}, {90, 168, 105}, {24, 74, 69}, {106, 143, 40}
};//1-2
private final static int Data1_3[][] = {
{0, 176, 185}, {0, 40, 146}, {93, 158, 147}, {40, 103, 109}, {107,143,80} , {49, 124,38}
}; //1-3
private final static int Data1_4[][] = {
{0, 176, 185}, {90, 168, 148}, {15, 75, 118}, {96, 160, 81}, {0,77,53} , {88,171,24}
};//1-4
private final static int Data2_1[][] = {
{0, 176, 185}, {62, 176, 157}, {0, 95, 120}, {139, 176, 120}, {57,138,84} , {0,57,48} , {129,176,46}
};//2-1
private final static int Data2_2[][] = {
{0, 176, 185}, {0, 94, 152}, {140, 176, 153}, {104, 176,115}, {0,80,81} , {135,176,79} , {0,37,44}, {72,131,43}, {157,176,43}
};//2-2
private final static int Data2_3[][] = {
{0, 176, 185}, {21, 58, 150}, {72, 176, 113}, {0, 90,75}, {0,40,42} , {106,176,41}
};//2-3
private final static int Data2_4[][] = {
{0, 176, 185}, {78, 138, 158}, {0, 56, 128}, {99, 176,119}, {0,94,82} , {157,176,62} , {0,33,44}, {82,140,44}
};//2-4
private final static int Data3_1[][] = {
{0, 176, 185}, {0, 40, 137}, {89, 150, 139}, {14, 76 ,94}, {122,176 ,95} , {83,146,54} , {4,62,39}
};//3-1
private final static int Data3_2[][] = {
{0, 176, 185}, {15, 101, 152}, {65, 150, 109}, {3, 88 ,65}, {87,173 ,26}
};//3-2
private final static int Data3_3[][] = {
{0, 176, 185}, {15, 93 , 139}, {91, 165, 98}, {10, 91 ,64}, {92,171 ,35}
};//3-3
private final static int Data3_4[][] = {
{0, 176, 185}, {102, 176 , 157}, {5, 87, 135}, {82, 165 ,89}, {0,75 ,50} , {87,173 ,29}
};//3-4
private final static int Data4_1[][] = {
{0, 176, 185}, {0, 69 , 148}, {110, 162, 148}, {0, 35 ,114}, {86 ,175 ,109} , {34 , 118 , 72} , {144, 176 ,74}, {0,75 ,33} , {99,173 ,34}
};//4-1
private final static int Data4_2[][] = {
{0, 176, 185}, {54, 87 , 156}, {125, 176, 156}, {0, 50 ,118}, {81 ,175 ,118} , {0 , 28 , 79} , {105, 166 ,80}, {22 ,110 ,44} , {143,173 ,44}
};//4-2
private final static int Data4_3[][] = {
{0, 176, 185}, {0, 88 , 149}, {88, 108, 154}, {141, 176 ,148}, {0 ,40 ,114} , {75 , 176 ,114} , {24 ,54 ,78}, {113 , 150 ,78}, {47 , 130 ,42}
};//4-3
private final static int Data4_4[][] = {
{0, 176, 185}, {80, 176 , 160}, {0, 76, 120}, {115, 174 ,120}, {17,76 ,82} , {97,176 ,84} , {0, 44 ,46}, {94 , 176 ,45}
};//4-4
//标准数据
private int Data[][] = {};
public int Debug; //调试信息
/** Creates a new instance of GameMap */
public GameMap()
{
}
public int CalcY(int x, int OffsetL, int OffsetR, int y1, int y2)
{
int Index;
int Ret = 0;
int x1, x2;
x1 = x + OffsetL;
x2 = x + OffsetR;
//检查点是否在台阶上面
for(Index = 0; Index < Data.length; Index++)
{
//判断y
if((y1 <= Data[Index][2]) && (y2 >= Data[Index][2]))
{
//判断x
if((x2 >= Data[Index][0]) && (x1 <= Data[Index][1]))
{
Ret = Data[Index][2];
break;
}
}
}
return Ret;
}
public int CalcX(int x, int OffsetL, int OffsetR)
{
int Ret = 0;
int x1, x2;
x1 = x + OffsetL;
x2 = x + OffsetR;
//检查点是否出了屏幕
if(x1 < 0)
{
Ret = 0 - OffsetL;
}
else if(x2 > 176)
{
Ret = 176 - OffsetR;
}
else
{
Ret = x;
}
return Ret;
}
//是否能跳跃
public boolean CalcJump(int x, int OffsetL, int OffsetR, int y, int JumpDistance, int WalkDir)
{
boolean Ret = false;
int x1, x2;
int Index;
x1 = x + OffsetL;
x2 = x + OffsetR;
//计算上一个台阶
for(Index = 0; Index < Data.length - 1; Index++)
{
if(Data[Index][2] == y)
{
switch(WalkDir)
{
case 0:
if(((x2 - JumpDistance) >= Data[Index + 1][0]) && (x1 - JumpDistance) <= Data[Index + 1][1])
{
Ret = true;
}
break;
case 1:
if(((x2 + JumpDistance) >= Data[Index + 1][0]) && ((x1 + JumpDistance) <= Data[Index + 1][1]))
{
Ret = true;
}
break;
}
break;
}
}
return Ret;
}
public void changeMapData(int GreatLevel , int ShareLevel){
switch(GreatLevel){
case 1://第一大关
switch(ShareLevel){
case 1: //第一小关
Data = Data1_1;
break;
case 2://第二小关
Data = Data1_2;
break;
case 3:
Data = Data1_3;
break;
case 4:
Data = Data1_4;
break;
}break;
case 2://第二大关
switch(ShareLevel){
case 1: //第一小关
Data = Data2_1;
break;
case 2://第二小关
Data = Data2_2;
break;
case 3:
Data = Data2_3;
break;
case 4:
Data = Data2_4;
break;
}break;
case 3://第三大关
switch(ShareLevel){
case 1: //第一小关
Data = Data3_1;
break;
case 2://第二小关
Data = Data3_2;
break;
case 3:
Data = Data3_3;
break;
case 4:
Data = Data3_4;
break;
}break;
case 4://第四大关
switch(ShareLevel){
case 1: //第一小关
Data = Data4_1;
break;
case 2://第二小关
Data = Data4_2;
break;
case 3:
Data = Data4_3;
break;
case 4:
Data = Data4_4;
break;
}break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -