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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jeg.java

?? peg jump 游戲
?? JAVA
字號(hào):
import java.awt.*;
import java.awt.event.*;
import java.util.*;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JToggleButton;

public class Jeg{
	public static void main(String[] args){
		MyFrame frame=new MyFrame();
	}
}

class MyToggleButton extends JToggleButton{
	public MyToggleButton(ImageIcon ico,ImageIcon ico2){
		setSize(ico.getImage().getWidth(null),ico.getImage().getWidth(null));
		setSelectedIcon(ico2);
		setIcon(ico);
		setMargin(new Insets(0,0,0,0));
		setIconTextGap(0);
		setBorderPainted(false);
		setBorder(null);
		setText(null);
	}
}

class MyPanel extends JPanel{
	private Image img;
	public MyPanel(Image img){
		this.img=img;
		Dimension size=new Dimension(img.getWidth(null),img.getHeight(null));
		setSize(size);
		setPreferredSize(size);
		setMinimumSize(size);
		setMaximumSize(size);
		setLayout(null);
		
	}
	public void paintComponent(Graphics g){
		g.drawImage(img,0,0,null);
	}
}

class MyFrame extends JFrame implements ActionListener{
	MyPanel panel;
	JPanel setpanel;
	JButton setbutton1;
	JButton setbutton2;
	JButton setbutton3;
	JButton setbutton4;
	JButton setbutton5;
	JButton run;
	JButton autoplay;
	JToggleButton play;
	MyToggleButton button[]=new MyToggleButton[33];
	
