亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? iceblox.java

?? 企鵝推冰塊游戲,A,D左右移動.K,M上下移動
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
// Iceblox
// By Karl H鰎nell, April 8 1996

import java.awt.*;
import java.awt.image.*;
import java.net.*;

public final class iceblox extends java.applet.Applet implements Runnable
{
	int i,j,k;
	final int playX=390,playY=330,mainX=390,mainY=348,smalls=48,blockX=13,blockY=11;
	final int animP[]={7,8,9,8,10,11,12,11,4,5,6,5,1,2,3,2};
	final int animF[]={32,33,34,35,36,35,34,33};
	final int levFlame[]={2,3,4,2,3,4},levRock[]={5,6,7,8,9,10};
	final int levSpeed[]={3,3,3,5,5,5},levIce[]={35,33,31,29,27,25};
	final int effMax=5;
	int playArea[];
	int gameState,counter,dir,inFront,inFront2,level,coins;
	int effLevel,lives=3;
	int x[],y[],dx[],dy[],motion[],look[],creature[],ccount[],actors,flames;
	int sideIX[]={0,-1,1,-15,15},coorDx[]={0,-30,30,0,0},coorDy[]={0,0,0,-30,30};
	Image collection,offImage,playField,small[],title;
	Graphics offGraphics,playGraphics,tempG;
	MediaTracker tracker;
	ImageFilter filter;
	ImageProducer collectionProducer;
	long snooze=100,score;
	Thread game;
	Math m;

	public void init()
	{
		setBackground(Color.black);
		offImage=createImage(mainX,mainY);
		offGraphics=offImage.getGraphics();
		offGraphics.setColor(Color.black);
		offGraphics.fillRect(0,0,mainX,mainY);
		playField=createImage(playX,playY);
		playGraphics=playField.getGraphics();
		playGraphics.setColor(Color.black);
		tracker=new MediaTracker(this);
		collection = getImage(getCodeBase(),"iceblox.gif");
		tracker.addImage(collection,0);
		try
		{
			tracker.waitForID(0);
		}
			catch(InterruptedException e) {}
		collectionProducer=collection.getSource();
		small=new Image[smalls];
		k=0;i=0;j=0;
		while (k<smalls)
		{
			filter=new CropImageFilter(j*30,i*30,30,30);
			small[k]=createImage(new FilteredImageSource(
				collectionProducer,filter));
			tracker.addImage(small[k],1);
/*			small[k]=createImage(30,30);
			tempG=small[k].getGraphics();
			tempG.drawImage(collection,-j*30,-i*30,this);*/

			k++;
			j++;
			if (j==8)
			{
				j=0;
				i++;
			}
		}
		filter=new CropImageFilter(0,180,224,64);
		title=createImage(new FilteredImageSource(
				collectionProducer,filter));
		tracker.addImage(title,1);
		
		playArea=new int[(blockX+2)*(blockY+3)];
		x=new int[20];
		y=new int[20];
		dx=new int[20];
		dy=new int[20];
		look=new int[20];
		motion=new int[20];
		creature=new int[20];
		ccount=new int[20];
		
		gameState=7;
		try
		{
			tracker.waitForID(1);
		}
			catch(InterruptedException e) {}

		resize(mainX,mainY);
	}

	public void run()
	{
		while (game !=null)
		{
			try
			{
				game.sleep(snooze);
			} catch (InterruptedException e) {}
			counter=(counter+1)&255;
			switch (gameState)
			{
				case 0:
					prepareField();
					break;
				case 1:
					showField();
					break;
				case 2:
					gameLoop();
					break;
				case 3:
					happyPenguin();
					break;
				case 4:
					clearField();
					break;
				case 5:
					fixDeath();
					break;
				case 6:
					gameOver();
					break;
				case 7:
					drawIntro1();
					break;
				case 8:
					waitIntro1();
					break;
				case 9:
					drawIntro2();
					break;
				case 10:
					waitIntro2();
					break;
				case 11:
					drawIntro3();
					break;
				case 12:
					waitIntro3();
					break;
				default:
					break;
			}
			repaint();
		}
	}

	public void start()
	{
		if (game==null)
		{
			game=new Thread(this);
			game.start();
		}
	}

	public void stop()
	{
		if ((game!=null)&&(game.isAlive()))
		{
			game.stop();
		}
		game=null;
	}

	public boolean keyDown(java.awt.Event e,int key)
	{
		if (gameState==2)
		{
			switch (key)
			{
				case 97:
					dir=1; // A:Left
					break;
				case 100:
					dir=2; // D:Right
					break;
				case 107:
					dir=3; // K:Up
					break;
				case 109:
					dir=4; // M:Down
					break;
				default:
					break;
			}
		}
		else if ((gameState>6)&&(key==32))
			gameState=0;
		return false;
	}
	
	public boolean keyUp(java.awt.Event e,int key)
	{
		dir=0;
		return false;
	}
	
	public void prepareField()
	{
		int i,j,p,q;
		if (level>effMax)
			effLevel=effMax;
		else
			effLevel=level;
		offGraphics.setColor(Color.black);
		offGraphics.fillRect(0,0,mainX,mainY);
		playGraphics.setColor(Color.black);
		playGraphics.fillRect(0,0,playX,playY);
		offGraphics.setColor(Color.lightGray);
		offGraphics.fill3DRect(0,mainY-playY-4,mainX,4,true);
		offGraphics.setColor(Color.white);
		offGraphics.drawString("SCORE:",2,12);
		updateScore(0);
		offGraphics.drawString("LEVEL:  "+(level+1),125,12);
		offGraphics.drawString("SPARE LIVES:",220,12);
		for (i=0;i<lives;i++)
			offGraphics.drawImage(small[13],300+i*15,-16,this);
		for (i=0;i<(blockX+2)*(blockY+3);i++)
			playArea[i]=1;
		for (i=1;i<=blockY;i++)
			for (j=1;j<=blockX;j++)
				playArea[i*(blockX+2)+j]=0;
		playArea[blockX+3]=1; // Make room for start square
		i=0;
		while (i<levIce[effLevel]) // Ice cubes
		{
			p=1+(int)(m.random()*blockX);
			q=1+(int)(m.random()*blockY);
			if (playArea[q*(blockX+2)+p]==0)
			{
				playArea[q*(blockX+2)+p]=2;
				playGraphics.drawImage(small[16],(p-1)*30,(q-1)*30,this);
				i++;
			}
		}
		i=0;
		while (i<levRock[effLevel]) // Rock
		{
			p=1+(int)(m.random()*blockX);
			q=1+(int)(m.random()*blockY);
			if (playArea[q*(blockX+2)+p]==0)
			{
				playArea[q*(blockX+2)+p]=1;
				playGraphics.drawImage(small[14],(p-1)*30,(q-1)*30,this);
				i++;
			}
		}
		i=0;
		while (i<5) // Coins
		{
			p=1+(int)(m.random()*blockX);
			q=1+(int)(m.random()*blockY);
			if (playArea[q*(blockX+2)+p]==0)
			{
				playArea[q*(blockX+2)+p]=10;
				playGraphics.drawImage(small[24],(p-1)*30,(q-1)*30,this);
				i++;
			}
		}
		playArea[blockX+3]=0; // Clear start square
		gameState=1;
		snooze=100;
		counter=0;
		motion[0]=0;
		actors=1;
		coins=0;
		flames=0;
		look[0]=0;
		x[0]=30;
		y[0]=30;
		dx[0]=6;
		dy[0]=6;
		look[0]=2;
		creature[0]=1;
		for (i=0;i<20;i++)
			ccount[i]=0;
	}

	public void showField()
	{
		Graphics saveGraphics;
		saveGraphics=offGraphics.create();
		offGraphics.clipRect(playX/2-(counter*playX/2/30),mainY-playY+
		playY/2-(counter*playY/2/30),counter*playX/30,counter*playY/30);
		offGraphics.drawImage(playField,0,mainY-playY,this);
		if (counter==30)
		{
			gameState=2;
			snooze=100;
		}
		offGraphics=saveGraphics;
	}

