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

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

?? floys.java

?? 簡單規則演化出來的極似蒼蠅的一個人工生命群體floy
?? JAVA
字號:
//
//	This code was written by Ariel Dolan
//	Site	http://www.aridolan.com
//	Email	aridolan@netvision.net.il
//
//	You are welcome to do whatever you wish with this code, as long as you
//	add appropriate credits.
//


import java.applet.*;
import java.awt.*;
import java.net.*;



class FloyCanvas extends Canvas
{
	Image image;
	Color color;
	boolean first;
	boolean reset;

	public FloyCanvas(Image img)	{

		super();
 		image = img;
		color = Color.white;
		setBackground(Color.black);
		setForeground(Color.white);
		first = true;
		reset = false;

	}

	public FloyCanvas(Color c)	{

		super();
 		image = null;
		setBackground(Color.black);
		setForeground(Color.white);
		color = c;
		first = true;
		reset = false;

	}

	public void Clear() {

		reset = true;
		repaint();

	}


	public void paint(Graphics g) {

		int i;
		Floy floy;

		if (reset) {
			g.setColor(Color.black);
			g.fillRect(0,0,size().width,size().height);
			reset = false;
			return;
		}

		if (image != null)
			g.drawImage(image,0,0,this);
		else {
		}

		for (i=0;i<Floys.floys.length;i++)
	 	{
			floy = Floys.floys[i];
			floy.GetNeighbors();
	 		floy.Process();
			floy.Draw(g);
	 	}


	}

	Graphics GetGra() {

		return this.getGraphics();
	}
}

public class Floys extends Applet implements Runnable {

	Thread runner;
	FloyCanvas canvas;
	FloyControl fcontrol;
	static Floy[] floys;
	Button Start;
	Button Pause;
	Button Stop;
	Button Control;
	Button Kick;
	Button Slower;
	Button Faster;
	Button Default;
	Button Test;
	Button Quit;
	Graphics gra;
	Panel ControlPanel;
	URL MainPage;
	Font ButtonFont;

	int wa,ha,wc,hc;
	int CurrentBehavior;
	int Strangers;
	boolean running;
	static boolean First;

	static int NF;
	static int REVDIST;
	static float ACC;
	static float ACCTOMID;	
	static float MAXSPEED;
	static float BOUNCESPEED;
	static float V0;
	static float KICK;
	static int SLEEP;
	static int MARGIN;
	static int NUMNB;
	static int TYPE;

	static AudioClip joy;
	static AudioClip beep;
    static Image picture;
    static AppletContext appcontext;


	public void init() {
		int i;
		Float temp;
		String s;

		ButtonFont = new Font("TimesRoman",Font.PLAIN,12);
		reset();

		s=getParameter("NF");
		if (s==null)
			NF=15;
		else NF = Integer.parseInt(s);
		s=getParameter("REVDIST");
		if (s==null)
			REVDIST=200;
		else REVDIST = Integer.parseInt(s);
		s=getParameter("ACCTOMID");
		if (s==null)
			ACCTOMID=0.1f;
		else {
				temp=new Float(s);
				ACCTOMID = temp.floatValue();
			}
		s=getParameter("ACC");
		if (s==null)
			ACC=0.3f;
		else {
				temp=new Float(s);
				ACC = temp.floatValue();
			}
		s=getParameter("MAXSPEED");
		if (s==null)
			MAXSPEED=5f;
		else {
				temp=new Float(s);
				MAXSPEED = temp.floatValue();
			}
		s=getParameter("BOUNCESPEED");
		if (s==null)
			BOUNCESPEED=.8f;
		else {
				temp=new Float(s);
				BOUNCESPEED = temp.floatValue();
		}

		setLayout(new BorderLayout());

		Panel bot = new Panel();
		Start = new Button(" Start ");
		Pause = new Button(" Pause ");
		Stop = new Button(" Stop ");
		Control = new Button(" Properties ");
		Kick = new Button(" Behavior ");
		Slower = new Button(" Slower ");
		Faster = new Button(" Faster ");
		Default = new Button(" Default ");
		Test = new Button(" Stranger ");
		Quit = new Button(" Quit ");

		bot.setFont(ButtonFont);

		//bot.add(Start);
		bot.add(Pause);
		//bot.add(Stop);
		bot.add(Control);
		bot.add(Slower);
		bot.add(Faster);
		bot.add(Default);
		bot.add(Test);
		bot.add(Kick);
		add("South",bot);

	    appcontext = getAppletContext();
		picture = getImage(getCodeBase(),"floys1.gif");
		joy = getAudioClip(getCodeBase(), "joy.au");
		beep = getAudioClip(getCodeBase(), "Beep.au");

		canvas = new FloyCanvas(Color.red);
		//canvas = new FloyCanvas(picture);
		add("Center",canvas);
		canvas.repaint();
		gra = canvas.GetGra();

		CurrentBehavior = 0;
		Strangers=0;
		First = true;

	}

