⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 monstersprite.java

📁 一个RPG的JAVA游戏
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
			ldX = luX;
			ldY = (y + 30) / 16;
			rdX = ldX;
			rdY = ldY;
			isWaiting = false;
			heroX = l;
			heroY = i1;
			heroHp = i2;
			isAttach = flag;
			heroDir = l1;
			heroSprite = herosprite;
			centerDis = (tempX - x) * (tempX - x) + (tempY - y) * (tempY - y);
			heroDis = (l - x) * (l - x) + (i1 - y) * (i1 - y);
			switch (dir + 1)
			{
			default:
				break;

			case 2: // '\002'
				if (!isSmart)
				{
					if (centerDis < moveDis)
					{
						i = 0;
						if (isWalkable[ldX - 1][ldY])
						{
							x = x - 4;
							nextFrame();
						} else
						{
							dir = 3;
							setFrameSequence(right_seq);
						}
						break;
					}
					setFrameSequence(left);
					i++;
					if (i == stopTime)
					{
						tempX = x;
						tempY = y;
						chgDir();
					}
					break;
				}
				if (!collidesWith(herosprite, true))
				{
					if (isBattle)
					{
						isBattle = false;
						setFrameSequence(left_seq);
					}
					if (isStop)
					{
						setFrameSequence(left_seq);
						isStop = false;
					}
					if (isWalkable[ldX - 1][ldY])
					{
						x = x - 4;
						nextFrame();
					} else
					{
						isSmart = false;
						dir = 3;
						setFrameSequence(right_seq);
					}
					break;
				}
				isStop = true;
				if (!isBattle)
				{
					isBattle = true;
					setFrameSequence(leftb_seq);
					nextFrame();
					break;
				}
				if (j < stopTime - battleSpeed)
				{
					j++;
					isStopb = true;
					setFrameSequence(left);
					break;
				}
				if (isStopb)
				{
					isStopb = false;
					setFrameSequence(leftb_seq);
				}
				if (getFrame() == 2)
				{
					if (i2 > 0)
						i2 -= heroBd;
					j = 0;
				}
				nextFrame();
				break;

			case 4: // '\004'
				if (!isSmart)
				{
					if (centerDis < moveDis)
					{
						i = 0;
						if (isWalkable[rdX + 1][rdY])
						{
							x = x + 4;
							nextFrame();
						} else
						{
							dir = 1;
							setFrameSequence(left_seq);
						}
						break;
					}
					setFrameSequence(right);
					i++;
					if (i == stopTime)
					{
						tempX = x;
						tempY = y;
						chgDir();
					}
					break;
				}
				if (!collidesWith(herosprite, true))
				{
					if (isBattle)
					{
						isBattle = false;
						setFrameSequence(right_seq);
					}
					if (isStop)
					{
						setFrameSequence(right_seq);
						isStop = false;
					}
					if (isWalkable[rdX + 1][rdY])
					{
						x = x + 4;
						nextFrame();
					} else
					{
						isSmart = false;
						dir = 1;
						setFrameSequence(left_seq);
					}
					break;
				}
				isStop = true;
				if (!isBattle)
				{
					isBattle = true;
					setFrameSequence(rightb_seq);
					nextFrame();
					break;
				}
				if (j < stopTime - battleSpeed)
				{
					j++;
					isStopb = true;
					setFrameSequence(right);
					break;
				}
				if (isStopb)
				{
					isStopb = false;
					setFrameSequence(rightb_seq);
				}
				if (getFrame() == 2)
				{
					if (i2 > 0)
						i2 -= heroBd;
					j = 0;
				}
				nextFrame();
				break;

			case 3: // '\003'
				if (!isSmart)
				{
					if (centerDis < moveDis)
					{
						i = 0;
						if (isWalkable[ldX][ldY - 1] && isWalkable[rdX][rdY - 1])
						{
							y = y - 4;
							nextFrame();
						} else
						{
							dir = 0;
							setFrameSequence(down_seq);
						}
						break;
					}
					setFrameSequence(up);
					i++;
					if (i == stopTime)
					{
						tempX = x;
						tempY = y;
						chgDir();
					}
					break;
				}
				if (!collidesWith(herosprite, true))
				{
					if (isBattle)
					{
						isBattle = false;
						setFrameSequence(up_seq);
					}
					if (isStop)
					{
						setFrameSequence(up_seq);
						isStop = false;
					}
					if (isWalkable[ldX][ldY - 1] && isWalkable[rdX][rdY - 1])
					{
						y = y - 4;
						nextFrame();
					} else
					{
						isSmart = false;
						dir = 0;
						setFrameSequence(down_seq);
					}
					break;
				}
				isStop = true;
				if (!isBattle)
				{
					isBattle = true;
					setFrameSequence(upb_seq);
					nextFrame();
					break;
				}
				if (j < stopTime - battleSpeed)
				{
					j++;
					isStopb = true;
					setFrameSequence(up);
					break;
				}
				if (isStopb)
				{
					isStopb = false;
					setFrameSequence(upb_seq);
				}
				if (getFrame() == 2)
				{
					if (i2 > 0)
						i2 -= heroBd;
					j = 0;
				}
				nextFrame();
				break;

			case 1: // '\001'
				if (!isSmart)
				{
					if (centerDis < moveDis)
					{
						i = 0;
						if (isWalkable[ldX][ldY + 1] && isWalkable[rdX][rdY + 1])
						{
							y = y + 4;
							nextFrame();
						} else
						{
							dir = 2;
							setFrameSequence(up_seq);
						}
						break;
					}
					setFrameSequence(down);
					i++;
					if (i == stopTime)
					{
						tempX = x;
						tempY = y;
						chgDir();
					}
					break;
				}
				if (!collidesWith(herosprite, true))
				{
					if (isBattle)
					{
						isBattle = false;
						setFrameSequence(down_seq);
					}
					if (isStop)
					{
						setFrameSequence(down_seq);
						isStop = false;
					}
					if (isWalkable[ldX][ldY + 1] && isWalkable[rdX][rdY + 1])
					{
						y = y + 4;
						nextFrame();
					} else
					{
						isSmart = false;
						dir = 2;
						setFrameSequence(up_seq);
					}
					break;
				}
				isStop = true;
				if (!isBattle)
				{
					isBattle = true;
					setFrameSequence(downb_seq);
					nextFrame();
					break;
				}
				if (j < stopTime - battleSpeed)
				{
					j++;
					isStopb = true;
					setFrameSequence(down);
					break;
				}
				if (isStopb)
				{
					isStopb = false;
					setFrameSequence(downb_seq);
				}
				if (getFrame() == 2)
				{
					if (i2 > 0)
						i2 -= heroBd;
					j = 0;
				}
				nextFrame();
				break;

			case 5: // '\005'
				if (!isSmart)
				{
					if (centerDis < moveDis)
					{
						i = 0;
						if (isWalkable[ldX - 1][ldY] && isWalkable[ldX][ldY - 1] && isWalkable[rdX][rdY - 1])
						{
							x = x - 2;
							y = y - 2;
							nextFrame();
						} else
						{
							isSmart = false;
							dir = 7;
							setFrameSequence(rd_seq);
						}
						break;
					}
					setFrameSequence(lu);
					i++;
					if (i == stopTime)
					{
						tempX = x;
						tempY = y;
						chgDir();
					}
					break;
				}
				if (!collidesWith(herosprite, true))
				{
					if (isStop)
					{
						setFrameSequence(lu_seq);
						isStop = false;
					}
					if (isBattle)
					{
						isBattle = false;
						setFrameSequence(lu_seq);
					}
					if (isWalkable[ldX - 1][ldY] && isWalkable[luX][ldY - 1] && isWalkable[rdX][ruY - 1])
					{
						x = x - 2;
						y = y - 2;
						nextFrame();
					} else
					{
						isSmart = false;
						dir = 7;
						setFrameSequence(rd_seq);
					}
					break;
				}
				isStop = true;
				if (!isBattle)
				{
					isBattle = true;
					setFrameSequence(lub_seq);
					nextFrame();
					break;
				}
				if (j < stopTime - battleSpeed)
				{
					j++;
					isStopb = true;
					setFrameSequence(lu);
					break;
				}
				if (isStopb)
				{
					isStopb = false;
					setFrameSequence(lub_seq);
				}
				if (getFrame() == 2)
				{
					if (i2 > 0)
						i2 -= heroBd;
					j = 0;
				}
				nextFrame();
				break;

			case 6: // '\006'
				if (!isSmart)
				{
					if (centerDis < moveDis)
					{
						i = 0;
						if (isWalkable[ldX][ldY - 1] && isWalkable[rdX][rdY - 1] && isWalkable[rdX + 1][rdY])
						{
							x = x + 2;
							y = y - 2;
							nextFrame();
						} else
						{
							dir = 6;
							setFrameSequence(ld_seq);
						}
						break;
					}
					setFrameSequence(ru);
					i++;
					if (i == stopTime)
					{
						tempX = x;
						tempY = y;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -