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

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

?? play.java

?? JAVA打字程序,通過它可以方便地學(xué)習(xí)多線程,java swing 編程
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package type;

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
import java.net.URL;


class GamePanel extends JPanel implements Runnable{
	static String str="synchronized";
	//Syn syn=new Syn();
	static int allCharCount;//最一次最多在Frame上顯示的字符數(shù)
	static int MaxCharCount=5;//最大的字符個數(shù)
	static int MaxBallCount=3;//屏幕是的最大彩球數(shù)量
	static boolean GameOver=false;//游戲是否結(jié)束
	private int hasBallCount;//屏幕中現(xiàn)在彩球數(shù)量
	private static int speed;//速度
	private static int baseSpeed;//基本速度
	private static int start_pos;//開始位置
	private static int stupSpeed=1;//速度增量
	private static int maxSpeed=12;//最大速度
	private boolean isDown=false;//是否可以下落
	static Image img;
	static AudioClip mySong;
	static AudioClip chomp;//矩形被吃的聲音
	static AudioClip dangerMusic;//危險提示音
	static AudioClip gameOver;//游戲結(jié)束音
	static int dangerDistance=100;//提示距離
	private boolean flag=false;//是否在可顯示區(qū)域內(nèi)
	private static int reshTime;//刷新時間
	private char int_char;//字符
	private int pos;//位置
	private Thread thread=null;
	private  int showAllCount;//面板總共顯示的字符數(shù)
	private  int hitsCount;//被擊落的字符數(shù)
	boolean imageflag=false;
	private int this_width;
	private int this_heigth;
	private static Font this_font=new Font("Arial",Font.BOLD,20);
	public static Random random=new Random();
	
	
	public static void reSetStaticCount(){
		GamePanel.allCharCount=0;
		GamePanel.GameOver=false;
	}
	public static void setMusic(){
		img=Toolkit.getDefaultToolkit().getImage("explode.gif");
		
		try{
			Class this_class;
			this_class=Class.forName("GamePanel");
			
			URL this_url_over=this_class.getResource("gameover.wav");
			gameOver=Applet.newAudioClip(this_url_over);
			
			URL this_url=this_class.getResource("firework.au");
			mySong=Applet.newAudioClip(this_url);
			
			URL this_url_chomp=this_class.getResource("chomp.au");
			chomp=Applet.newAudioClip(this_url_chomp);
			
			URL this_url_danger=this_class.getResource("danger.au");
			dangerMusic=Applet.newAudioClip(this_url_danger);
			
		}catch(Exception e){
			e.printStackTrace();
		}	
	}
	public GamePanel(String title,int reshTime,int speed){
		super();
		this.setName(title);
		this.reshTime=reshTime*100;
		this.speed=speed;
		this.baseSpeed=speed;
		this.hasBallCount=GamePanel.MaxBallCount;
		start_pos=5;
		this.setFont(GamePanel.this_font);
	}
	       
	public GamePanel(String title){
		this(title,1,2);
	}
	
	public void run(){
		while(true){
			System.out.println(Thread.currentThread().getName()+"運(yùn)行中");
			
			this.setPostion();
			this.repaint();
			
			try{
				Thread.sleep(reshTime);
			}
			catch(Exception e){
				e.printStackTrace();
			}		
		}
	}
	
	
	
	private void setPostion(){
		if(GamePanel.GameOver){
			this.Reset();//游戲結(jié)束
			return;
		}
		System.out.println("字符數(shù):"+GamePanel.allCharCount);
		
		if(this.canDown()){
			pos=pos+speed;
			if(pos>=start_pos&&flag==false){
				this.showAllCount++;
				flag=true;
			}
			if(this.IsDanger()){
				chomp.play();
				if(--this.hasBallCount<1){
					GamePanel.GameOver=true;
				}
				this.Reset();
			}
		}
	}
	