	public void start()
	{
		if (runner == null)
		{
			runner= new Thread(this);
			runner.start();
			running = true;
		}
	}
	
	public void stop()
	{
		if (runner!=null)
		{
			runner.stop();
			runner=null;
			running = false;
		}
	}

	public void run() {

		int i;
		Floy floy;

		if (First) {
			hc = canvas.size().height;
			wc = canvas.size().width;
			ha = this.size().height;
			wa = this.size().width;
			floys = new Floy[NF];
			for (i=0;i<NF;i++) {
				floys[i] = new Floy("EBGHIJ",i, wc,hc,0,200,Color.green);
			}
		
			randemize();
			First = false;
		}
	
		gra.setColor(Color.white);
		while (true) {
			/*
			for (i=0;i<NF;i++)
		 	{
				floy = floys[i];
				floy.GetNeighbors();
		 		floy.Process();
				floy.Draw(gra);
				showStatus("x= "+floy.x+" y = "+floy.y+" vx= "+floy.vx+" vy= "+floy.vy);
		 	}
			*/
		 	if (Math.random()< (double) KICK) randemize();
		 	canvas.repaint();
		 	try { Thread.sleep(SLEEP);}
		 	catch (InterruptedException e) {
			}
		}
		


	}

	public void randemize()
	{
		int i,j,k,n;

		for (k=0;k<NF;k++) {
			Floy ng = floys[k];
			for (j=0;j<ng.numnb;j++) {
				n =(int) (Math.random()*NF);
				//if (n == k) {
				//	if (n == 0) n++;
				//	else n--;
				//}
				ng.neighbors[j] = floys[n];
			}
		}
	}


	static public void reset() {

		NF = 15;
		REVDIST = 200;
		ACC = 0.3f;
		ACCTOMID = 0.1f;	
		MAXSPEED = 5f;
		BOUNCESPEED = 0.8f;
		V0 = 4;
		KICK = (float) 0.05;
		SLEEP = 10;
		MARGIN = 30;
		NUMNB = 2;
		TYPE = 0;

		//showStatus("Default Behavior");

	}


	private void ChangeBehavior(int num) {

		switch (num) {
			case 0:	{
				REVDIST = 200;
				ACC = 0.3f;
				ACCTOMID = 0.1f;	
				MAXSPEED = 5f;
				BOUNCESPEED = 0.8f;
				V0 = 4;
				KICK = (float) 0.05;
				SLEEP = 10;
				MARGIN = 30;
				NUMNB = 2;
				showStatus("Default Behavior");
				break;
			}
			case 1:	{
				REVDIST = 200;
				ACC = 0.05f;
				ACCTOMID = 0.05f;	
				MAXSPEED = 3f;
				BOUNCESPEED = 0.5f;
				V0 = 4;
				KICK = (float) 0.05;
				SLEEP = 10;
				MARGIN = 30;
				NUMNB = 2;
				showStatus("Calm Behavior");
				break;
			}
			case 2:	{
				REVDIST = 200;
				ACC = 0.6f;
				ACCTOMID = 0.2f;	
				MAXSPEED = 5f;
				BOUNCESPEED = 0.8f;
				V0 = 4;
				KICK = (float) 0.05;
				SLEEP = 10;
				MARGIN = 30;
				NUMNB = 2;
				showStatus("Busy Behavior");
				break;
			}
			case 3:	{
				REVDIST = 100;
				ACC = 0.9f;
				ACCTOMID = 0.4f;	
				MAXSPEED = 10f;
				BOUNCESPEED = 2.0f;
				V0 = 4;
				KICK = (float) 0.05;
				SLEEP = 10;
				MARGIN = 30;
				NUMNB = 2;
				showStatus("Frantic Behavior");
				break;
			}

		}

	}

