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

📄 sjform.cs

📁 这个源码是我从别的网站下载下来的!我是初学者,希望给我一点源码下载(文件包含连连看,俄罗斯方块,当代罗宾汉,智慧珠,贪吃蛇)
💻 CS
📖 第 1 页 / 共 3 页
字号:
						}
					}					
				}			
			}
			for(i=0;i<count;i++)
			{
				Card[Min[i]].Pic.Parent = Player1;
				Card[Min[i]].Pic.Left   = (Player1.Width - Card[Min[i]].Pic.Width) - i*15 ;
				Card[Min[i]].Pic.Visible = true ;
			}
		}
		private void InitializeConf()
		{
			//初始相关参数
			DealNum		= 0 ;
			GameStatus	= 0 ;
			CurrentType	= 0 ;
			CurrentSuccess = 0 ;
			PlayerCard1.Clear() ;
			PlayerCard2.Clear() ;
			PlayerCard3.Clear() ;
			PlayerCard4.Clear() ;
			BottomCard.Clear() ;
			OutCard.Clear() ;	
			LevOwnerShow.Text = "无";
			SuccessShow.Text = "0" ;			
		}
		
		private void StatusShow()
		{
			//游戏状态显示
			CurrentLevShow.Text =  CurrentLev.ToString();
			if(CurrentLev == 11 )	{	CurrentLevShow.Text = "J" ;		}
			if(CurrentLev == 12 )	{	CurrentLevShow.Text = "Q" ;		}
			if(CurrentLev == 13 )	{	CurrentLevShow.Text = "K" ;		}
			if(CurrentLev == 1 )	{	CurrentLevShow.Text = "A" ;		}
			if(CurrentType == 0	)	{	CurrentTypeShow.Text = "无";	}
			if(CurrentType == 1	)	{	CurrentTypeShow.Text = "黑桃";	}
			if(CurrentType == 2	)	{	CurrentTypeShow.Text = "红桃";	}
			if(CurrentType == 3	)	{	CurrentTypeShow.Text = "梅花";	}
			if(CurrentType == 4	)	{	CurrentTypeShow.Text = "方片";	}
			if(Banker == 0 )		{	BankerShow.Text = "无"; }
			if(Banker == 1 )		{	BankerShow.Text = "玩家"; }
			if(Banker == 2 )		{	BankerShow.Text = "瞎打"; }
			if(Banker == 3 )		{	BankerShow.Text = "胡打"; }
			if(Banker == 4 )		{	BankerShow.Text = "乱打"; }
		}
		private void CreateCard()
		{
			//创建牌组
			int ID,i,j ;
			string imagesfile ;
			ID = 0 ;
			for(i=0;i<=13;i++)
				for(j=1;j<=4;j++)
				{	
					if((i==0)&&(j>2))	{	continue;	}
					//创建图片对象
					imagesfile			= @"images\PUKE\background.jpg";
					PictureBox MyPic	= new PictureBox() ;
					Bitmap MyImage		= new Bitmap(AppDomain.CurrentDomain.SetupInformation.ApplicationBase+imagesfile);
					MyPic.Visible		= false;
					MyPic.Parent 		= OutShow1;
					MyPic.Left			= 0 ;
					MyPic.Top 			= 0 ;
					MyPic.Name			= "Card_"+i.ToString()+"_"+j.ToString() ;
					MyPic.SizeMode		= PictureBoxSizeMode.StretchImage ;
					MyPic.ClientSize	= new Size(70,100);					
					MyPic.Image			= (Image) MyImage ;						
					MyPic.Click		   += new System.EventHandler(this.Card_Click);
					MyPic.Enabled		= false ;
					Card[ID].Num		= i ;
					Card[ID].Type		= j ;
					Card[ID].Pic		= MyPic ;
					Card[ID].Power		= 0;
					ID++;
				}
		}
		private void ShuffleCard()
		{
			//洗牌
			Squeezer TmpCard ;
			int NumTmp,i;
			Random NumRand	= new Random();
			for(i=0;i<54;i++)
			{					
				//隐藏
				Card[i].Pic.Visible		= false;				
				Card[i].Pic.Parent 		= OutShow1 ;
				Card[i].Pic.Left		= 0 ;
				Card[i].Pic.Top 		= 0 ;
				Card[i].Power	 		= Card[i].Num ;
				HideImages(Card[i].Pic);
				
				//交换
				NumTmp				= NumRand.Next(0,53) ;
				TmpCard				= Card[i] ;
				Card[i]				= Card[NumTmp] ;
				Card[NumTmp]		= TmpCard ;	
				
				//隐藏
				Card[i].Pic.Visible		= false;				
				Card[i].Pic.Parent 		= OutShow1 ;
				Card[i].Pic.Left		= 0 ;
				Card[i].Pic.Top 		= 0 ;
				Card[i].Power	 		= Card[i].Num ;
				HideImages(Card[i].Pic);
				
			}
			//初始相关参数
			InitializeConf();
			//确定庄家
		}
		private bool RuleCard()
		{
			//判断出牌规则
			return true;
		}		
		
		private void PowerValue()
		{
			//为牌组赋值
			int i;
			for(i=0;i<=53;i++)
			{
				Card[i].Power = Card[i].Num ;
				//设定A的大小
				if(Card[i].Num == 1 )	{	Card[i].Power = 14 ;	}
				//设定主花色的大小
				if(Card[i].Type == CurrentType)	{	Card[i].Power = Card[i].Power + 13 ;}
				//设定级主
				if(Card[i].Num == CurrentLev)	{	Card[i].Power = 28 ;}
				//设定主级主
				if(((Card[i].Type == CurrentType))&&(Card[i].Num == CurrentLev))	{	Card[i].Power = 29 ;}
				//设定大小王
				if(Card[i].Num == 0)	{	Card[i].Power = 29 +  Card[i].Type;}
			}
		}
		
		private void Me(Panel Player)
		{
			//游戏者控制
			int i;
			if(GameStatus == 0)
			{
				//抓牌
				if(DealNum < 48)
				{
					ShowImages(Card[DealNum].Pic,Card[DealNum].Num,Card[DealNum].Type);	
					Card[DealNum].Pic.Parent	= Player;
					if(Player.Width < 150)
					{
						Card[DealNum].Pic.Left		= 10 ;
						Card[DealNum].Pic.Top		= Player.Controls.Count * 15;
					}
					else
					{
						Card[DealNum].Pic.Left		= (Player.Width - Card[DealNum].Pic.Width) - Player.Controls.Count*15 ;
						Card[DealNum].Pic.Top		= 20;
					}
					PlayerCard1.Add(DealNum);
					//SortType(ref PlayerCard1);					
					SortPower(ref PlayerCard1);
					Card[DealNum].Pic.Visible	= true ;
					DealNum++;
				}
				else
				{
					if(CurrentType == 0)
					{
						//没有人叫主
						GameTime.Stop();
						MessageBox.Show("无人叫主,重新发牌!");
						System.EventArgs e = new System.EventArgs();
						ButBegin_Click(ButBegin,e);
						GameTime.Start();
					}
					else
					{	
						GameTime.Stop();						
						if(Banker == 1)
						{
							//将底牌分给庄家				
							for(i=0;i<6;i++)
							{
								ShowImages(Card[DealNum].Pic,Card[DealNum].Num,Card[DealNum].Type);	
								Card[DealNum].Pic.Parent	= Player;
								if(Player.Width < 150)
								{
									Card[DealNum].Pic.Left		= 10 ;
									Card[DealNum].Pic.Top		= Player.Controls.Count * 15;
								}
								else
								{
									Card[DealNum].Pic.Left		= (Player.Width - Card[DealNum].Pic.Width) - Player.Controls.Count*15 ;
									Card[DealNum].Pic.Top		= 20;
								}					
								PlayerCard1.Add(DealNum);													
								Card[DealNum].Pic.Visible	= true ;
								DealNum++;							
							}							
							//扣底
							DealNum--;
							SortPower(ref PlayerCard1);
							ButOut.Visible = true ;
							ButOut.Text = "扣  牌";
							GameStatus = 1 ;							
						}						
					}
				}				
			}
			else
			{
				//出牌
				GameTime.Stop();
				ButOut.Visible = true ;							
			}

		}
		private void Robot(Panel Player)
		{
			//机器人程序
			if(GameStatus == 0)
			{
				//抓牌
				 RobotGraspCard(Player);				
			}
			if(GameStatus == 1)
			{
				//出牌
				RobotOutCard(Player);
			}
		}
		private void RobotGraspCard(Panel Player)
		{
			//电脑抓牌
			int i,j,num1,type1,num2,type2,typecount;
			ArrayList PlayerCard = new ArrayList();
			if(Player.Name == "Player2")	{	PlayerCard = PlayerCard2;	}
			if(Player.Name == "Player3")	{	PlayerCard = PlayerCard3;	}
			if(Player.Name == "Player4")	{	PlayerCard = PlayerCard4;	}
			if(DealNum < 48)
			{
				Card[DealNum].Pic.Parent	= Player;
				if(Player.Width < 150)
				{
					Card[DealNum].Pic.Left		= 10 ;
					Card[DealNum].Pic.Top		= Player.Controls.Count * 15;
				}
				else
				{
					Card[DealNum].Pic.Left		= (Player.Width - Card[DealNum].Pic.Width) - Player.Controls.Count*15 ;
					Card[DealNum].Pic.Top		= 0;
				}					
				Card[DealNum].Pic.Visible	= true ;
				//if(Player.Name == "Player2")	{	PlayerCard2.Add(DealNum);	}
				//if(Player.Name == "Player3")	{	PlayerCard3.Add(DealNum);	}
				//if(Player.Name == "Player4")	{	PlayerCard4.Add(DealNum);	}
				PlayerCard.Add(DealNum);
				DealNum++;
				//检测是否叫主
				if(CurrentType == 0)
				{
					for(i=0;i<PlayerCard.Count;i++)
					{
						num1  = Card[(int)PlayerCard[i]].Num ;
						type1 = Card[(int)PlayerCard[i]].Type;
						if(num1 == 1) { num1 = 14 ; }							
						typecount = 0;
						if(num1 == CurrentLev)
						{
							//检测同花色数量
							for(j=0;j<PlayerCard.Count;j++)
							{
								num2  = Card[(int)PlayerCard[j]].Num ;
								type2 = Card[(int)PlayerCard[j]].Type;
								if(num2 == 1) { num2 = 14 ; }
								if((num2 == 0)||(type2== type1)||(num2 == num1))
								{
									typecount++;
								}
							}
						}
						if(typecount >= 4)
						{
							if(Banker == 0)
							{	 
								if(Player.Name == "Player2")	{	Banker = 2 ;	}
								if(Player.Name == "Player3")	{	Banker = 3 ;	}
								if(Player.Name == "Player4")	{	Banker = 4 ;	}
							}
							if(Player.Name == "Player2")	{	LevOwnerShow.Text = "瞎打";	}
							if(Player.Name == "Player3")	{	LevOwnerShow.Text = "胡打";	}
							if(Player.Name == "Player4")	{	LevOwnerShow.Text = "乱打";	}								
							CurrentType = type1 ;
							PowerValue();
							StatusShow();
							break;
						}
					}		
				}								
			}
			else
			{
				if(CurrentType == 0)
				{
					//没有人叫主
					GameTime.Stop();
					MessageBox.Show("无人叫主,重新发牌!");
					System.EventArgs e = new System.EventArgs();
					ButBegin_Click(ButBegin,e);
					GameTime.Start();
				}
				else
				{	
					if(Banker == int.Parse(Player.Name.Substring(6,1)))
					{
						//将底牌分给庄家
						for(i=0;i<6;i++)
						{
							Card[DealNum].Pic.Parent	= Player;
							if(Player.Width < 150)
							{
								Card[DealNum].Pic.Left		= 10 ;
								Card[DealNum].Pic.Top		= Player.Controls.Count * 15;
							}
							else
							{
								Card[DealNum].Pic.Left		= (Player.Width - Card[DealNum].Pic.Width) - Player.Controls.Count*15 ;
								Card[DealNum].Pic.Top		= 0;
							}					
							Card[DealNum].Pic.Visible	= true ;
							//if(Player.Name == "Player2")	{	PlayerCard2.Add(DealNum);	}
							//if(Player.Name == "Player3")	{	PlayerCard3.Add(DealNum);	}
							//if(Player.Name == "Player4")	{	PlayerCard4.Add(DealNum);	}
							PlayerCard.Add(DealNum);
							DealNum++;							
						}
						//扣底
						DealNum--;
						//if(Player.Name == "Player2")	{	SelectBottom(ref PlayerCard2);	}
						//if(Player.Name == "Player3")	{	SelectBottom(ref PlayerCard3);	}
						//if(Player.Name == "Player4")	{	SelectBottom(ref PlayerCard4);	}
						SelectBottom(ref PlayerCard);
						ButOut.Text = "出  牌";
					}						
				}
			}
		}

		private void RobotOutCard(Panel Player)
		{
			//电脑出牌
			ArrayList PlayerCard = new ArrayList();
			if(Player.Name == "Player2")	{	PlayerCard = PlayerCard2;	}
			if(Player.Name == "Player3")	{	PlayerCard = PlayerCard3;	}
			if(Player.Name == "Player4")	{	PlayerCard = PlayerCard4;	}
		}
		private void Judge()
		{
			//判断本轮出牌大小
		}
		private void Winner()
		{
			//判断胜负
			switch (Banker)
			{
				case 1:
				case 3:					
					if(CurrentSuccess >= 40)
					{	
						//蠃了
						if(CurrentSuccess >= 80)	{	BLev = BLev + 1 ;	}
						Banker++;
					}
					else
					{
						//输了
						if(CurrentSuccess == 0 )	
						{	ALev = ALev + 2 ;	}
						else
						{	ALev++ ;	}
						Banker = Banker + 2 ;
						if(Banker > 4 )	{	Banker = Banker - 4 ;	}
					}
					CurrentLev = ALev ;
					break;
				case 2:
				case 4:
					if(CurrentSuccess >= 40)
					{	
						//蠃了
						if(CurrentSuccess >= 80)	{	ALev = ALev + 1 ;	}
						Banker++;
					}
					else
					{
						//输了
						if(CurrentSuccess == 0 )	
						{	BLev = BLev + 2 ;	}
						else
						{	BLev++ ;	}
						Banker = Banker + 2 ;
						if(Banker > 4 )	{	Banker = Banker - 4 ;	}
					}
					CurrentLev = BLev ;
					break;
			}
			if(CurrentLev == 14)	{	CurrentLev = 1 ;	}
		}
		
	}
}

⌨️ 快捷键说明

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