	public void paintComponent(Graphics g){
		super.paintComponent(g);
		
		if(this.hasNomarl()){
			g.setColor(new Color(random.nextInt(255),random.nextInt(255),random.nextInt(255)));
			
			if(this.imageflag){
				g.drawImage(img,(this.getWidth()/2-10),pos-10,20,20,null);
				mySong.play();
				this.hitsCount++;
				this.Reset();
				imageflag=false;
			}else{
				g.drawString(String.valueOf((char)this.int_char),this.getWidth()/2,pos);
			}
			
		}
		//畫彩球
		g.setColor(Color.GREEN);
		int this_x,this_y;
		this_width=this.getWidth()-10;
		this_heigth=15;
		this_x=(this.getWidth()-this_width)/2;
		
		for(int i=0;i<this.hasBallCount;i++){
			this_y=this.getHeight()-this_heigth*(i+1)-10;
			
			if((this_y-this.pos)<=GamePanel.dangerDistance){
				dangerMusic.play();
				g.setColor(new Color(random.nextInt(255),random.nextInt(255),random.nextInt(255)));
			}
			
			g.fill3DRect(this_x,this_y,this_width,this_heigth,true);
		}	
	}
	
	public boolean hasNomarl(){
		if(pos>=start_pos&&pos<=this.getHeight()){
			return true;
		}
		return false;
	}
	
	public void Reset(){
		if(GamePanel.allCharCount>0)
			GamePanel.allCharCount--;
		this.pos=0;
		flag=false;
		this.setRandomChar();
	   	//System.out.println("字符數(shù):"+GamePanel.allCharCount);
	}
	
	
	public void Down(boolean isDown){
		this.isDown=isDown;
	}
	public boolean getDown(){
		return this.isDown;
	}
	public void start(){
		if(thread!=null){
			return;
		}
		
		this.hitsCount=0;
		this.showAllCount=0;
		this.setRandomChar();
		
		thread=new Thread(this);
		thread.start();
		
	}
	
	public void resume() {
		if(thread!=null){
			thread.resume();
		}
	}
	
	public void suspend(){
		if(thread!=null){
			thread.suspend();
		}
		
	}
	public void stop(){
		if(thread!=null){
			this.int_char=32;//空格
			this.pos=0;
			this.hasBallCount=this.MaxBallCount;
			thread.stop();
			thread=null;
			this.repaint();
			
			System.out.println("線程關(guān)閉:");
			if(thread==null){
				System.out.println("thread=null");
			}
		}
	}
	public int getPos(){
		return this.pos;
	}
	public char getChar(){
		return this.int_char;
	}
	
	public static boolean addSpeed(int level){
		if((GamePanel.baseSpeed+GamePanel.stupSpeed*level)>GamePanel.maxSpeed){
			return false;
		}
		GamePanel.speed=GamePanel.baseSpeed+GamePanel.stupSpeed*level;
		return true;
	}
	public int getShowAllCount(){
		return this.showAllCount;
	}
	public int getHitsCount(){
		return this.hitsCount;
	}
	
	
	
	private boolean IsDanger(){
		if((pos>=(this.getHeight()-this_heigth*this.hasBallCount-10))&&flag==true){
			return true;
		}
		return false;
	}
	private boolean canDown(){
		synchronized(GamePanel.str){
			if(this.pos!=0&&!this.imageflag&&this.isDown){
				return true;
			}
			if(this.pos==0&&GamePanel.allCharCount<MaxCharCount&&this.isDown){
				GamePanel.allCharCount++;
				System.out.println("Char : "+String.valueOf((char)this.int_char)+" : pos"+this.pos+" allCharCount:"+GamePanel.allCharCount);
				return true;
			}
	
			return false;
		}
	}
	
	
	