	public boolean action(Event evt, Object o) {

		int i;
		Floy floy;
		boolean rt = false;

		if(evt.target == Quit) {
			showStatus("Quit");
			//destroy();
			//System.exit(0);
			try {
				MainPage = new URL("JavaFloys.html");
				appcontext.showDocument(MainPage);
			}
			catch (MalformedURLException e){
			}
			rt=true;
		}
		else if (evt.target == Start) {
			start();
			//gra.setColor(Color.red);
			//gra.fillRect(10,10,wc-20,hc-20);
			//showStatus("gra color = "+gra.getColor().toString());
			//canvas.repaint();
			rt = true;
		}

		else if (evt.target == Pause) {

			if (running) {
				stop();
				running = false;
				Pause.setLabel("Continue");
			}
			else {
				start();
				running = true;
				Pause.setLabel("Pause");
			}
			rt = true;
		}

		else if (evt.target == Stop) {
			
			stop();
			canvas.Clear();

		}

		else if (evt.target == Control) {
			Strangers=0;
			stop();
			running=false;
			Pause.setLabel("Continue");
			canvas.Clear();
			//First = false;
			fcontrol = new FloyControl(floys);
			showStatus("Custom Behavior");
			//start();
		}

		else if (evt.target == Test) {
			if(Strangers<NF){
				Strangers++;
				for(i=0;i<Strangers;i++){
					floys[i].type =1;
					floys[i].color = Color.magenta;
					floys[i].energy = 100;
					floys[i].x = 0;
					floys[i].y = 0;
				}
			}

		}

		else if (evt.target == Default) {
			
			for(i=0;i<Strangers;i++){
				floys[i].type = 0;
				floys[i].color = Color.green;
				floys[i].energy = 100;
			}
			Strangers=0;
			
			reset();
			stop();
			First = true;
			showStatus("Default Behavior");
			start();

		}

		else if (evt.target == Kick) {
			
			joy.play();
			if (CurrentBehavior == 3)
				CurrentBehavior = 0;
			else
				CurrentBehavior++;
			ChangeBehavior(CurrentBehavior);

			stop();
			First = true;
			start();
		}

		else if (evt.target == Slower) {
			if (SLEEP < 10)
				SLEEP++;
			else if (SLEEP < 150)
				SLEEP += 10;
		}

		else if (evt.target == Faster) {
			if (SLEEP > 10)
				SLEEP -= 10;
			else if (SLEEP > 1)
				SLEEP--;
		}


		else {
			rt = true;
		}

		//showStatus("evt.target= "+evt.target.toString());
		return rt;
	}

	public boolean handleEvent(Event evt) {

		if(evt.id == Event.WINDOW_DESTROY) {
			showStatus("Window Distroy");
			destroy();
			System.exit(0);
		}

		return super.handleEvent(evt);
	}


