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

📄 checkclass.cs

📁 gamecode 很不错的小游戏源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
					{
						MainEntry.theForm.Map[i,j].imageIndex = MainEntry.theForm.RecoverMapInfo[i,j].imageIndex;
						MainEntry.theForm.Map[i,j].fileIndex = 0;
					}*/
					/*if(MainEntry.theForm.RecoverMapInfo[i,j].imageIndex != 5)
					{
						MainEntry.theForm.Map[i,j].imageIndex = MainEntry.theForm.RecoverMapInfo[i,j].imageIndex;
						MainEntry.theForm.Map[i,j].fileIndex = 0;
					}*/
				}
			}
			for(int i = 0;i < 64;i++)
			{
				for(int j = 0;j < 48;j++)
				{
					if(MainEntry.theForm.Map[i,j].fileIndex == 0)
					{
						int ii = i;
						int jj = j;
						int k = 0;
						int t = 0;
						bool canBuild = false;
						if(MainEntry.theForm.Map[i,j].imageIndex >= 22 && MainEntry.theForm.Map[i,j].imageIndex <= 30)
						{
							canBuild = CheckClass.CheckForDrawing(ref ii,ref jj,MainEntry.theForm.Map[i,j].imageIndex,ref k,ref t);
						}
						if(canBuild)
						{
							if(MainEntry.theForm.Map[i,j].imageIndex == 30)
							{
								//this.g.DrawImage(this.imageListSmall.Images[10],ii * 32 + scrollOffset.Width,jj * 32 + scrollOffset.Height);
								if(MainEntry.theForm.Map[ii,jj].fileIndex == 0
									&& (MainEntry.theForm.Map[ii,jj].imageIndex == 20
									|| MainEntry.theForm.Map[ii,jj].imageIndex == 21))
								{
									MainEntry.theForm.RecoverMapInfo[ii,jj].fileIndex = 0;
									MainEntry.theForm.RecoverMapInfo[ii,jj].imageIndex = MainEntry.theForm.Map[ii,jj].imageIndex;
								}
								MainEntry.theForm.Map[ii,jj].imageIndex = 10;
								MainEntry.theForm.Map[ii,jj].fileIndex = 0;
							}
							else
							{
								for(int xx = 0;xx < 3;xx++)
								{
									for(int yy = 0;yy < 3;yy++)
									{
										if(MainEntry.theForm.Map[ii + xx,jj + yy].fileIndex == 0
											&& (MainEntry.theForm.Map[ii + xx,jj + yy].imageIndex == 20
											|| MainEntry.theForm.Map[ii + xx,jj + yy].imageIndex == 21))
										{
											MainEntry.theForm.RecoverMapInfo[ii + xx,jj + yy].fileIndex = 0;
											MainEntry.theForm.RecoverMapInfo[ii + xx,jj + yy].imageIndex = MainEntry.theForm.Map[ii + xx,jj + yy].imageIndex;
										}
										MainEntry.theForm.Map[ii + xx,jj + yy].imageIndex = FormMain.TakeUP;
										MainEntry.theForm.Map[ii + xx,jj + yy].fileIndex = 0;
									}
								}
								//this.g.DrawImage(this.imageListBig.Images[DragSource.thisControl.ImageIndex - 21],ii * 32 + scrollOffset.Width,jj * 32 + scrollOffset.Height);
								MainEntry.theForm.Map[ii,jj].imageIndex = MainEntry.theForm.Map[i,j].imageIndex - 21;
								MainEntry.theForm.Map[ii,jj].fileIndex = 1;
								if(MainEntry.theForm.Map[i,j].imageIndex != 22
									&& MainEntry.theForm.Map[i,j].imageIndex != 23)
								{
									MainEntry.theForm.Map[k,t].imageIndex = FormMain.ShowNumber;
									MainEntry.theForm.Map[k,t].fileIndex = 0;
								}
							}
							/*else
							{
								for???(int xx = 0;xx < 3;xx++)
								{
									for(int yy = 0;yy < 3;yy++)
									{
										MainEntry.theForm.Map[ii + xx,jj + yy].imageIndex = FormMain.TakeUP;
										MainEntry.theForm.Map[ii + xx,jj + yy].fileIndex = 0;
									}
								}
								//this.g.DrawImage(this.imageListBig.Images[DragSource.thisControl.ImageIndex - 21],ii * 32 + scrollOffset.Width,jj * 32 + scrollOffset.Height);
								MainEntry.theForm.Map[ii,jj].imageIndex = MainEntry.theForm.Map[i,j].imageIndex - 21;
								MainEntry.theForm.Map[ii,jj].fileIndex = 1;
								//MainEntry.theForm.Map[k,t].imageIndex = FormMain.ShowNumber;
								//MainEntry.theForm.Map[k,t].fileIndex = 0;
							}*/
						}
					}
					else if(MainEntry.theForm.Map[i,j].fileIndex == 1)
					{
						for(int xx = 0;xx < 3;xx++)
						{
							for(int yy = 0;yy < 3;yy++)
							{
								if(xx == 0 && yy == 0)
								{
									continue;
								}
								if(MainEntry.theForm.Map[i + xx,j + yy].fileIndex == 0
									&& MainEntry.theForm.Map[i + xx,j + yy].imageIndex == FormMain.ShowNumber)
								{
									continue;
								}
								MainEntry.theForm.Map[i + xx,j + yy].fileIndex = 0;
								MainEntry.theForm.Map[i + xx,j + yy].imageIndex = FormMain.TakeUP;
							}
						}
					}
				}
			}
		}

		/// <summary>
		/// 清除原来的地图信息(有建筑的)
		/// </summary>
		/// <param name="i">坐标i</param>
		/// <param name="j">坐标j</param>
		/// <param name="index">图片的ID</param>
		/// <returns>清除成功返回true,否则返回false</returns>
		public static bool CheckBeforeDawing(ref int i,ref int j,int index)
		{
			if(index == 30)
			{
				//左
				if(i - 1 >= 0)
				{	
					if(MainEntry.theForm.Map[i - 1,j].imageIndex == 10
						&& MainEntry.theForm.Map[i - 1,j].fileIndex == 0)
					{
						i = i - 1;
						return true;
					}
				}
				//右
				if(i + 1 <= 63)
				{	
					if(MainEntry.theForm.Map[i + 1,j].imageIndex == 10
						&& MainEntry.theForm.Map[i + 1,j].fileIndex == 0)
					{
						i = i + 1;
						return true;
					}
				}
				//上
				if(j - 1 >= 0)
				{				
					if(MainEntry.theForm.Map[i,j - 1].imageIndex == 10
						&& MainEntry.theForm.Map[i,j - 1].fileIndex == 0)
					{
						j = j - 1;
						return true;
					}
				}
				//下
				if(j + 1 <= 47)
				{				
					if(MainEntry.theForm.Map[i,j + 1].imageIndex == 10
						&& MainEntry.theForm.Map[i,j + 1].fileIndex == 0)
					{
						j = j + 1;
						return true;
					}
				}
				return false;
			}
			//左
			if(i - 3 >= 0 && j - 1 >= 0 && j + 1 <= 47)
			{
				if(MainEntry.theForm.Map[i - 3,j - 1].imageIndex == index - 21)
				{
					i = i - 3;
					j = j - 1;
					return true;
				}
			}
			//右
			if(i + 3 <= 63 && j - 1 >= 0 && j + 1 <= 47)
			{		
				if(MainEntry.theForm.Map[i + 1,j - 1].imageIndex == index - 21)
				{
					i = i + 1;
					j = j - 1;
					return true;
				}
			}
			//上
			if(i - 1 >= 0 && i + 1 <= 63 && j - 3 >= 0)
			{		
				if(MainEntry.theForm.Map[i - 1,j - 3].imageIndex == index - 21)
				{
					i = i - 1;
					j = j - 3;
					return true;
				}
			}
			//下
			if(i - 1 >= 0 && i + 1 <= 63 && j + 3 <= 47)
			{		
				if(MainEntry.theForm.Map[i - 1,j + 1].imageIndex == index - 21)
				{
					i = i - 1;
					j = j + 1;
					return true;
				}
			}
			return false;
		}

		/// <summary>
		/// 在绘图之前检查是否可以灰图
		/// </summary>
		/// <param name="i">该点坐标i</param>
		/// <param name="j">该点坐标j</param>
		/// <returns>可以返回true,否则返回false</returns>
		public static bool CanBeDrawing(int i,int j)
		{
			if(MainEntry.theForm.Map[i,j].imageIndex == FormMain.TakeUP
				|| MainEntry.theForm.Map[i,j].imageIndex == FormMain.ShowNumber)
			{
				return false;
			}
			if(MainEntry.theForm.Map[i,j].fileIndex == 1)
			{
				if(MainEntry.theForm.Map[i,j].imageIndex <= 8)
				{
					return false;
				}
			}
			if(CheckClass.CheckIfHasPlayer(i,j))
			{
				return false;
			}
			//}
			return true;
		}
		//
		/// <summary>
		/// 检查是否可以拖动(只有代表道路和环境的图片才能拖动)
		/// </summary>
		/// <returns></returns>
		public static bool CanBeDraging()
		{
			if(DragSource.thisControl.FileIndex == 0)
			{
				if((DragSource.thisControl.ImageIndex >=0 && DragSource.thisControl.ImageIndex <= 9)
					|| (DragSource.thisControl.ImageIndex >=18 && DragSource.thisControl.ImageIndex <= 21)
					|| (DragSource.thisControl.ImageIndex >= 36 && DragSource.thisControl.ImageIndex <= 47))
				{
					return true;
				}
			}
			return false;
		}

		/// <summary>
		/// 检查该点是否有玩家存在
		/// </summary>
		/// <param name="i">该点坐标i</param>
		/// <param name="j">该点坐标j</param>
		/// <returns>是则返回true,否则返回false</returns>
		public static bool CheckIfHasPlayer(int i,int j)
		{
			for(int t = 0;t < 4;t++)
			{
				if(MainEntry.theForm.PlayerState[t].x == i
					&& MainEntry.theForm.PlayerState[t].y == j)
				{
					return true;
				}
			}
			return false;
		}

		/// <summary>
		/// 为恢复地图做准备
		/// </summary>
		public static void SelectInfoIntoRecoverMapInfoFirst()
		{
			for(int i = 0;i < 64;i++)
			{
				for(int j = 0;j < 48;j++)
				{
					if(MainEntry.theForm.Map[i,j].fileIndex == 1)
					{
						for(int ii = 0;ii < 3;ii++)
						{
							for(int jj = 0;jj < 3;jj++)
							{
								MainEntry.theForm.RecoverMapInfo[i + ii,j + jj].fileIndex = 0;
								MainEntry.theForm.RecoverMapInfo[i + ii,j + jj].imageIndex = MainEntry.theForm.Map[i + ii,j + jj].imageIndex;
							}
						}
					}
				}
			}
		}
	}
}

⌨️ 快捷键说明

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