	private void setRandomChar(){
		int temp;
		while(true){
			temp=random.nextInt(255);
			if((48<=temp&&temp<=57)||(temp>=65&&temp<=90)||(temp>=97&&temp<=122)){
				this.int_char=(char)temp;
				break;
			}
		}
	}
	private void explode(Graphics g){
	
	}
	private void paintGlobule(Graphics g){
		
	}
	
	
	
}
	
	
public class Play extends JFrame{
	Container c=null;
	GamePanel[] games;
	JLabel[] labels;
	JButton jbtn_start;
	JButton	jbtn_set;
	JButton jbtn_pause;
	JButton	jbtn_exit;
	private long startTime;//開始游戲時間
	private long currentTime;//當(dāng)前時間
	private URL this_url=null;//按鍵錯誤提示聲地址
	private AudioClip errSound=null;//按鍵錯誤提示聲
	private AudioClip backSound=null;
	static AudioClip startMusic;//游戲開始音
	static AudioClip addLevel;//玩家升級音
	static AudioClip subLevel;//玩家降級音
	int curLevel;//玩家當(dāng)前的級別
	int rate;	//分?jǐn)?shù)
	int time;	//時間
	int mark;	//記分
	int level;	//級別
	int errCount;//錯誤
	int baseMark=20;//系統(tǒng)默認(rèn)值分?jǐn)?shù)大于此值時則增加速度
	private boolean IsStarted=false;//是否開始游戲

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲综合在线 欧美亚洲特黄一级| 在线成人午夜影院| 国产精品77777竹菊影视小说| 免费美女久久99| 麻豆国产91在线播放| 麻豆精品在线播放| 视频在线在亚洲| 日韩av不卡在线观看| 日本成人在线一区| 九一九一国产精品| 国产精品1区2区| 大胆欧美人体老妇| 不卡的av电影| 欧美影院一区二区| 在线成人av网站| 日韩欧美在线一区二区三区| 欧美mv日韩mv国产网站app| 久久综合九色综合97婷婷| 久久久久国色av免费看影院| 中文字幕 久热精品 视频在线| 国产精品情趣视频| 亚洲一区二区精品久久av| 日韩精品成人一区二区三区| 久久国产麻豆精品| 成人免费毛片嘿嘿连载视频| 91亚洲国产成人精品一区二区三 | 国产精一品亚洲二区在线视频| 国产精品18久久久久久久网站| 成人黄色国产精品网站大全在线免费观看 | 亚洲特级片在线| 一区二区三区鲁丝不卡| 日韩av二区在线播放| 国产精品18久久久久久久久 | 成人污视频在线观看| 色999日韩国产欧美一区二区| 制服丝袜日韩国产| 久久久青草青青国产亚洲免观| 国产精品久久久久aaaa| 亚洲一区二区三区四区在线| 乱一区二区av| 97久久久精品综合88久久| 欧美电影在线免费观看| 中文字幕精品三区| 视频一区中文字幕国产| 国产成人精品免费网站| 欧美中文字幕不卡| 久久久国产精品午夜一区ai换脸| 日韩一区在线播放| 蜜臀av一级做a爰片久久| 成人av综合一区| 欧美一区二区三区电影| 国产精品二三区| 激情久久五月天| 欧美性大战xxxxx久久久| 国产婷婷色一区二区三区| 亚洲国产精品尤物yw在线观看| 国产精品中文欧美| 欧美精品自拍偷拍动漫精品| 国产精品家庭影院| 久久成人久久鬼色| 欧洲精品一区二区| 国产亚洲精品精华液| 婷婷激情综合网| 97精品电影院| 国产日韩一级二级三级| 人禽交欧美网站| 在线日韩av片| 亚洲欧洲成人自拍| 国产米奇在线777精品观看| 精品视频全国免费看| 国产精品国产a级| 国产一区二区三区| 这里只有精品免费| 樱花影视一区二区| 国产91精品一区二区麻豆亚洲| 日韩一区二区在线看| 亚洲制服丝袜av| 91免费精品国自产拍在线不卡| 久久久久88色偷偷免费 | 欧美男人的天堂一二区| 中文字幕一区二区三区不卡在线 | 国产精品中文字幕日韩精品| 日韩美女一区二区三区四区| 午夜av一区二区三区| 色香色香欲天天天影视综合网| 国产三级精品视频| 国产精品18久久久久| 精品国产乱子伦一区| 日韩二区在线观看| 欧美日韩国产高清一区二区 | 亚洲免费大片在线观看| 丁香六月久久综合狠狠色| 欧美精品一区二区三区一线天视频 | 国产欧美视频一区二区| 久久国产尿小便嘘嘘| 欧美大度的电影原声| 麻豆久久一区二区| 日韩免费福利电影在线观看| 另类中文字幕网| 精品国产乱子伦一区| 国产一区二区三区av电影| 久久久久青草大香线综合精品| 寂寞少妇一区二区三区| 欧美精品一区二区高清在线观看| 蜜桃久久久久久| wwwwxxxxx欧美| 国产成人综合网站| 亚洲国产岛国毛片在线| 成人毛片视频在线观看| 中文字幕亚洲不卡| 日本久久一区二区| 亚洲成人自拍网| 91精品国产色综合久久不卡蜜臀 | 色婷婷狠狠综合| 一区二区三区蜜桃| 制服视频三区第一页精品| 麻豆一区二区三区| 国产欧美一区二区三区网站| 91在线一区二区| 午夜视频在线观看一区二区三区| 777奇米四色成人影色区| 久久疯狂做爰流白浆xx| 国产欧美日韩中文久久| 91丨九色丨蝌蚪丨老版| 天堂蜜桃一区二区三区| 26uuu欧美日本| 不卡的电影网站| 亚洲国产精品视频| 精品成人免费观看| 99热在这里有精品免费| 亚洲成在线观看| 久久午夜羞羞影院免费观看| 不卡视频在线观看| 午夜视频一区在线观看| 精品国产99国产精品| 91麻豆高清视频| 日本人妖一区二区| 国产精品伦理在线| 制服丝袜亚洲色图| 成人精品一区二区三区中文字幕| 亚洲黄色片在线观看| 亚洲精品一区二区三区在线观看 | 91精品国产乱码久久蜜臀| 国产一区不卡在线| 亚洲一区在线观看免费观看电影高清| 欧美一级免费观看| 不卡一区在线观看| 日韩精品一级中文字幕精品视频免费观看| 精品日韩99亚洲| 色综合视频一区二区三区高清| 日韩高清不卡一区| 国产精品剧情在线亚洲| 欧美一级欧美一级在线播放| 99精品欧美一区二区三区小说| 日韩福利视频导航| 亚洲日本在线天堂| 久久综合九色综合久久久精品综合| 色综合久久中文综合久久97| 久久99精品久久久久久国产越南 | 欧美mv日韩mv亚洲| 欧美伊人久久大香线蕉综合69| 国产伦理精品不卡| 亚洲第一主播视频| 国产精品久久久久久亚洲毛片 | 99久久久久免费精品国产| 日韩福利电影在线| 依依成人综合视频| 中文字幕av一区二区三区免费看| 6080日韩午夜伦伦午夜伦| 91免费看片在线观看| 国产91精品免费| 久久成人18免费观看| 丝袜美腿亚洲色图| 亚洲精品视频一区二区| 欧美激情中文不卡| 久久亚洲一区二区三区明星换脸 | 精品卡一卡二卡三卡四在线| 在线观看欧美精品| 91污在线观看| 成人在线综合网站| 国产一区亚洲一区| 久久99精品一区二区三区| 日韩精品每日更新| 亚洲国产成人91porn| 一区二区三区在线视频观看| 欧美国产成人精品| 久久亚洲捆绑美女| 日韩免费视频一区二区| 91精品国产免费| 91精品婷婷国产综合久久竹菊| 色8久久人人97超碰香蕉987| 99久久精品免费观看| 成人午夜激情视频| 国产成人免费视频网站高清观看视频| 免费观看久久久4p| 奇米精品一区二区三区在线观看| 亚洲国产精品久久久男人的天堂| 一区二区久久久| 一区二区三区在线视频免费| 一区二区三区在线播|