	private void ScrollbarPanel() {
		ControlPanel = new Panel();
		ControlPanel.setLayout(new GridLayout(2,4));
		Label l1 = new Label("Number of Floys");
		Label l2 = new Label("Collision Distance");
		Label l3 = new Label("Acceleration");
		Label l4 = new Label("Adhesion");
		Label l1a = new Label("");
		Label l2a = new Label("");
		Label l3a = new Label("");
		Label l4a = new Label("");
		Scrollbar b1 = new Scrollbar(Scrollbar.HORIZONTAL);
		Scrollbar b2 = new Scrollbar(Scrollbar.HORIZONTAL);
		Scrollbar b3 = new Scrollbar(Scrollbar.HORIZONTAL);
		Scrollbar b4 = new Scrollbar(Scrollbar.HORIZONTAL);
		ControlPanel.add(l1);
		ControlPanel.add(l2);
		ControlPanel.add(l3);
		ControlPanel.add(l4);
		ControlPanel.add(b1);
		ControlPanel.add(b2);
		ControlPanel.add(b3);
		ControlPanel.add(b4);
		add("North",ControlPanel);
	}


}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产精品国产精品久久| 亚洲欧美日韩小说| 国产精品久久久久久久久久免费看| 1024成人网色www| 一区二区在线看| 美女网站色91| av成人动漫在线观看| 欧美日韩国产123区| 国产无人区一区二区三区| 成人免费在线视频观看| 婷婷久久综合九色综合伊人色| 久99久精品视频免费观看| 97久久人人超碰| 日韩亚洲欧美综合| 中文字幕亚洲综合久久菠萝蜜| 亚洲在线观看免费| 国产精品香蕉一区二区三区| 欧美自拍偷拍午夜视频| 久久久久久免费毛片精品| 日本精品裸体写真集在线观看| 国产一区二区精品久久| 91小视频免费观看| 日韩免费高清视频| 最新成人av在线| 精品中文字幕一区二区小辣椒| 99在线热播精品免费| 精品人伦一区二区色婷婷| 亚洲精品美国一| 国产成人在线观看| 91精品国产欧美日韩| 亚洲欧洲www| 国产精品一区在线观看乱码| 欧美日免费三级在线| 中文字幕亚洲区| 韩国精品一区二区| 欧美日韩一区不卡| 亚洲人成影院在线观看| 国产一区二区三区香蕉| 欧美精品自拍偷拍| 一区二区成人在线| 99久久伊人精品| 久久婷婷一区二区三区| 视频一区二区三区在线| 91丝袜国产在线播放| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲国产中文字幕| 色悠久久久久综合欧美99| 久久九九久精品国产免费直播| 日韩福利视频导航| 在线观看国产精品网站| 亚洲欧美在线aaa| 国产成人亚洲综合a∨婷婷| 日韩免费观看高清完整版 | 国产麻豆成人精品| 日韩欧美中文字幕公布| 亚洲国产精品嫩草影院| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 26uuu精品一区二区三区四区在线| 亚洲va韩国va欧美va精品| 91美女片黄在线| 国产精品美女www爽爽爽| 国产精品一区不卡| 国产三级一区二区| 国产精品资源网| 精品处破学生在线二十三| 麻豆精品在线视频| 91麻豆精品国产91久久久资源速度| 亚洲精品国产视频| 97久久超碰国产精品电影| 最新成人av在线| 91麻豆国产福利在线观看| 成人免费在线视频观看| 99久久久国产精品免费蜜臀| 一区精品在线播放| 91在线免费播放| 一区二区三区免费看视频| 91成人看片片| 亚洲成人你懂的| 正在播放一区二区| 免费人成在线不卡| 日韩美女在线视频 | 久久久亚洲欧洲日产国码αv| 激情六月婷婷综合| 久久久国产精华| 成人午夜免费av| 91麻豆精品国产91久久久| 欧美国产一区二区在线观看| 国产91精品一区二区麻豆网站 | 国产成人av一区二区三区在线 | 成人伦理片在线| 最新国产の精品合集bt伙计| 日本丶国产丶欧美色综合| 亚洲成人自拍网| 精品久久久久久久人人人人传媒 | 国产精品网曝门| 91蜜桃在线免费视频| 亚洲国产精品一区二区久久恐怖片| 欧美二区三区91| 狠狠色综合色综合网络| 国产精品日产欧美久久久久| 色老头久久综合| 免费成人在线观看| 欧美国产97人人爽人人喊| 91极品视觉盛宴| 久久av中文字幕片| 国产精品欧美经典| 6080日韩午夜伦伦午夜伦| 国产精品一区二区男女羞羞无遮挡 | 亚洲在线免费播放| 欧美成人一区二区| 91麻豆国产自产在线观看| 奇米精品一区二区三区四区| 国产三级一区二区三区| 91豆麻精品91久久久久久| 九九久久精品视频| 一区二区三区资源| 精品美女一区二区| 91污在线观看| 狠狠久久亚洲欧美| 一区二区三区不卡在线观看 | 国产1区2区3区精品美女| 一区二区三区av电影 | 高清在线成人网| 亚洲韩国精品一区| 久久久久国色av免费看影院| 欧美午夜影院一区| 国产黄色成人av| 丝袜亚洲另类欧美| 中国av一区二区三区| 5858s免费视频成人| 国产99久久久国产精品免费看| 亚洲大片一区二区三区| 国产日韩亚洲欧美综合| 欧美二区三区的天堂| 91毛片在线观看| 国产精品一区二区在线观看网站| 亚洲在线观看免费| 亚洲国产精品国自产拍av| 91精品国产一区二区三区蜜臀| 91小视频在线| 成人午夜碰碰视频| 精品一区二区三区免费毛片爱 | 欧美日韩久久一区| av一二三不卡影片| 国产精品综合一区二区| 91久久奴性调教| 狠狠色狠狠色合久久伊人| 亚洲国产成人av网| 综合久久一区二区三区| 久久久精品2019中文字幕之3| 欧美高清视频在线高清观看mv色露露十八 | 国产精品网曝门| 精品999在线播放| 欧美日本一区二区三区| 一道本成人在线| av影院午夜一区| 国产激情视频一区二区在线观看 | 亚洲精品一区二区三区蜜桃下载 | 蜜臀av一级做a爰片久久| 亚洲免费观看高清完整版在线| 精品国产伦一区二区三区免费| 69堂精品视频| 欧美日韩亚洲另类| 欧美专区在线观看一区| 91在线一区二区三区| 成人av资源在线观看| 国产乱妇无码大片在线观看| 男女性色大片免费观看一区二区| 一区二区三区四区不卡在线| 中文字幕五月欧美| 国产欧美精品一区aⅴ影院| 欧美mv日韩mv| 欧美一区二区三区视频免费播放| 欧美日韩国产美| 欧美视频中文字幕| 欧美在线视频不卡| 色婷婷综合五月| 日本韩国欧美三级| 91网站在线观看视频| 9久草视频在线视频精品| 不卡一区中文字幕| 99riav久久精品riav| a级精品国产片在线观看| gogogo免费视频观看亚洲一| 99久久国产综合精品麻豆 | 亚洲综合一二三区| 亚洲激情男女视频| 亚洲激情av在线| 亚洲国产成人va在线观看天堂| 性做久久久久久久免费看| 亚洲成在人线免费| 青青草国产成人av片免费| 美日韩一级片在线观看| 国产一区日韩二区欧美三区| 国产成人精品aa毛片| av电影一区二区| 一本色道久久综合亚洲91| 精品视频一区二区三区免费| 欧美美女bb生活片| 日韩精品一区二区三区在线播放|