	Interpeg one;
	boolean runsuccess;
	boolean cleared;
	int selected;
	int buttonnum;
	MyFrame(){
		super("PegJumpGame");
		panel=new MyPanel(new ImageIcon("back.jpg").getImage());
		ImageIcon ico1=new ImageIcon("1.jpg");	//50*50
		ImageIcon ico2=new ImageIcon("2.jpg");
		
		for(int i=0,n=0;i<7;i++){
			for(int j=0;j<7;j++){
				if(i<2 || i>4){
					if(j<2 || j>4) continue;
				}
				button[n]=new MyToggleButton(ico1,ico2);
				panel.add(button[n]);
				button[n].setLocation(j*50+50,i*50+50);
				button[n].addActionListener(this);
				n++;
			}
			
		}
		button[16].setSelected(true);
		setpanel=new JPanel();
		setpanel.setSize(100,200);
		setpanel.setLayout(new GridLayout(8,1));
		panel.add(setpanel);
		setpanel.setLocation(450,50);
		
		setbutton1=new JButton("Set 1");
		setpanel.add(setbutton1);
		setbutton1.addActionListener(this);
		
		setbutton2=new JButton("Set 2");
		setpanel.add(setbutton2);
		setbutton2.addActionListener(this);
		
		setbutton3=new JButton("Set 3");
		setpanel.add(setbutton3);
		setbutton3.addActionListener(this);
		
		setbutton4=new JButton("Set 4");
		setpanel.add(setbutton4);
		setbutton4.addActionListener(this);
		
		setbutton5=new JButton("Set 5");
		setpanel.add(setbutton5);
		setbutton5.addActionListener(this);
		
		run=new JButton("Run");
		setpanel.add(run);
		run.addActionListener(this);
		
		autoplay=new JButton("Autoplay");
		setpanel.add(autoplay);
		autoplay.addActionListener(this);
		autoplay.setEnabled(false);
		
		play=new JToggleButton("Play");
		setpanel.add(play);
		play.addActionListener(this);
		
		getContentPane().add(panel);
		pack();
		setVisible(true);
		
		one=new Interpeg();
		runsuccess=false;
		cleared=true;
		selected=-1;
	}
	
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==setbutton1){
			set1();
		}
		if(e.getSource()==setbutton2){
			set2();
		}
		if(e.getSource()==setbutton3){
			set3();
		}
		if(e.getSource()==setbutton4){
			set4();
		}
		if(e.getSource()==setbutton5){
			set5();
		}
		if(e.getSource()==run && cleared){
			runsuccess=run();
			autoplay.setEnabled(runsuccess);
			cleared=false;
		}
		if(e.getSource()==autoplay && runsuccess){
			autoplay();
		}
		if(e.getSource()!=autoplay && e.getSource()!=run && !cleared){
			one.reset();
			runsuccess=false;
			autoplay.setEnabled(runsuccess);
			cleared=true;
		}
		if(play.isSelected()==true){
			for(buttonnum=0;buttonnum<33;buttonnum++){
				if(e.getSource()==button[buttonnum]) break;
			}
			if(buttonnum<33){
				if(button[buttonnum].isSelected()==false && selected<0)
					button[buttonnum].setSelected(true);
				else if(button[buttonnum].isSelected()==true && selected<0)
					selected=buttonnum;
				else if(button[buttonnum].isSelected()==false && selected>=0){
					int nowx=numtox(buttonnum);
					int nowy=numtoy(buttonnum);
					int oldx=numtox(selected);
					int oldy=numtoy(selected);
					if(canjump(nowx,nowy,oldx,oldy) && button[xytonum((nowx+oldx)/2,(nowy+oldy)/2)].isSelected()==false)
						button[xytonum((nowx+oldx)/2,(nowy+oldy)/2)].setSelected(true);
					else{
						button[buttonnum].setSelected(!button[buttonnum].isSelected());
						button[selected].setSelected(!button[selected].isSelected());
					}
					selected=-1;
				}
				else {
					button[buttonnum].setSelected(!button[buttonnum].isSelected());
					button[selected].setSelected(!button[selected].isSelected());
					selected=-1;
				}
			}
			else if(e.getSource()!=play){
				play.setSelected(false);
			}
		}
		if(play.isSelected()==false) selected=-1;
	}
	
	private void set1(){
		for(int i=0;i<33;i++){
			button[i].setSelected(true);
		}
		button[4].setSelected(false);
		button[8].setSelected(false);
		button[10].setSelected(false);
		button[9].setSelected(false);
		button[16].setSelected(false);
		button[23].setSelected(false);
	}
	
	private void set2(){
		for(int i=0;i<33;i++){
			button[i].setSelected(true);
		}
		button[0].setSelected(false);
		button[1].setSelected(false);
		button[2].setSelected(false);
		button[3].setSelected(false);
		button[4].setSelected(false);
		button[5].setSelected(false);
		button[8].setSelected(false);
		button[9].setSelected(false);
		button[10].setSelected(false);
		button[15].setSelected(false);
		button[17].setSelected(false);
	}
	
	private void set3(){
		for(int i=0;i<33;i++){
			button[i].setSelected(false);
		}
		button[0].setSelected(true);
		button[2].setSelected(true);
		button[6].setSelected(true);
		button[12].setSelected(true);
		button[16].setSelected(true);
		button[20].setSelected(true);
		button[26].setSelected(true);
		button[30].setSelected(true);
		button[32].setSelected(true);
	}
	
	private void set4(){
		for(int i=0;i<33;i++){
			button[i].setSelected(false);
		}
		button[0].setSelected(true);
		button[2].setSelected(true);
		button[6].setSelected(true);
		button[12].setSelected(true);
		button[13].setSelected(true);
		button[14].setSelected(true);
		button[15].setSelected(true);
		button[17].setSelected(true);
		button[18].setSelected(true);
		button[19].setSelected(true);
		button[20].setSelected(true);
		button[21].setSelected(true);
		button[22].setSelected(true);
		button[24].setSelected(true);
		button[25].setSelected(true);
		button[26].setSelected(true);
	}
	
	private void set5(){
		for(int i=0;i<33;i++){
			button[i].setSelected(false);
		}
		button[0].setSelected(true);
		button[1].setSelected(true);
		button[2].setSelected(true);
		button[3].setSelected(true);
		button[5].setSelected(true);
		button[6].setSelected(true);
		button[7].setSelected(true);
		button[11].setSelected(true);
		button[12].setSelected(true);
		button[13].setSelected(true);
		button[19].setSelected(true);
		button[27].setSelected(true);
		button[28].setSelected(true);
		button[29].setSelected(true);
		button[30].setSelected(true);
		button[31].setSelected(true);
		button[32].setSelected(true);
	}
	
	private boolean run(){	
		one.scan();
		boolean r=one.judge();
//		one.printway();
		return r;
	}
	
	private void autoplay(){
		one.move();
	}
	
	private int numtox(int num){
		int x[]={0,0,0,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,6,6,6};
		return x[num];
	}
	
	private int numtoy(int num){
		int y[]={2,3,4,2,3,4,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,2,3,4,2,3,4};
		return y[num];
	}
	
	private boolean canjump(int nowx,int nowy,int oldx,int oldy){
		if( (nowy==oldy) && (nowx-oldx==2 || nowx-oldx==-2) ) return true;
		if( (nowx==oldx) && (nowy-oldy==2 || nowy-oldy==-2) ) return true;
		return false;
	}
			
	private int xytonum(int x,int y){
		if(x==0){
			switch (y){
			case 2:return 0;
			case 3:return 1;
			case 4:return 2;
			}
		}
		if(x==1){
			switch (y){
			case 2:return 3;
			case 3:return 4;
			case 4:return 5;
			}
		}
		if(x==2){
			switch (y){
			case 0:return 6;
			case 1:return 7;
			case 2:return 8;
			case 3:return 9;
			case 4:return 10;
			case 5:return 11;
			case 6:return 12;
			}
		}
		if(x==3){
			switch (y){
			case 0:return 13;
			case 1:return 14;
			case 2:return 15;
			case 3:return 16;
			case 4:return 17;
			case 5:return 18;
			case 6:return 19;
			}
		}
		if(x==4){
			switch (y){
			case 0:return 20;
			case 1:return 21;
			case 2:return 22;
			case 3:return 23;
			case 4:return 24;
			case 5:return 25;
			case 6:return 26;
			}
		}
		if(x==5){
			switch (y){
			case 2:return 27;
			case 3:return 28;
			case 4:return 29;
			}
		}
		if(x==6){
			switch (y){
			case 2:return 30;
			case 3:return 31;
			case 4:return 32;
			}
		}
		return -1;
	}
	
	private class Interpeg
	{
		boolean map[][];
		int num;
		long myset;
		HashSet<Long> set;
		int hs[];
		int ls[];
		int hc[];
		int lc[];
		int hd[];
		int ld[];
		
		int ip;
		int p;
		public Interpeg(){
			int i;
			set=new HashSet<Long>();
			this.map=new boolean[7][];
			for(i=0;i<7;i++){
				map[i]=new boolean[7];
			}
			num=0;
			ip=-1;
			hs=new int [7*7];
			ls=new int [7*7];
			hc=new int [7*7];
			lc=new int [7*7];
			hd=new int [7*7];
			ld=new int [7*7];
			p=0;
		}
		private long changeinto()
		{
			long r=0;
			for(int i=0;i<7;i++)
			{
				for(int j=0;j<7;j++)
				{
					if(i<2 || i>5)
					{
						if(j<2 || j>5) continue;
					}
					r*=2;
					if(map[i][j]) r++;
				}
			}
			return r;
		}
		public void printway(){
			for(int i=0;i<ip;i++){
				System.out.print("("+hs[i]+","+ls[i]+") MOVE TO ("+hd[i]+","+ld[i]+")\n");
			}
		}
		
		public void move(){
			if(p>=ip) return;
			int s,c,d;
			button[xytonum(hs[p],ls[p])].setSelected(true);
			button[xytonum(hc[p],lc[p])].setSelected(true);
			button[xytonum(hd[p],ld[p])].setSelected(false);
			p++;
		}
		public void reset(){
			num=0;
			ip=-1;
			hs=new int [7*7];
			ls=new int [7*7];
			hc=new int [7*7];
			lc=new int [7*7];
			hd=new int [7*7];
			ld=new int [7*7];
			p=0;
			set.clear();
		}
		private void jump(int fromh,int froml,int crossh,int crossl,int toh,int tol)
		{
			map[fromh][froml]=false;
			map[crossh][crossl]=false;
			map[toh][tol]=true;
			hs[ip]=fromh;
			ls[ip]=froml;
			hc[ip]=crossh;
			lc[ip]=crossl;
			hd[ip]=toh;
			ld[ip]=tol;
		}
		private void jumpback(int fromh,int froml,int crossh,int crossl,int toh,int tol)
		{
			map[fromh][froml]=true;
			map[crossh][crossl]=true;
			map[toh][tol]=false;
		}
		private boolean inmap(int h,int l)
		{
			if( (h>=0 && h<7 && l>=0 && l<7) && ((h>1 && h<5) || (l>1 && l<5)) ) return true;
			return false;
		}
		public boolean judge()
		{
			num--;
			ip++;
			if(num==0) return true;
			long temp;

			for(int h=0;h<7;h++)
			{
				for(int l=0;l<7;l++)
				{
					if(map[h][l]==true)
					{
						if(inmap(h+2,l) && map[h+1][l]==true && map[h+2][l]==false) 
						{	
							jump(h,l,h+1,l,h+2,l);
							temp=changeinto();
							if(!set.contains(temp)) 
							{
								if(judge()) return true;
							}
							jumpback(h,l,h+1,l,h+2,l);
						}
						if(inmap(h-2,l) && map[h-1][l]==true && map[h-2][l]==false) 
						{	
							jump(h,l,h-1,l,h-2,l);
							temp=changeinto();
							if(!set.contains(temp)) 
							{
								if(judge()) return true;
							}
							jumpback(h,l,h-1,l,h-2,l);
						}
						if(inmap(h,l+2) && map[h][l+1]==true && map[h][l+2]==false) 
						{	
							jump(h,l,h,l+1,h,l+2);
							temp=changeinto();
							if(!set.contains(temp)) 
							{
								if(judge()) return true;
							}
							jumpback(h,l,h,l+1,h,l+2);
						}
						if(inmap(h,l-2) && map[h][l-1]==true && map[h][l-2]==false) 
						{	
							jump(h,l,h,l-1,h,l-2);
							temp=changeinto();
							if(!set.contains(temp)) 
							{
								if(judge()) return true;
							}
							jumpback(h,l,h,l-1,h,l-2);
						}
					}
				}
			}
			num++;
			ip--;
			set.add(changeinto());
			return false;
		}
		public void scan(){
			for(int i=0,n=0;i<7;i++){
				for(int j=0;j<7;j++){
					if(i<2 || i>4){
						if(j<2 || j>4) {
							map[i][j]=false;
							continue;
						}
					}
					map[i][j]=!button[n++].isSelected();
					if(map[i][j]==true) num++;
				}
			}
		}
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成a天堂v人片| 91免费看`日韩一区二区| 天天综合网 天天综合色| 一区二区三区中文字幕在线观看| 国产精品毛片a∨一区二区三区| 国产亚洲欧洲997久久综合 | 26uuu亚洲综合色| 欧美成人vr18sexvr| 日韩视频一区二区三区在线播放| 欧美一区二区精品| 日韩欧美国产系列| 久久色在线视频| 中文字幕精品三区| 国产精品毛片久久久久久久| 亚洲人成网站在线| 一区二区三区日韩| 亚洲第一电影网| 久久精品国产久精国产| 久久99深爱久久99精品| 国产综合久久久久久久久久久久| 国产精品一区二区你懂的| 国产成人综合在线播放| av欧美精品.com| 欧美在线|欧美| 欧美一区二区三区视频在线| 久久伊99综合婷婷久久伊| 久久精品免费在线观看| 亚洲欧美视频在线观看视频| 亚洲一区二区精品视频| 奇米影视一区二区三区小说| 国产呦萝稀缺另类资源| 成人午夜电影小说| 在线观看视频欧美| 欧美videossexotv100| 国产欧美精品一区二区三区四区 | 最好看的中文字幕久久| 亚洲午夜精品久久久久久久久| 秋霞电影一区二区| 成人免费视频播放| 欧美日韩国产成人在线免费| 欧美mv日韩mv亚洲| 中文字幕在线不卡一区二区三区| 亚洲国产精品一区二区www| 国产一区二区三区日韩| 一本到三区不卡视频| 日韩亚洲欧美中文三级| 国产精品伦理在线| 日本在线不卡一区| 成人精品国产免费网站| 在线播放91灌醉迷j高跟美女 | 久久网站最新地址| 亚洲激情av在线| 韩国av一区二区三区四区| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲日本在线a| 蜜臀久久99精品久久久画质超高清| 高清久久久久久| 欧美一区二区在线免费观看| 中文字幕中文字幕在线一区| 免费黄网站欧美| 色拍拍在线精品视频8848| 欧美videos大乳护士334| 一区二区三区四区国产精品| 国产乱淫av一区二区三区| 欧美三级乱人伦电影| 国产精品久久久久影院老司 | 一本色道久久综合亚洲aⅴ蜜桃| 日韩精品最新网址| 亚洲女人****多毛耸耸8| 国产露脸91国语对白| 在线成人免费视频| 一个色综合av| va亚洲va日韩不卡在线观看| 精品少妇一区二区三区日产乱码| 亚洲综合免费观看高清完整版在线 | 欧美一级欧美一级在线播放| 亚洲靠逼com| 国产suv精品一区二区6| 日韩精品一区二区三区swag | 国产99精品国产| 精品美女被调教视频大全网站| 亚洲国产日产av| 99r国产精品| 亚洲国产精品精华液ab| 国内精品自线一区二区三区视频| 欧美视频精品在线| 亚洲蜜臀av乱码久久精品蜜桃| 国产成人在线视频网址| 久久久久久久久免费| 麻豆高清免费国产一区| 69久久夜色精品国产69蝌蚪网| 一区二区三区在线观看动漫| jlzzjlzz欧美大全| 国产午夜精品久久久久久久| 国产美女精品一区二区三区| 精品sm在线观看| 国产一区二区伦理片| 欧美精品一区二区蜜臀亚洲| 久久国产精品72免费观看| 欧美一区二区福利视频| 日韩国产在线观看| 制服丝袜中文字幕一区| 日韩电影在线免费观看| 欧美一区二区久久| 久久福利视频一区二区| 精品久久久久久亚洲综合网| 激情深爱一区二区| 国产性天天综合网| 国产激情偷乱视频一区二区三区| 久久美女艺术照精彩视频福利播放 | 久久免费国产精品| 国产98色在线|日韩| 中文字幕欧美一| 91丨porny丨首页| 一区二区三区精品视频| 欧美三级韩国三级日本三斤| 爽好久久久欧美精品| 欧美一级欧美一级在线播放| 精品无人区卡一卡二卡三乱码免费卡| 日韩精品一区二区三区视频播放| 国产揄拍国内精品对白| 国产日产欧美精品一区二区三区| 成人一道本在线| 亚洲欧美色综合| 欧美美女一区二区在线观看| 麻豆极品一区二区三区| 久久久久久**毛片大全| 99国产精品久久| 日韩中文字幕一区二区三区| 欧美草草影院在线视频| 国产xxx精品视频大全| 亚洲人成精品久久久久久| 欧美视频日韩视频| 国产呦萝稀缺另类资源| 中文字幕亚洲一区二区va在线| 在线视频欧美精品| 老鸭窝一区二区久久精品| 中日韩av电影| 欧美系列日韩一区| 久久99精品久久久久| 中文字幕日韩欧美一区二区三区| 欧美日本一区二区| 国产精品77777| 亚洲午夜激情网页| 久久久久免费观看| 欧美性一级生活| 黄色日韩三级电影| 亚洲欧美一区二区三区极速播放 | 91亚洲男人天堂| 日韩精品亚洲专区| 欧美国产综合一区二区| 欧美日韩夫妻久久| 男男成人高潮片免费网站| 日韩视频免费直播| 99久久久精品| 老司机精品视频一区二区三区| 亚洲欧洲精品一区二区三区| 91精品国产综合久久精品性色| 国产成人av电影在线播放| 亚洲第一在线综合网站| 欧美国产日韩在线观看| 日韩欧美一区二区三区在线| 波多野结衣视频一区| 美腿丝袜亚洲色图| 一区二区三区四区乱视频| 久久久国产综合精品女国产盗摄| 欧美日韩一区二区三区不卡| 国产99久久久国产精品| 美女免费视频一区| 亚洲成人免费影院| 国产精品久久久久天堂| 精品美女在线播放| 欧美乱妇一区二区三区不卡视频| 99vv1com这只有精品| 国产精品1区2区3区| 日本在线不卡一区| 亚洲午夜久久久久久久久电影院 | 日韩激情一区二区| 亚洲人精品午夜| 国产精品欧美一级免费| 精品国产百合女同互慰| 欧美剧在线免费观看网站 | 欧美一区二区美女| 在线观看视频一区| 91在线观看下载| 国产激情视频一区二区三区欧美 | 欧美一区二区三区免费视频| 欧美在线免费视屏| 99精品视频一区二区| 粉嫩在线一区二区三区视频| 狠狠色综合日日| 老司机精品视频一区二区三区| 丝瓜av网站精品一区二区| 亚洲一区二区三区免费视频| 亚洲欧美日韩国产成人精品影院| 国产精品电影一区二区| 中文字幕巨乱亚洲| 欧美激情一区不卡| 国产欧美精品一区二区色综合| 国产调教视频一区|