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

📄 gmanager.java

📁 战国3贱客
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//////////////////////////////////////////////////////////////////////////
////////////////////   Magic.CY     2004-9-16 10:28	//////////////////
//////////////////////////////////////////////////////////////////////////
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.util.*;
import java.io.*;


public class GManager implements Runnable
{
	public static final int nowmenu = 0;
	public static final int nowgameplay = 1;
	public static final int mainmenu  = 0;
	public static final int menuhelp  = 1;
	public static final int menuend  = 2;
	public static final int newgame  = 3;
	
	
	public GDate gd;
	public GCanvas gc;
	public GMidlet mid;
	public static Image bufferimage;
	public Graphics bufferg;
	public int SCREENW,SCREENH;
	public boolean gamerunning;
	public int gamestates = nowmenu;
	public int menustates = mainmenu;
	public int menuselect = 1;
	public long time;
	public static int gamecount;
///////////////////////////////////////////////////////////////

	public static int nowstage = 4;
	public Image bkimage,bkaaaa;
	public static int bkcount = 0;
	public int [][]bk = 
	{
		{1,2,3,1,2,3,1,2,3,4,5,6,4,7,8,1,2,3,1,2,3,1,2,3,1},//第1关
		{1,0,1,1,1,0,0,1,0,0,1,1,1,1,1,0,0,0,1,0,0,1,0,1,0},//第2关
		{2,0,3,2,4,0,1,2,1,3,1,0,2,0,1,0,3,2,0,3,2,3,0,0,3},//第3关
		{4,2,0,0,0,4,0,2,0,0,0,2,0,0,0,2,0,3,2,0,1,0,0,3,1},//第4关
		{0,0,0,5,4,6,7,4,5,0,0,0,0,0,0,5,4,4,4,4,4,4,5,0,0},//第5关
		{0,0,3,1,1,1,1,1,1,2,0,0,0,0,3,1,1,1,1,1,1,1,1,2,0},//第5关
		{0,0,5,4,4,6,7,4,4,5,0,0,0,0,5,4,4,4,6,7,4,4,4,5,0},//第5关
	
	};


	public static GBase player;
	public static Vector enemy = new Vector();
	







////////////////////////////////////////////////////////////////	
	public GManager(GMidlet mid)
	{
		this.mid = mid;
		gd = new GDate();
		gc = new GCanvas();
		Display.getDisplay(mid).setCurrent(gc);
		SCREENW = gc.getWidth();
		SCREENH = gc.getHeight();
		bufferimage = Image.createImage(SCREENW,SCREENH);
		bufferg = bufferimage.getGraphics();
		try
		{
			bkimage = Image.createImage("/bk.png");
			bkaaaa = Image.createImage("/bk2.png");
		
		
		
		}catch(Exception e){}
		player = new GPlayerJin();
	}
////////////////////////////////////////////////////////////////	
	public void run()
	{
		while(gamerunning)
		{
			time = System.currentTimeMillis();
			
			paint();
			update();
			gamecount++;
			if(System.currentTimeMillis() - time <150)
			try{Thread.sleep(150-System.currentTimeMillis() + time );}catch(Exception e){}
			
		}
	
	}
///////////////////////////////////////////////////////////////	
	public void paint()
	{
		switch(gamestates)
		{
			case nowgameplay:
			paintgameplay();
			
			break;
			case nowmenu:
			
			paintgamemenu();
			
			break;
			
			default:
			break;
		
		}
		bufferg.setClip(0,0,80,30);
		bufferg.setColor(0,0,0);
		bufferg.fillRect(0,0,80,30);
		bufferg.setColor(255,255,255);
		bufferg.drawString(""+(System.currentTimeMillis() - time)+"    "+(Runtime.getRuntime().freeMemory()/1024),2,12,0);
		gc.repaint();
		gc.serviceRepaints();
		
	}
///////////////////////////////////////////////////////////////	
	public void update()
	{
		switch(gamestates)
		{
			case nowgameplay:
			updategameplay();
			
			break;
			case nowmenu:
			
			updategamemenu();
			break;
			
			
			default:
			break;
		
		}
		
		
	}
	/////////////////////////////////////////////////////////////////
	
	public void paintgameplay()
	{
		switch(nowstage)
		{
			case 1:
			paint1bk();
			break;
			case 2:
			paint2bk();
			break;
			case 3:
			paint3bk();
			break;
			case 4:
			paint4bk();
			break;
			case 5:
			paint5bk();
			break;
			case 6:
			paint6bk();
			break;
			

		}
		player.paint(bufferg);
		
		
		
	}
	public void paint1bk()
	{
		bufferg.setColor(0,0,0);
			bufferg.setClip(0,0,128,128);
			for(int i = 0;i < 9;i ++)
			{
				bufferg.setClip(-(bkcount%16)+i*16,0,16,16);
				bufferg.drawImage(bkimage,-(bkcount%16)+i*16-16,0-64,20);
			}
			for(int i = 0;i<9;i++)
			{
				bufferg.setClip(-(bkcount%16)+i*16,16,16,16);
				bufferg.drawImage(bkimage,-(bkcount%16)+i*16-96,16,20);
				bufferg.setClip(-(bkcount%16)+i*16,32,16,16);
				bufferg.drawImage(bkimage,-(bkcount%16)+i*16-96,32,20);
			
				
				
			}
			for(int i = 0;i < 9;i ++)
			{
				switch(bk[0][i+bkcount/16])
				{
					case 1://墙
					bufferg.setClip(-(bkcount%16)+i*16,32,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-80,32-64,20);
					
					bufferg.setClip(-(bkcount%16)+i*16,10,16,32);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-116,10,20);
					
					
					break;
					case 2://窗1
					
					bufferg.setClip(-(bkcount%16)+i*16,16,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16,16-48,20);
					
					bufferg.setClip(-(bkcount%16)+i*16,32,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-80,32-64,20);
					
					
					
					break;
					case 3://窗2
					bufferg.setClip(-(bkcount%16)+i*16,16,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-16,16-48,20);
					
					bufferg.setClip(-(bkcount%16)+i*16,32,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-80,32-64,20);
					
					break;
					case 4://人
					
					bufferg.setClip(-(bkcount%16)+i*16,10,16,32);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-116,10,20);
					
					bufferg.setClip(-(bkcount%16)+i*16,16,16,32);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-112,16-48,20);
					
					
					break;
					case 5://门1
					bufferg.setClip(-(bkcount%16)+i*16,16,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-64,16-48,20);
					
					bufferg.setClip(-(bkcount%16)+i*16,32,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-32,32-64,20);
					
					
					break;
					case 6://门2
					bufferg.setClip(-(bkcount%16)+i*16,16,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-80,16-48,20);
					
					bufferg.setClip(-(bkcount%16)+i*16,32,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-48,32-64,20);
					
					
					break;
					case 7://有人的窗1
					bufferg.setClip(-(bkcount%16)+i*16,16,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-32,16-48,20);
					
					bufferg.setClip(-(bkcount%16)+i*16,32,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-80,32-64,20);
					
					
					
					break;
					case 8://有人的窗2
					bufferg.setClip(-(bkcount%16)+i*16,16,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-48,16-48,20);
					
					bufferg.setClip(-(bkcount%16)+i*16,32,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-80,32-64,20);
					
					
					break;
					
					
					
					
					
				}
				
				
			}
			for(int i = 0;i < 9;i ++)
			{
				for(int j = 0;j < 4;j ++)
				{
					bufferg.setClip(-(bkcount%16)+i*16,48+j*16,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-64,48+j*16-64,20);
				}
				
				
			}
			bufferg.setColor(115,74,0);
			bufferg.setClip(0,112,128,16);
			bufferg.fillRect(0,112,128,16);
			
		
		
	}
	public void paint2bk()
	{
			for(int i = 0;i < 9;i ++)
			{
				bufferg.setClip(-((bkcount/3)%16)+i*16,0,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16-64-bk[1][i+bkcount/48]*16,0,20);
			
			}
			
			for(int i = 0;i<9;i++)
			{
				bufferg.setClip(-((bkcount/2)%16)+i*16,16,16,16);
				bufferg.drawImage(bkimage,-((bkcount/2)%16)+i*16-32-((bkcount/32+i)%2)*16,16,20);
								
			}
			bufferg.setColor(0,73,0);
			bufferg.setClip(0,32,128,8);
			bufferg.fillRect(0,32,128,8);
			for(int i = 0;i<9;i++)
			{
				bufferg.setClip(-((bkcount)%16)+i*16,32,16,16);
				bufferg.drawImage(bkimage,-((bkcount)%16)+i*16,32,20);
							
			}
			for(int i = 0;i < 9;i ++)
			{
				for(int j = 0;j < 4;j ++)
				{
					bufferg.setClip(-(bkcount%16)+i*16,48+j*16,16,16);
					bufferg.drawImage(bkimage,-(bkcount%16)+i*16-16,48+j*16,20);
				}
				
				
			}
			bufferg.setColor(115,74,0);
			bufferg.setClip(0,112,128,16);
			bufferg.fillRect(0,112,128,16);
		
		
	}
	public void paint3bk()
	{
		bufferg.setColor(0x22aaff);
		bufferg.setClip(0,0,128,48);
		bufferg.fillRect(0,0,128,48);
		
		for(int i = 0;i < 9;i ++)
		{
			switch(bk[2][i+bkcount/48])
			{
				case 1://树
				bufferg.setClip(-((bkcount/3)%16)+i*16,0,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16-32,0-16,20);
				
				bufferg.setClip(-((bkcount/3)%16)+i*16,16,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16-32,16-16,20);
				
				bufferg.setClip(-((bkcount/3)%16)+i*16,32,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16-16,32-16,20);
			
				
				
				break;
				
				case 2://大竹
				bufferg.setClip(-((bkcount/3)%16)+i*16,0,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16,0-16,20);
				
				bufferg.setClip(-((bkcount/3)%16)+i*16,16,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16,16-16,20);
				
				bufferg.setClip(-((bkcount/3)%16)+i*16,32,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16,32-16,20);
				
				break;
				
				case 3://小竹叶少
				bufferg.setClip(-((bkcount/3)%16)+i*16,0,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16-48,0-16,20);
				
				bufferg.setClip(-((bkcount/3)%16)+i*16,16,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16-64,16-16,20);
				
				bufferg.setClip(-((bkcount/3)%16)+i*16,32,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16-48,32-16,20);
				
				break;
				case 4://小竹叶多
				bufferg.setClip(-((bkcount/3)%16)+i*16,0,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16-64,0-16,20);
				
				bufferg.setClip(-((bkcount/3)%16)+i*16,16,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16-64,16-16,20);
				
				bufferg.setClip(-((bkcount/3)%16)+i*16,32,16,16);
				bufferg.drawImage(bkimage,-((bkcount/3)%16)+i*16-48,32-16,20);
				
				break;
				
				
				
			}
			

⌨️ 快捷键说明

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