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

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

?? a4jpanel.java

?? 一個基于Java的小游戲
?? JAVA
字號:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class A4JPanel extends JPanel implements ActionListener, KeyListener, MouseListener{

	private Rectangle boundary = new Rectangle(10, 10, 450, 450);

	private Wagon wagon;
	private Enemy villain;
	private Timer t;
	private boolean showWelcome;
	private Gold gold;
	private int numberOfGold;
	private int numberOfGoldForVillain; // Counter the number of gold that the villain picked up.
	private Enemy[] thieves;
	private boolean restart = false;

	public A4JPanel() {
		setBackground(Color.white);
		showWelcome = true;
		wagon = new Wagon((boundary.x+boundary.width)/2,(boundary.y+boundary.height)/2);
		villain = new Enemy(20,20,true);
		gold = new Gold(138,255);
		t = new Timer(25,this);
		addMouseListener(this);
		addKeyListener(this);
		villain.setGoldPosition(gold.getCentreX(), gold.getCentreY());
		thieves = new Enemy[2000];

	}

  	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		if(showWelcome){
			showWelcome(g);
		}else{
			g.drawRect(boundary.x, boundary.y, boundary.width, boundary.height);
			g.drawString("Number of gold you\'ve got : " + numberOfGold,260,30);
			g.drawString("Number of gold Villain has got : " + numberOfGoldForVillain,260,50);
			wagon.draw(g);
			villain.draw(g);
			gold.draw(g);
			if(isWagonGotGold()){
				setNewGold();
				gold.draw(g);
			}
			if(isVillainGotGold()){
				creatNewThief();
				setNewGold();
				gold.draw(g);
			}
			for(int i = 0; i < numberOfGoldForVillain; i++){
				thieves[i].draw(g);
			}

			if(isIntersectedWithVillain() || isIntersectedWithThieves()){
				t.stop();
				g.setColor(Color.RED);
				g.setFont(new Font("Arial",Font.BOLD,50));
				g.drawString("GAME OVER!", 80,250);
			}
		}
  	}

  	//The welcome message (front page) of the game.
  	private void showWelcome(Graphics g){
		g.drawRect(boundary.x, boundary.y, boundary.width, boundary.height);
		g.setFont(new Font("Arial", Font.BOLD + Font.ITALIC, 50));
		g.setColor(Color.BLUE);
		g.drawString("GOLD RUSH !",70,100);
		g.setColor(Color.GREEN);
		g.setFont(new Font("Arial",Font.BOLD,18));
		g.drawString("USE ARROW KEYS: Move wagon",90,150);
		g.setColor(Color.ORANGE);
		g.fillRect(20,195,430,70);
		g.setColor(Color.WHITE);
		g.fillRect(25,200,420,60);
		g.setColor(Color.BLACK);
		g.setFont(new Font("Arial",Font.ITALIC + Font.BOLD,15));
		g.drawString("Try to collect as more gold as possible, but be carefull",50,220);
		g.drawString("             to avoid the villain and the thieves...",50,250);
		g.drawString("Please press the mouse button to start this game...",40,400);
	}

  	public void actionPerformed(ActionEvent e){
		wagon.move(boundary);
		villain.move(boundary);
		for(int i = 0; i<numberOfGoldForVillain; i++){
			thieves[i].move(boundary);
		}
		repaint();
	}
  	public void mousePressed(MouseEvent e){
		showWelcome = false;
		requestFocus();
		repaint();
	}
  	public void keyPressed(KeyEvent e){
		if(! isIntersectedWithVillain() && ! isIntersectedWithThieves()){
			t.start();
		}
		if(e.getKeyCode() == KeyEvent.VK_UP){
			wagon.faceUp();
		}
		if(e.getKeyCode() == KeyEvent.VK_DOWN){
			wagon.faceDown();
		}
		if(e.getKeyCode() == KeyEvent.VK_LEFT){
			wagon.faceLeft();
		}
		if(e.getKeyCode() == KeyEvent.VK_RIGHT){
			wagon.faceRight();
		}
	}

	//Test if the gold is contained by the wagon rectangle.
	private boolean isWagonGotGold(){
		Point positionOfGold;
		Rectangle wagonBox;
		positionOfGold = new Point(gold.getCentreX(), gold.getCentreY());
		wagonBox = new Rectangle(wagon.getX(), wagon.getY(), wagon.getSize()*2+1, wagon.getSize()*2+1);
		if(wagonBox.contains(positionOfGold)){
			numberOfGold ++;
			return true;
		}
		return false;
	}

	//Test if the gold is contained by the villain rectangle.
	private boolean isVillainGotGold(){
		Point positionOfGold;
		Rectangle villainBox;
		positionOfGold = new Point(gold.getCentreX(), gold.getCentreY());
		villainBox = new Rectangle(villain.getX(), villain.getY(), villain.getSize()*2+1, villain.getSize()*2+1);
		if(villainBox.contains(positionOfGold)){
			numberOfGoldForVillain ++;
			return true;
		}
		return false;
	}

	//Set the new position and gold.
	private void setNewGold(){
		gold = new Gold((int)(Math.random() * 440 + 10),(int)(Math.random() * 440 + 10));
		villain.setGoldPosition(gold.getCentreX(), gold.getCentreY());
	}


	//Test if the enemies and the wagon have an intersection.
	private boolean isIntersectedWithVillain(){
		Rectangle wagonBox;
		Rectangle villainBox;
		wagonBox = new Rectangle(wagon.getX(),wagon.getY(),wagon.getSize()*2,wagon.getSize()*2);
		villainBox = new Rectangle(villain.getX(), villain.getY(), villain.getSize()*2,villain.getSize()*2);
		if(villainBox.intersects(wagonBox)){
			return true;
		}
		return false;
	}
	private boolean isIntersectedWithThieves(){
		Rectangle wagonBox;
		Rectangle[] thievesBox = new Rectangle[thieves.length];
		wagonBox = new Rectangle(wagon.getX(),wagon.getY(),wagon.getSize()*2,wagon.getSize()*2);
		for(int i = 0; i < numberOfGoldForVillain; i++){
			thievesBox[i] = new Rectangle(thieves[i].getX(),thieves[i].getY(),thieves[i].getSize()*2,thieves[i].getSize()*2);
			if(thievesBox[i].intersects(wagonBox)){
				return true;
			}
		}
		return false;
	}

	//Creat a new thief if the villain pick up a gold every time.
	private void creatNewThief(){
		thieves[numberOfGoldForVillain - 1] = new Enemy(villain.getX(),villain.getY(), false);

	}