	public void gameLoop()
	{
		if (flames<levFlame[effLevel])
		{
			if (x[0]<(playX/2))
				x[actors]=playX+30;
			else
				x[actors]=0;
			y[actors]=30*(1+(int)(m.random()*blockY));
			j=(y[actors]/30)*(blockX+2)+x[actors]/30;
			motion[actors]=0;
			dx[actors]=levSpeed[effLevel];
			dy[actors]=levSpeed[effLevel];
			creature[actors]=4;
			if ((playArea[j+1]==0)||(playArea[j-1]==0))
			{
				actors++;
				flames++;
			}
		}
		for (i=0;i<actors;i++)
		{
			ccount[i]++;
			switch(motion[i])
			{
				case 1:
					x[i]-=dx[i];
					break;
				case 2:
					x[i]+=dx[i];
					break;
				case 3:
					y[i]-=dy[i];
					break;
				case 4:
					y[i]+=dy[i];
					break;
				default:
					break;
			}
			j=(y[i]/30)*(blockX+2)+x[i]/30;
			switch(creature[i])
			{
				case 1: // Penguin
					if ((x[i]%30 == 0)&&(y[i]%30 == 0))
						motion[i]=0;
					if (motion[i]==0)
					{
						inFront=playArea[j+sideIX[dir]];
						if ((j+2*sideIX[dir])<0)
							inFront2=1;
						else
							inFront2=playArea[j+2*sideIX[dir]];
						if (inFront==0)
							motion[i]=dir;
						else
						{
							if ((inFront2==0)&&((inFront==2)||(inFront==10))) // Push ice block?
							{
								if (inFront==2)
								{
									creature[actors]=2;
									look[actors]=16;
								}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影免费观看高清完整版| 日韩午夜激情av| 久久精品99久久久| 欧美视频一区在线观看| 日本怡春院一区二区| 99国产欧美久久久精品| 韩国成人精品a∨在线观看| 国产欧美日韩久久| 亚洲男人都懂的| 蜜桃久久精品一区二区| 色综合色狠狠天天综合色| 精品免费日韩av| 亚洲v日本v欧美v久久精品| 成人国产在线观看| 日本一区二区三区免费乱视频| 免费在线看一区| 欧美无砖砖区免费| 亚洲男女毛片无遮挡| 成人免费毛片app| 久久久久久**毛片大全| 蜜臀久久久99精品久久久久久| 欧美精品黑人性xxxx| 亚洲在线视频一区| 99麻豆久久久国产精品免费优播| 国产无人区一区二区三区| 狠狠色狠狠色综合系列| 欧美一区二区三区四区久久| 午夜精品久久久久久久蜜桃app| 91久久精品网| 亚洲欧洲综合另类| 在线免费亚洲电影| 亚洲一二三区不卡| 在线观看一区日韩| 亚洲高清久久久| 欧美一级午夜免费电影| 亚洲综合在线五月| 欧美激情自拍偷拍| 欧美影院精品一区| 蜜桃精品视频在线| 亚洲欧洲日产国码二区| 制服丝袜一区二区三区| 久色婷婷小香蕉久久| 国产人妖乱国产精品人妖| 欧美日韩免费不卡视频一区二区三区| 国产成人精品一区二区三区四区| 看电视剧不卡顿的网站| 日韩一级二级三级| 国产精品99久久久久久久女警| 国产欧美va欧美不卡在线| 成人免费电影视频| 亚洲欧美日韩国产综合在线| 色狠狠桃花综合| 性做久久久久久免费观看欧美| 日韩精品一区二区三区在线 | 日韩国产欧美三级| 欧美一区在线视频| 国产美女娇喘av呻吟久久| 国产欧美日韩激情| 欧洲一区二区三区在线| 日本午夜一区二区| 国产日韩精品一区二区浪潮av| av综合在线播放| 午夜精品久久久久久久蜜桃app| 日韩一区二区免费在线电影| 国产91精品精华液一区二区三区 | 国产乱子伦一区二区三区国色天香 | 欧美zozozo| 成人动漫在线一区| 美女视频第一区二区三区免费观看网站| 久久久久国产精品厨房| 99国产精品久久久久久久久久| 日本中文一区二区三区| 日本一区二区成人| 91精品免费在线观看| 91亚洲永久精品| 久久精品国产免费| 一区二区三区四区中文字幕| 久久综合网色—综合色88| 91福利视频网站| 韩国女主播一区| 亚洲成人你懂的| 中文字幕国产一区二区| 欧美高清精品3d| 91丨国产丨九色丨pron| 久久99精品久久久久婷婷| 综合亚洲深深色噜噜狠狠网站| 日韩美女主播在线视频一区二区三区| av电影在线观看一区| 免费成人小视频| 亚洲综合一区二区| 国产欧美日韩三区| 日韩精品专区在线| 欧美日韩免费观看一区三区| 成人一级片在线观看| 美女国产一区二区| 五月天欧美精品| 中文字幕一区不卡| 久久精品欧美一区二区三区不卡| 91麻豆精品国产91久久久久久| 色综合天天做天天爱| 国产999精品久久| 国产精品一级黄| 久久99精品久久久久婷婷| 日韩国产精品91| 日本午夜精品视频在线观看| 亚洲图片欧美综合| 亚洲一区在线观看视频| 亚洲欧美视频在线观看视频| 国产精品理论在线观看| 中文字幕av一区二区三区| 337p日本欧洲亚洲大胆精品 | 欧美理论片在线| 在线一区二区三区四区五区| 91在线观看高清| www.一区二区| 成人午夜又粗又硬又大| 国产乱子伦一区二区三区国色天香| 久久aⅴ国产欧美74aaa| 麻豆一区二区三| 麻豆专区一区二区三区四区五区| 欧美bbbbb| 激情图片小说一区| 国产高清视频一区| 国产一区二区在线影院| 国产福利一区二区三区视频在线 | 国产高清久久久久| 岛国av在线一区| 成人激情av网| 91丨porny丨蝌蚪视频| 欧美综合亚洲图片综合区| 91福利社在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 午夜成人免费电影| 美女免费视频一区二区| 激情丁香综合五月| 大尺度一区二区| 在线免费精品视频| 日韩一区二区在线观看视频播放| 精品国产成人在线影院| 中文字幕av一区二区三区高| 亚洲一区二三区| 日韩极品在线观看| 国产一区二区三区香蕉| 成人av网站在线观看免费| 91久久奴性调教| 欧美xxxxx裸体时装秀| 中文字幕在线不卡| 日日欢夜夜爽一区| 国产成人在线免费观看| 欧美三级韩国三级日本三斤| 欧美电影免费观看高清完整版在| 亚洲欧洲国产日本综合| 亚洲国产视频a| 国产精品亚洲一区二区三区在线 | 成人国产精品免费观看动漫 | 日本道色综合久久| 精品999在线播放| 中文字幕亚洲区| 免费在线观看日韩欧美| 成人高清视频在线观看| 欧美一区二区福利视频| 国产欧美一区二区精品仙草咪| 一级日本不卡的影视| 国产精品88888| 正在播放一区二区| 亚洲免费av高清| 精品午夜久久福利影院| 欧美亚男人的天堂| 国产色婷婷亚洲99精品小说| 日产欧产美韩系列久久99| 91在线丨porny丨国产| www国产精品av| 亚洲一区二区三区四区在线 | 国产成人自拍在线| 欧美久久久久久蜜桃| 亚洲人成网站影音先锋播放| 韩国v欧美v日本v亚洲v| 欧美日韩中文一区| 亚洲视频中文字幕| 国产精一区二区三区| 3d动漫精品啪啪1区2区免费 | 色婷婷av一区| 欧美激情综合在线| 国产综合久久久久影院| 日韩视频免费观看高清在线视频| 一区二区三区国产| av亚洲精华国产精华精| 日本一区二区三区免费乱视频| 国产美女一区二区三区| 日韩一区二区三区视频在线观看| 亚洲一区二区黄色| 色www精品视频在线观看| 国产精品麻豆网站| 国产一二精品视频| 欧美韩国日本不卡| jiyouzz国产精品久久| 国产日产欧产精品推荐色| 国产成人在线影院| 国产精品久久看| av一区二区三区黑人|