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

📄 canvaslord.java

📁 用J2ME开发手机网络游戏——斗地主,调试环境:Win XP;J2ME
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
						if(n0>=n1)
						{
							return;
						}
					}
					else if(type0==11)
					{
						if(card0.num!=card1.num)
						{
							return;
						}
						int n0=card0.is4and2();
						int n1=card1.is4and2();
						if(n0>=n1)
						{
							return;
						}
					}
				}//end of type0==type1
				else
				{
					if(type0==1)
					{
						return;
					}
					else if(type0==2)
					{
						if(type1!=1)
						{
							return;
						}
					}
					else
					{
						if(type1!=1&&type1!=2)
						{
							return;
						}
					}
				}//end of else (type0!=type1)
			}
			else if(rightType==1)
			{
				Card card1=new Card();
				card1.setCards(sendpai11, sendnum11);
				if(card1.getCardType()==0)
				{
					return;
				}
			}
			
			//////////////////////////////////////////////////////////////////
			//从pai中去除打出的牌
			sendnum1=0;
			for(int i=0;i<cardNum;i++)
			{//
				if(state[i]==1)
				{
					for(int j=0;j<num;j++)
					{
						if(pai[j]==leftpai[i])
						{
							System.out.println("打出的牌"+pai[j]);///////
							sendpai1[sendnum1]=pai[j];
							sendnum1++;
							pai[j]=0;//
							cnt++;
						}
					}
				}
			}
			/*for(int i=0;i<sendnum1;i++)
			{
				for(int j=0;j<num;j++)
				{
					if(pai[j]==sendpai1[i])
						pai[j]=0;
				}
			}*/
			int p=0;
			for(int i=0;i<num;i++)
			{
				if(pai[i]!=0)
				{
					leftpai[p]=pai[i];
					p++;
				}
				state[i]=0;
			}
			cardNum=p;
			//以下将所打出的牌发给服务器
			String tmp="";
			for(int i=0;i<sendnum1;i++)
			{
				tmp=tmp+String.valueOf(sendpai1[i])+"#";
			}
			String data="SENDCARDS#"+pos+String.valueOf(sendnum1)+"#"+tmp;
			cwr.send(data);
			//
			right=false;
			rightId=2;
			rightType=1;
			if(arrowPos>cardNum-1)
				arrowPos=cardNum-1;
			if(cardNum==0) 
			{
				isOver=true;
				isWin=true;
				data="NOLEFT#"+pos;
				cwr.send(data);
				return;
			}
		}
    }
	public void drawCall()
	{
		g.setColor(bgcolor[0],bgcolor[1],bgcolor[2]);//////
		g.fillRect(getWidth()/2-5-wcall-10-wcall, height-18-cardh-5-16-hcall, 4*wcall+30,hcall);
		g.setColor(255,255,255);//suibiannongde
		g.drawRect(getWidth()/2-5-wcall-10-wcall, height-18-cardh-5-16-hcall, wcall,hcall);
		g.drawRect(getWidth()/2-5-wcall, height-18-cardh-5-16-hcall,wcall,hcall);
		g.drawRect(getWidth()/2+5, height-18-cardh-5-16-hcall,wcall,hcall);
		g.drawRect(getWidth()/2+5+wcall+10, height-18-cardh-5-16-hcall,wcall,hcall);
		
		g.drawImage(piccall, getWidth()/2-5-wcall-10-wcall+selected*(10+wcall),height-18-cardh-5-16-hcall,Graphics.LEFT|Graphics.TOP);
		//以上是画选中图片
		
		g.drawString("一倍", getWidth()/2-5-wcall-10-wcall/2,height-18-cardh-5-16-1,Graphics.BOTTOM|Graphics.HCENTER);
		g.drawString("二倍", getWidth()/2-5-wcall/2,height-18-cardh-5-16-1,Graphics.BOTTOM|Graphics.HCENTER);
		g.drawString("三倍", getWidth()/2+5+wcall/2,height-18-cardh-5-16-1,Graphics.BOTTOM|Graphics.HCENTER);
		g.drawString("不叫", getWidth()/2+5+wcall+10+wcall/2,height-18-cardh-5-16-1,Graphics.BOTTOM|Graphics.HCENTER);
	}
	public void drawReady()
	{
		g.setColor(123, 23, 56);//suibiannongde
		if(cwr.readyState[0]==1)
			g.drawString("已准备", 28+1,dup+13+28+2+10,Graphics.LEFT|Graphics.TOP);
		if(cwr.readyState[1]==1)
			g.drawString("已准备", 0,height,Graphics.LEFT|Graphics.BOTTOM);
		if(cwr.readyState[2]==1)
			g.drawString("已准备", width-1,dup+13+28+2+45+2,Graphics.RIGHT|Graphics.TOP);
		
	}
	public void drawPai3()
	{//置顶的三张牌
		int ww=25,hh=34;
		g.setColor(255, 255, 255);
		g.fillRoundRect(width/2-ww/2, dup, ww, hh,6,6);
		g.fillRoundRect(width/2-ww/2-ww-2, dup, ww, hh,6,6);
		g.fillRoundRect(width/2-ww/2+ww+2, dup, ww, hh,6,6);
		g.setColor(0, 0, 0);
		g.drawRoundRect(width/2-ww/2, dup, ww, hh,6,6);
		g.drawRoundRect(width/2-ww/2-ww-2, dup, ww, hh,6,6);
		g.drawRoundRect(width/2-ww/2+ww+2, dup, ww, hh,6,6);
		for(int i=0;i<3;i++)
		{
			if(pai3[i]==53)
			{
				g.drawImage(picq, width/2-ww/2-ww+i*(ww+2), dup, Graphics.LEFT|Graphics.TOP);
				g.drawImage(picqueenh, width/2-ww/2-ww+i*(ww+2)+14, dup+8, Graphics.HCENTER|Graphics.TOP);
			}
			else if(pai3[i]==54)
			{
				g.drawImage(pick, width/2-ww/2-ww+i*(ww+2), dup, Graphics.LEFT|Graphics.TOP);
				g.drawImage(pickingh, width/2-ww/2-ww+i*(ww+2)+14, dup+8, Graphics.HCENTER|Graphics.TOP);
			}
			else
			{
				g.setColor(0, 0, 0);
				g.drawString(int2String(pai3[i]), width/2-ww/2-ww+i*(ww+2), dup, Graphics.TOP|Graphics.LEFT);
				if(pai3[i]%4==1)
				{
					g.drawImage(pic1, width/2-ww/2-ww+i*(ww+2)+11, dup+12, Graphics.HCENTER|Graphics.TOP);
				}
				else if(pai3[i]%4==2)
				{
					g.drawImage(pic2, width/2-ww/2-ww+i*(ww+2)+11, dup+12, Graphics.HCENTER|Graphics.TOP);
				}
				else if(pai3[i]%4==3)
				{
					g.drawImage(pic3, width/2-ww/2-ww+i*(ww+2)+11, dup+12, Graphics.HCENTER|Graphics.TOP);
				}
				else if(pai3[i]%4==0)
				{
					g.drawImage(pic4, width/2-ww/2-ww+i*(ww+2)+11, dup+12, Graphics.HCENTER|Graphics.TOP);
				}
				//
			}
			//g.drawString(String.valueOf(pai3[i]), width/2-ww/2-ww+i*(ww+2), dup+2, Graphics.TOP|Graphics.LEFT);
		}
		
	}
	
	public void drawUp()
	{//显示上家信息
		try
		{
		if(dz==0)
			g.drawImage(pichat, 1,dup,Graphics.LEFT|Graphics.TOP);
		if(cwr.sex[0].equals("female"))
			g.drawImage(picgirl, 1,dup+13,Graphics.LEFT|Graphics.TOP);
		else
			g.drawImage(picboy, 1,dup+13,Graphics.LEFT|Graphics.TOP);
		g.drawImage(picback, 1,dup+13+28+2,Graphics.LEFT|Graphics.TOP);
		g.setColor(bgcolor[0],bgcolor[1],bgcolor[2]);//////
		g.fillRect(0, dup+13+28+2+45, width/4, 35);
		g.setColor(123, 23, 56);//suibiannongde
		g.drawString("剩"+String.valueOf(leftnum0)+"张", 1, dup+13+28+2+45, Graphics.LEFT|Graphics.TOP);
		g.drawString(cwr.nickname[0], 28+1, dup+1+10, Graphics.LEFT|Graphics.TOP);
		g.drawString(cwr.score[0], 28+1, dup+1+10+fontHeight, Graphics.LEFT|Graphics.TOP);
		}
		catch(Exception e)
		{
			System.out.println("drawUp:"+e.toString());//////////
		}
	}
	public void drawMyself()
	{
		if(dz==1)
			g.drawImage(pichatme, 1,height-18-cardh-5-16-1-18,Graphics.LEFT|Graphics.BOTTOM);
		if(cwr.sex[1].equals("female"))
			g.drawImage(picgirlme, 1,height-18-cardh-5-16-1,Graphics.LEFT|Graphics.BOTTOM);
		else
			g.drawImage(picboyme, 1,height-18-cardh-5-16-1,Graphics.LEFT|Graphics.BOTTOM);
		g.setColor(bgcolor[0], bgcolor[1],bgcolor[2]);
		g.fillRect(0, height-18, width, 18);
		g.setColor(123, 23, 56);//suibiannongde
		g.drawString(cwr.nickname[1]+" "+cwr.score[1],width/2, height, Graphics.HCENTER|Graphics.BOTTOM);
	}
	public void drawDown()
	{//显示下家信息
		if(dz==2)
			g.drawImage(pichat, width-1,dup,Graphics.RIGHT|Graphics.TOP);
		if(cwr.sex[2].equals("female"))
			g.drawImage(picgirl, width-1,dup+13,Graphics.RIGHT|Graphics.TOP);
		else
			g.drawImage(picboy, width-1,dup+13,Graphics.RIGHT|Graphics.TOP);
		g.drawImage(picback, width-1,dup+13+28+2,Graphics.RIGHT|Graphics.TOP);
		g.setColor(bgcolor[0],bgcolor[1],bgcolor[2]);//////
		g.fillRect(width-28-1-40, dup+13+28+2, 40, 35);
		g.setColor(123, 23, 56);//suibiannongde
		g.drawString("剩"+String.valueOf(leftnum2)+"张", width-28-1, dup+13+28+15, Graphics.RIGHT|Graphics.TOP);
		g.drawString(cwr.nickname[2],width-28-1, dup+1+10, Graphics.RIGHT|Graphics.TOP);
		g.drawString(cwr.score[2], width-28-1, dup+1+10+fontHeight, Graphics.RIGHT|Graphics.TOP);
	}
	public void drawSend0()
	{
		//if(isOver)return;
		if(overcall==false)return;
		int ww=28,hh=35;
		int a=40;//"left 17"字符串的长度
		g.setColor(bgcolor[0],bgcolor[1],bgcolor[2]);//////
		g.fillRect(28+1,dup+13+28+2, width-56-a, 45);	
		for(int i=0;i<sendnum0;i++)
		{
			g.setColor(255, 255, 255);
			g.fillRoundRect(28+1+i*11,dup+13+28+2+4, ww, hh,6,6);
			g.setColor(0, 0, 0);
			g.drawRoundRect(28+1+i*11,dup+13+28+2+4, ww, hh,6,6);
			if(sendpai0[i]==53)
			{
				g.drawImage(picq, 28+1+i*11+1,dup+13+28+2+4+1, Graphics.LEFT|Graphics.TOP);
			}
			else if(sendpai0[i]==54)
			{
				g.drawImage(pick, 28+1+i*11+1,dup+13+28+2+4+1, Graphics.LEFT|Graphics.TOP);
			}
			else
			{
				if(sendpai0[i]%4==1)
				{
					g.setColor(255, 0, 0);
					g.drawImage(pic1, 28+1+i*11+1,dup+13+28+2+4+fontHeight, Graphics.LEFT|Graphics.TOP);
				}
				else if(sendpai0[i]%4==2)
				{
					g.setColor(0, 0, 0);
					g.drawImage(pic2, 28+1+i*11+1,dup+13+28+2+4+fontHeight, Graphics.LEFT|Graphics.TOP);
				}
				else if(sendpai0[i]%4==3)
				{
					g.setColor(255, 0, 0);
					g.drawImage(pic3, 28+1+i*11+1,dup+13+28+2+4+fontHeight, Graphics.LEFT|Graphics.TOP);
				}
				else if(sendpai0[i]%4==0)
				{
					g.setColor(0, 0, 0);
					g.drawImage(pic4, 28+1+i*11+1,dup+13+28+2+4+fontHeight, Graphics.LEFT|Graphics.TOP);
				}
				g.drawString(int2String(sendpai0[i]), 28+1+i*11+1,dup+13+28+2+4, Graphics.TOP|Graphics.LEFT);
				//
			}
		}
	}
	public void drawSend1()
	{//绘制自己每次出的牌
		//if(isOver)return;
		if(overcall==false)return;
		int ww=28,hh=35;
		g.setColor(bgcolor[0],bgcolor[1],bgcolor[2]);//////
		g.fillRect(18+1,height-18-cardh-5-16-hh,width-18,hh+2);
		int n=0;
		if(sendnum1%2==1)
			n=sendnum1/2+1;
		else n=sendnum1/2;
		int xx=(getWidth()-17)/2-n*11;
		int yy=getHeight()-18-cardh-5-16-hh;
		for(int i=0;i<sendnum1;i++)
		{
			g.setColor(255, 255, 255);
			g.fillRoundRect(xx+i*11,yy,ww,hh,6,6);
			g.setColor(0, 0, 0);
			g.drawRoundRect(xx+i*11,yy,ww,hh,6,6);
			if(sendpai1[i]==53)
			{
				g.drawImage(picq, xx+i*11+1,yy+1, Graphics.LEFT|Graphics.TOP);
			}
			else if(sendpai1[i]==54)
			{
				g.drawImage(pick, xx+i*11+1,yy+1, Graphics.LEFT|Graphics.TOP);
			}
			else
			{
				if(sendpai1[i]%4==1)
				{
					g.setColor(255, 0, 0);
					g.drawImage(pic1, xx+i*11+1,yy+fontHeight, Graphics.LEFT|Graphics.TOP);
				}
				else if(sendpai1[i]%4==2)
				{
					g.setColor(0, 0, 0);
					g.drawImage(pic2, xx+i*11+1,yy+fontHeight, Graphics.LEFT|Graphics.TOP);
				}
				else if(sendpai1[i]%4==3)
				{
					g.setColor(255, 0, 0);
					g.drawImage(pic3, xx+i*11+1,yy+fontHeight, Graphics.LEFT|Graphics.TOP);
				}
				else if(sendpai1[i]%4==0)
				{
					g.setColor(0, 0, 0);
					g.drawImage(pic4, xx+i*11+1,yy+fontHeight, Graphics.LEFT|Graphics.TOP);
				}
				g.drawString(int2String(sendpai1[i]), xx+i*11+1,yy, Graphics.TOP|Graphics.LEFT);
				//
			}
		}
	}
	public void drawSend2()
	{
		//if(isOver)return;
		if(overcall==false)return;
		int ww=28,hh=35;
		int a=40;//"left 17"字符串的长度
		g.setColor(bgcolor[0],bgcolor[1],bgcolor[2]);//////
		g.fillRect(width/4,dup+13+28+2+45,3*width/4,hh+2);
		for(int i=0;i<sendnum2;i++)
		{
			g.setColor(255, 255, 255);
			g.fillRoundRect(width-1-17-sendnum2*11+i*11,dup+13+28+2+45, ww, hh,6,6);
			g.setColor(0, 0, 0);
			g.drawRoundRect(width-1-17-sendnum2*11+i*11,dup+13+28+2+45, ww, hh,6,6);
			if(sendpai2[i]==53)
			{
				g.drawImage(picq, width-1-17-sendnum2*11+i*11+1,dup+13+28+2+45+1, Graphics.LEFT|Graphics.TOP);
			}
			else if(sendpai2[i]==54)
			{
				g.drawImage(pick, width-1-17-sendnum2*11+i*11+1,dup+13+28+2+45+1, Graphics.LEFT|Graphics.TOP);

⌨️ 快捷键说明

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