//---------------------------------------------------------------------------------------------------
  	public void mouseClicked(MouseEvent e){}
  	public void mouseEntered(MouseEvent e){}
  	public void mouseExited(MouseEvent e){}
  	public void mouseReleased(MouseEvent e){}

  	public void keyReleased(KeyEvent e){}
  	public void keyTyped(KeyEvent e){}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄页毛片网站| 国产在线不卡一卡二卡三卡四卡| 2024国产精品视频| 精品久久免费看| 久久这里只有精品6| 国产亚洲福利社区一区| 精品国产乱码久久久久久蜜臀 | 国产黄色精品视频| 国产精品一卡二| 99视频一区二区三区| 一本一道久久a久久精品| 欧美日韩一区二区三区在线| 欧美另类videos死尸| 欧美一级xxx| 国产精品天美传媒| 怡红院av一区二区三区| 亚洲午夜激情网站| 久久成人精品无人区| 国产精品一区二区久激情瑜伽 | 不卡在线观看av| 色94色欧美sute亚洲线路二| 欧美网站一区二区| 欧美精品一区二区三区视频| 国产精品的网站| 日韩一区欧美二区| 成人国产视频在线观看| 欧美在线观看一区二区| 精品久久久久久久久久久久久久久久久 | 成人国产在线观看| 欧美三级电影精品| 欧美电影免费观看高清完整版在| 亚洲国产激情av| 亚洲成人一二三| 国产大陆a不卡| 欧美日韩亚洲综合一区| 久久日韩精品一区二区五区| 亚洲私人黄色宅男| 久久av中文字幕片| 在线看不卡av| 欧美国产精品劲爆| 日本不卡123| 色欧美片视频在线观看在线视频| 日韩视频免费观看高清完整版在线观看 | caoporen国产精品视频| 日韩一级黄色大片| 一区二区三区91| 成人午夜视频福利| 日韩视频中午一区| 亚洲丶国产丶欧美一区二区三区| 国产福利精品一区二区| 日韩欧美国产麻豆| 亚洲大型综合色站| 日本福利一区二区| 国产精品护士白丝一区av| 精品一区二区精品| 69堂国产成人免费视频| 亚洲免费观看高清完整版在线观看熊 | 亚洲国产欧美日韩另类综合| 懂色av一区二区夜夜嗨| 欧美不卡一区二区三区四区| 亚洲一本大道在线| 色视频成人在线观看免| 欧美激情一区二区三区不卡 | 国产精品2024| 亚洲国产精品精华液ab| 久久超碰97人人做人人爱| 欧美一区二区视频观看视频| 亚洲成在线观看| 欧美私模裸体表演在线观看| 自拍偷拍亚洲欧美日韩| av在线不卡电影| 中文字幕亚洲一区二区av在线| 久久精品国产99久久6| 91精品久久久久久久久99蜜臂| 亚洲综合在线五月| 欧美午夜精品一区二区蜜桃| 亚洲欧美日韩国产一区二区三区| 不卡欧美aaaaa| 日韩美女久久久| 在线观看欧美黄色| 亚洲一区二区三区不卡国产欧美| 91福利视频网站| 亚洲123区在线观看| 欧美久久久久免费| 美女一区二区在线观看| 精品国产乱码久久久久久蜜臀 | 日本女人一区二区三区| 91精品国产综合久久香蕉麻豆| 午夜精品免费在线| 精品久久久久久久久久久久久久久 | 一区二区三区在线观看国产| 一本久道中文字幕精品亚洲嫩| 亚洲高清中文字幕| 欧美大片在线观看一区二区| 国产成人在线视频播放| 最近日韩中文字幕| 8x福利精品第一导航| 国内精品视频666| 综合久久给合久久狠狠狠97色| 欧美性色黄大片手机版| 狠狠色丁香九九婷婷综合五月| 国产精品久久久久久亚洲伦 | 狠狠色丁香婷婷综合| 亚洲私人黄色宅男| 91精品国产黑色紧身裤美女| 国产91高潮流白浆在线麻豆| 亚洲一区二区三区在线看| 精品国产一区二区三区四区四| 成人精品在线视频观看| 亚洲成av人片在线观看无码| 久久精品欧美日韩| 欧美日韩一二三区| 成人福利视频在线看| 视频一区欧美精品| 亚洲人成亚洲人成在线观看图片| 精品三级在线看| 在线观看网站黄不卡| 国产成人在线观看免费网站| 午夜精品一区二区三区电影天堂| 国产精品网站在线| 精品国产免费视频| 欧美日韩国产a| 色狠狠色狠狠综合| 成人性色生活片| 狠狠色丁香久久婷婷综| 日韩精品午夜视频| 亚洲二区视频在线| 中文字幕一区视频| 国产色综合久久| 日韩精品一区二区三区蜜臀 | 亚洲午夜成aⅴ人片| 国产视频视频一区| 精品国产91亚洲一区二区三区婷婷| 欧美亚州韩日在线看免费版国语版| 懂色av一区二区夜夜嗨| 加勒比av一区二区| 男女性色大片免费观看一区二区| 一区二区三区欧美久久| 亚洲欧洲中文日韩久久av乱码| 国产精品女人毛片| 中文字幕免费观看一区| 国产拍揄自揄精品视频麻豆| 亚洲精品一线二线三线| 精品国产乱码久久久久久夜甘婷婷| 91精品国产色综合久久不卡蜜臀| 精品视频一区二区不卡| 欧美写真视频网站| 欧美精品高清视频| 欧美一区二区在线观看| 91精品国产欧美一区二区18| 在线成人av影院| 欧美一卡二卡在线| 日韩视频永久免费| 亚洲精品在线观看网站| 欧美精彩视频一区二区三区| 亚洲国产精品ⅴa在线观看| 国产精品欧美久久久久无广告 | 亚洲综合一二区| 亚洲狼人国产精品| 亚洲午夜私人影院| 天堂在线亚洲视频| 人人狠狠综合久久亚洲| 麻豆一区二区在线| 国产一区二区视频在线| 成人av中文字幕| 欧美综合在线视频| 日韩一区二区影院| 国产日产欧美一区二区视频| 一区精品在线播放| 亚洲va国产天堂va久久en| 青青草97国产精品免费观看无弹窗版| 老司机一区二区| 成人激情视频网站| 欧美伊人久久久久久午夜久久久久| 欧美日韩国产精品成人| 欧美成人女星排行榜| 中文久久乱码一区二区| 亚洲一区在线观看免费观看电影高清| 日本最新不卡在线| 福利电影一区二区三区| 在线精品视频一区二区| 日韩免费视频一区二区| 国产精品乱人伦中文| 日韩av中文字幕一区二区| 国产成人在线看| 在线不卡欧美精品一区二区三区| 精品国产91洋老外米糕| 一区二区三国产精华液| 国产精品一品视频| 欧美日韩在线不卡| 国产精品色一区二区三区| 日韩在线一区二区| 99久久亚洲一区二区三区青草| 欧美巨大另类极品videosbest| 国产女同性恋一区二区| 日韩av中文字幕一区二区三区| 91一区一区三区| 久久精品亚洲一区二区三区浴池| 亚洲va韩国va欧美va| 色综合色综合色综合色综合色综合 |