package 程式碼部分;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Random;
public class TestGamePanel extends JPanel implements KeyListener, ActionListener {
//初始化人物座標
int p1X;
int p1Y;
int p2X;
int p2Y;
boolean isStart = false; //遊戲是否開始
boolean p1isFail = false; //遊戲是否失敗
boolean p2isFail = false;
String fx1; //左:L, 右:R, 上:U, 下:D
String fx2;
Timer timer = new Timer(50,this);//定時器
//積分
int p1score = 0;
int p2score = 0;
//蘋果
int AppleX;
int AppleY;
//怪物
int monster1X;
int monster1Y;
int monster2X;
int monster2Y;
int monster3X;
int monster3Y;
int monster4X;
int monster4Y;
int monster5X;
int monster5Y;
//隨機積分
Random random = new Random();
public TestGamePanel() {
init();
this.setFocusable(true);
this.addKeyListener(this);
timer.start();
}
//初始化
public void init() {
p1X = 25;
p1Y = 150;
p2X = 700;
p2Y = 550;
fx1 = "L";
fx2 = "R";
monster1X = 25*random.nextInt(28);
monster1Y = 100 + 25*random.nextInt(18);
monster2X = 25*random.nextInt(28);
monster2Y = 100 + 25*random.nextInt(18);
monster3X = 25*random.nextInt(28);
monster3Y = 100 + 25*random.nextInt(18);
monster4X = 25*random.nextInt(28);
monster4Y = 100 + 25*random.nextInt(18);
monster5X = 25*random.nextInt(28);
monster5Y = 100 + 25*random.nextInt(18);
AppleX = 25*random.nextInt(28);
AppleY = 100 + 25*random.nextInt(18);
add(kaishi);
add(chongkai);
guize.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new TestGameRule();
});
//遊戲功能按鈕
JButton kaishi = new JButton("開始");
JButton chongkai = new JButton("重新開始");
JButton guize = new JButton("遊戲規則");
//畫板
protected void paintComponent(Graphics g) {
super.paintComponent(g);
TestGameData.header.paintIcon(this,g,0,0);
g.setColor(Color.CYAN);
g.fillRect(0,100,780,520);
//畫人物
TestGameData.p1player1.paintIcon(this,g,p1X,p1Y);
TestGameData.p2player1.paintIcon(this,g,p2X,p2Y);
//畫得分
g.setFont(new Font("華文彩雲",Font.BOLD,18)); //設定字型
g.setColor(Color.RED);
g.drawString("玩家1:" + p1score,20,20 );
g.drawString("玩家2:" + p2score,680,20);
//畫蘋果
TestGameData.apple.paintIcon(this,g,AppleX,AppleY);
//畫靜態怪物
TestGameData.monster.paintIcon(this,g,monster1X,monster1Y);
TestGameData.monster.paintIcon(this,g,monster2X,monster2Y);
TestGameData.monster.paintIcon(this,g,monster3X,monster3Y);
TestGameData.monster.paintIcon(this,g,monster4X,monster4Y);
TestGameData.monster.paintIcon(this,g,monster5X,monster5Y);
//遊戲提示,是否開始
if(!isStart) {
g.setColor(Color.BLACK);
g.setFont(new Font("華文彩雲",Font.BOLD,30));
g.drawString("請點選開始遊戲",300,300);
//遊戲結束提示,是否重新開始
if(p2isFail || p1score == 15) {
g.drawString("玩家一獲勝,請點選重新開始遊戲",200,300);
if(p1isFail || p2score == 15) {
g.drawString("玩家二獲勝,請點選重新開始遊戲",200,300);
//鍵盤監聽事件
public void keyPressed(KeyEvent e) {
//控制人物走動
//玩家1
if(isStart == true && (p1isFail == false && p2isFail == false)) {
if(e.getKeyCode() == KeyEvent.VK_D) {
fx1 = "R";
p1X += 25;
if(p1X >= 750) {p1X = 750;}
else if(e.getKeyCode() == KeyEvent.VK_A) {
p1X -= 25;
if(p1X <= 0) {p1X = 0;}
else if(e.getKeyCode() == KeyEvent.VK_W) {
fx1 = "U";
p1Y -= 25;
if(p1Y <= 100) {p1Y = 100;}
else if(e.getKeyCode() == KeyEvent.VK_S) {
fx1 = "D";
p1Y += 25;
if(p1Y >= 600) {p1Y = 600;}
//玩家2
if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
p2X += 25;
if(p2X >= 750) {p2X = 750;}
else if(e.getKeyCode() == KeyEvent.VK_LEFT) {
fx2 = "L";
p2X -= 25;
if(p2X <= 0) {p2X = 0;}
else if(e.getKeyCode() == KeyEvent.VK_UP) {
fx2 = "U";
p2Y -= 25;
if(p2Y <= 100) {p2Y = 100;}
else if(e.getKeyCode() == KeyEvent.VK_DOWN) {
fx2 = "D";
p2Y += 25;
if(p2Y >= 600) {p2Y = 600;}
repaint();
kaishi.addActionListener(new ActionListener() {
isStart = true;
chongkai.addActionListener(new ActionListener() {
if(p1isFail) { p1isFail = !p1isFail; init(); }
if(p2isFail) { p2isFail = !p2isFail; init(); }
add(guize);
//讓人動起來
if(fx1.equals("R")) {
if(p1X >= 750) { p1X = 750; }
if(fx1.equals("L")) {
if(p1X <= 0) { p1X = 0; }
if(fx1.equals("U")) {
if(p1Y <= 100) { p1Y = 100; }
if(fx1.equals("D")) {
if(p1Y >= 600) { p1Y = 600; }
if(fx2.equals("R")) {
if(p2X >= 750) { p2X = 750; }
if(fx2.equals("L")) {
if(p2X <= 0) { p2X = 0; }
if(fx2.equals("U")) {
if(p2Y <= 100) { p2Y = 100; }
if(fx2.equals("D")) {
if(p2Y >= 600) { p2Y = 600; }
//讓怪物動起來
//怪物1
int i = random.nextInt(4) + 1;
if(i == 1) {
monster1X += 5;
if(monster1X >= 750) {monster1X = 750;}
if(i == 2) {
monster1X -= 5;
if(monster1X <= 0) {monster1X = 0;}
if(i == 3) {
monster1Y += 5;
if(monster1Y >= 600) {monster1Y = 600;}
if(i == 4) {
monster1Y -= 5;
if(monster1Y <= 100) {monster1Y = 100;}
//怪物2
int j = random.nextInt(4) + 1;
if(j == 1) {
monster2X += 5;
if(monster2X >= 750) {monster2X = 750;}
if(j == 2) {
monster2X -= 5;
if(monster2X <= 0) {monster2X = 0;}
if(j == 3) {
monster2Y += 5;
if(monster2Y >= 600) {monster2Y = 600;}
if(j == 4) {
monster2Y -= 5;
if(monster2Y <= 100) {monster2Y = 100;}
//怪物3
int k = random.nextInt(4) + 1;
if(k == 1) {
monster3X += 5;
if(monster3X >= 750) {monster3X = 750;}
if(k == 2) {
monster3X -= 5;
if(monster3X <= 0) {monster3X = 0;}
if(k == 3) {
monster3Y += 5;
if(monster3Y >= 600) {monster3Y = 600;}
if(k == 4) {
monster3Y -= 5;
if(monster3Y <= 100) {monster3Y = 100;}
//怪物4
int n= random.nextInt(4) + 1;
if(n == 1) {
monster4X += 5;
if(monster4X >= 750) {monster4X = 750;}
if(n == 2) {
monster4X -= 5;
if(monster4X <= 0) {monster4X = 0;}
if(n == 3) {
monster4Y += 5;
if(monster4Y >= 600) {monster4Y = 600;}
if(n == 4) {
monster4Y -= 5;
if(monster4Y <= 100) {monster4Y = 100;}
//怪物5
int m = random.nextInt(4) + 1;
if(m == 1) {
monster5X += 5;
if(monster5X >= 750) {monster5X = 750;}
if(m == 2) {
monster5X -= 5;
if(monster5X <= 0) {monster5X = 0;}
if(m == 3) {
monster5Y += 5;
if(monster5Y >= 600) {monster5Y = 600;}
if(m == 4) {
monster5Y -= 5;
if(monster5Y <= 100) {monster5Y = 100;}
//如果有玩家吃到食物
if(p1X == AppleX && p1Y == AppleY) {
p1score++;
} else if(p2X == AppleX && p2Y == AppleY) {
p2score++;
//如果有玩家碰到怪物,判定死亡,遊戲結束 後續有修改,暫用
//怪物1死亡
if(p1X >= monster1X -25 && p1X <= monster1X +25) {
if(p1Y == monster1Y) { p1isFail = !p1isFail; p1score = p2score = 0;}
if(p1Y >= monster1Y -25 && p1Y <= monster1Y +25) {
if(p1X == monster1X) { p1isFail = !p1isFail; p1score = p2score = 0;}
if(p2X >= monster1X -25 && p2X <= monster1X +25) {
if(p2Y == monster1Y) { p2isFail = !p2isFail; p1score = p2score = 0;}
if(p2Y >= monster1Y -25 && p2Y <= monster1Y +25) {
if(p2X == monster1X) { p2isFail = !p2isFail; p1score = p2score = 0;}
//怪物2死亡
if(p1X >= monster2X -25 && p1X <= monster2X +25) {
if(p1Y == monster2Y) { p1isFail = !p1isFail; p1score = p2score = 0;}
if(p1Y >= monster2Y -25 && p1Y <= monster2Y +25) {
if(p1X == monster2X) { p1isFail = !p1isFail; p1score = p2score = 0;}
if(p2X >= monster2X -25 && p2X <= monster2X +25) {
if(p2Y == monster2Y) { p2isFail = !p2isFail; p1score = p2score = 0;}
if(p2Y >= monster2Y -25 && p2Y <= monster2Y +25) {
if(p2X == monster2X) { p2isFail = !p2isFail; p1score = p2score = 0;}
//怪物3死亡
if(p1X >= monster3X -25 && p1X <= monster3X +25) {
if(p1Y == monster3Y) { p1isFail = !p1isFail; p1score = p2score = 0;}
if(p1Y >= monster3Y -25 && p1Y <= monster3Y +25) {
if(p1X == monster3X) { p1isFail = !p1isFail; p1score = p2score = 0;}
if(p2X >= monster3X -25 && p2X <= monster3X +25) {
if(p2Y == monster3Y) { p2isFail = !p2isFail; p1score = p2score = 0;}
if(p2Y >= monster3Y -25 && p2Y <= monster3Y +25) {
if(p2X == monster3X) { p2isFail = !p2isFail; p1score = p2score = 0;}
//怪物4死亡
if(p1X >= monster4X -25 && p1X <= monster4X +25) {
if(p1Y == monster4Y) { p1isFail = !p1isFail; p1score = p2score = 0;}
if(p1Y >= monster4Y -25 && p1Y <= monster4Y +25) {
if(p2X >= monster4X -25 && p2X <= monster4X +25) {
if(p2Y == monster4Y) { p2isFail = !p2isFail; p1score = p2score = 0;}
if(p2Y >= monster4Y -25 && p2Y <= monster4Y +25) {
if(p2X == monster4X) { p2isFail = !p2isFail; p1score = p2score = 0;}
//怪物5死亡
if(p1X >= monster5X -25 && p1X <= monster5X +25) {
if(p1Y == monster5Y) { p1isFail = !p1isFail; p1score = p2score = 0;}
if(p1Y >= monster5Y -25 && p1Y <= monster5Y +25) {
if(p1X == monster5X) { p1isFail = !p1isFail; p1score = p2score = 0;}
if(p2X >= monster5X -25 && p2X <= monster5X +25) {
if(p2Y == monster5Y) { p2isFail = !p2isFail; p1score = p2score = 0;}
if(p2Y >= monster5Y -25 && p2Y <= monster5Y+25) {
if(p2X == monster5X) { p2isFail = !p2isFail; p1score = p2score = 0;}
//如果有玩家達到指定積分,判定獲勝,遊戲結束
if(p1score == 15) { p2isFail = !p2isFail; }
if(p2score == 15) { p1isFail = !p1isFail; }
public void keyTyped(KeyEvent e) {
public void keyReleased(KeyEvent e) {
package 程式碼部分;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Random;
public class TestGamePanel extends JPanel implements KeyListener, ActionListener {
//初始化人物座標
int p1X;
int p1Y;
int p2X;
int p2Y;
boolean isStart = false; //遊戲是否開始
boolean p1isFail = false; //遊戲是否失敗
boolean p2isFail = false;
String fx1; //左:L, 右:R, 上:U, 下:D
String fx2;
Timer timer = new Timer(50,this);//定時器
//積分
int p1score = 0;
int p2score = 0;
//蘋果
int AppleX;
int AppleY;
//怪物
int monster1X;
int monster1Y;
int monster2X;
int monster2Y;
int monster3X;
int monster3Y;
int monster4X;
int monster4Y;
int monster5X;
int monster5Y;
//隨機積分
Random random = new Random();
public TestGamePanel() {
init();
this.setFocusable(true);
this.addKeyListener(this);
timer.start();
}
//初始化
public void init() {
p1X = 25;
p1Y = 150;
p2X = 700;
p2Y = 550;
fx1 = "L";
fx2 = "R";
monster1X = 25*random.nextInt(28);
monster1Y = 100 + 25*random.nextInt(18);
monster2X = 25*random.nextInt(28);
monster2Y = 100 + 25*random.nextInt(18);
monster3X = 25*random.nextInt(28);
monster3Y = 100 + 25*random.nextInt(18);
monster4X = 25*random.nextInt(28);
monster4Y = 100 + 25*random.nextInt(18);
monster5X = 25*random.nextInt(28);
monster5Y = 100 + 25*random.nextInt(18);
AppleX = 25*random.nextInt(28);
AppleY = 100 + 25*random.nextInt(18);
add(kaishi);
add(chongkai);
guize.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new TestGameRule();
}
});
}
//遊戲功能按鈕
JButton kaishi = new JButton("開始");
JButton chongkai = new JButton("重新開始");
JButton guize = new JButton("遊戲規則");
//畫板
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
TestGameData.header.paintIcon(this,g,0,0);
g.setColor(Color.CYAN);
g.fillRect(0,100,780,520);
//畫人物
TestGameData.p1player1.paintIcon(this,g,p1X,p1Y);
TestGameData.p2player1.paintIcon(this,g,p2X,p2Y);
//畫得分
g.setFont(new Font("華文彩雲",Font.BOLD,18)); //設定字型
g.setColor(Color.RED);
g.drawString("玩家1:" + p1score,20,20 );
g.drawString("玩家2:" + p2score,680,20);
//畫蘋果
TestGameData.apple.paintIcon(this,g,AppleX,AppleY);
//畫靜態怪物
TestGameData.monster.paintIcon(this,g,monster1X,monster1Y);
TestGameData.monster.paintIcon(this,g,monster2X,monster2Y);
TestGameData.monster.paintIcon(this,g,monster3X,monster3Y);
TestGameData.monster.paintIcon(this,g,monster4X,monster4Y);
TestGameData.monster.paintIcon(this,g,monster5X,monster5Y);
//遊戲提示,是否開始
if(!isStart) {
g.setColor(Color.BLACK);
g.setFont(new Font("華文彩雲",Font.BOLD,30));
g.drawString("請點選開始遊戲",300,300);
}
//遊戲結束提示,是否重新開始
if(p2isFail || p1score == 15) {
g.setColor(Color.RED);
g.setFont(new Font("華文彩雲",Font.BOLD,30));
g.drawString("玩家一獲勝,請點選重新開始遊戲",200,300);
}
if(p1isFail || p2score == 15) {
g.setColor(Color.RED);
g.setFont(new Font("華文彩雲",Font.BOLD,30));
g.drawString("玩家二獲勝,請點選重新開始遊戲",200,300);
}
}
//鍵盤監聽事件
@Override
public void keyPressed(KeyEvent e) {
//控制人物走動
//玩家1
if(isStart == true && (p1isFail == false && p2isFail == false)) {
if(e.getKeyCode() == KeyEvent.VK_D) {
fx1 = "R";
p1X += 25;
if(p1X >= 750) {p1X = 750;}
}
else if(e.getKeyCode() == KeyEvent.VK_A) {
fx1 = "L";
p1X -= 25;
if(p1X <= 0) {p1X = 0;}
}
else if(e.getKeyCode() == KeyEvent.VK_W) {
fx1 = "U";
p1Y -= 25;
if(p1Y <= 100) {p1Y = 100;}
}
else if(e.getKeyCode() == KeyEvent.VK_S) {
fx1 = "D";
p1Y += 25;
if(p1Y >= 600) {p1Y = 600;}
}
//玩家2
if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
fx2 = "R";
p2X += 25;
if(p2X >= 750) {p2X = 750;}
}
else if(e.getKeyCode() == KeyEvent.VK_LEFT) {
fx2 = "L";
p2X -= 25;
if(p2X <= 0) {p2X = 0;}
}
else if(e.getKeyCode() == KeyEvent.VK_UP) {
fx2 = "U";
p2Y -= 25;
if(p2Y <= 100) {p2Y = 100;}
}
else if(e.getKeyCode() == KeyEvent.VK_DOWN) {
fx2 = "D";
p2Y += 25;
if(p2Y >= 600) {p2Y = 600;}
}
}
repaint();
}
@Override
public void actionPerformed(ActionEvent e) {
kaishi.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
isStart = true;
}
});
chongkai.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(p1isFail) { p1isFail = !p1isFail; init(); }
if(p2isFail) { p2isFail = !p2isFail; init(); }
}
});
add(kaishi);
add(chongkai);
add(guize);
if(isStart == true && (p1isFail == false && p2isFail == false)) {
//讓人動起來
if(fx1.equals("R")) {
p1X += 25;
if(p1X >= 750) { p1X = 750; }
}
if(fx1.equals("L")) {
p1X -= 25;
if(p1X <= 0) { p1X = 0; }
}
if(fx1.equals("U")) {
p1Y -= 25;
if(p1Y <= 100) { p1Y = 100; }
}
if(fx1.equals("D")) {
p1Y += 25;
if(p1Y >= 600) { p1Y = 600; }
}
if(fx2.equals("R")) {
p2X += 25;
if(p2X >= 750) { p2X = 750; }
}
if(fx2.equals("L")) {
p2X -= 25;
if(p2X <= 0) { p2X = 0; }
}
if(fx2.equals("U")) {
p2Y -= 25;
if(p2Y <= 100) { p2Y = 100; }
}
if(fx2.equals("D")) {
p2Y += 25;
if(p2Y >= 600) { p2Y = 600; }
}
//讓怪物動起來
//怪物1
int i = random.nextInt(4) + 1;
if(i == 1) {
monster1X += 5;
if(monster1X >= 750) {monster1X = 750;}
}
if(i == 2) {
monster1X -= 5;
if(monster1X <= 0) {monster1X = 0;}
}
if(i == 3) {
monster1Y += 5;
if(monster1Y >= 600) {monster1Y = 600;}
}
if(i == 4) {
monster1Y -= 5;
if(monster1Y <= 100) {monster1Y = 100;}
}
//怪物2
int j = random.nextInt(4) + 1;
if(j == 1) {
monster2X += 5;
if(monster2X >= 750) {monster2X = 750;}
}
if(j == 2) {
monster2X -= 5;
if(monster2X <= 0) {monster2X = 0;}
}
if(j == 3) {
monster2Y += 5;
if(monster2Y >= 600) {monster2Y = 600;}
}
if(j == 4) {
monster2Y -= 5;
if(monster2Y <= 100) {monster2Y = 100;}
}
//怪物3
int k = random.nextInt(4) + 1;
if(k == 1) {
monster3X += 5;
if(monster3X >= 750) {monster3X = 750;}
}
if(k == 2) {
monster3X -= 5;
if(monster3X <= 0) {monster3X = 0;}
}
if(k == 3) {
monster3Y += 5;
if(monster3Y >= 600) {monster3Y = 600;}
}
if(k == 4) {
monster3Y -= 5;
if(monster3Y <= 100) {monster3Y = 100;}
}
//怪物4
int n= random.nextInt(4) + 1;
if(n == 1) {
monster4X += 5;
if(monster4X >= 750) {monster4X = 750;}
}
if(n == 2) {
monster4X -= 5;
if(monster4X <= 0) {monster4X = 0;}
}
if(n == 3) {
monster4Y += 5;
if(monster4Y >= 600) {monster4Y = 600;}
}
if(n == 4) {
monster4Y -= 5;
if(monster4Y <= 100) {monster4Y = 100;}
}
//怪物5
int m = random.nextInt(4) + 1;
if(m == 1) {
monster5X += 5;
if(monster5X >= 750) {monster5X = 750;}
}
if(m == 2) {
monster5X -= 5;
if(monster5X <= 0) {monster5X = 0;}
}
if(m == 3) {
monster5Y += 5;
if(monster5Y >= 600) {monster5Y = 600;}
}
if(m == 4) {
monster5Y -= 5;
if(monster5Y <= 100) {monster5Y = 100;}
}
//如果有玩家吃到食物
if(p1X == AppleX && p1Y == AppleY) {
p1score++;
AppleX = 25*random.nextInt(28);
AppleY = 100 + 25*random.nextInt(18);
} else if(p2X == AppleX && p2Y == AppleY) {
p2score++;
AppleX = 25*random.nextInt(28);
AppleY = 100 + 25*random.nextInt(18);
}
//如果有玩家碰到怪物,判定死亡,遊戲結束 後續有修改,暫用
//怪物1死亡
if(p1X >= monster1X -25 && p1X <= monster1X +25) {
if(p1Y == monster1Y) { p1isFail = !p1isFail; p1score = p2score = 0;}
}
if(p1Y >= monster1Y -25 && p1Y <= monster1Y +25) {
if(p1X == monster1X) { p1isFail = !p1isFail; p1score = p2score = 0;}
}
if(p2X >= monster1X -25 && p2X <= monster1X +25) {
if(p2Y == monster1Y) { p2isFail = !p2isFail; p1score = p2score = 0;}
}
if(p2Y >= monster1Y -25 && p2Y <= monster1Y +25) {
if(p2X == monster1X) { p2isFail = !p2isFail; p1score = p2score = 0;}
}
//怪物2死亡
if(p1X >= monster2X -25 && p1X <= monster2X +25) {
if(p1Y == monster2Y) { p1isFail = !p1isFail; p1score = p2score = 0;}
}
if(p1Y >= monster2Y -25 && p1Y <= monster2Y +25) {
if(p1X == monster2X) { p1isFail = !p1isFail; p1score = p2score = 0;}
}
if(p2X >= monster2X -25 && p2X <= monster2X +25) {
if(p2Y == monster2Y) { p2isFail = !p2isFail; p1score = p2score = 0;}
}
if(p2Y >= monster2Y -25 && p2Y <= monster2Y +25) {
if(p2X == monster2X) { p2isFail = !p2isFail; p1score = p2score = 0;}
}
//怪物3死亡
if(p1X >= monster3X -25 && p1X <= monster3X +25) {
if(p1Y == monster3Y) { p1isFail = !p1isFail; p1score = p2score = 0;}
}
if(p1Y >= monster3Y -25 && p1Y <= monster3Y +25) {
if(p1X == monster3X) { p1isFail = !p1isFail; p1score = p2score = 0;}
}
if(p2X >= monster3X -25 && p2X <= monster3X +25) {
if(p2Y == monster3Y) { p2isFail = !p2isFail; p1score = p2score = 0;}
}
if(p2Y >= monster3Y -25 && p2Y <= monster3Y +25) {
if(p2X == monster3X) { p2isFail = !p2isFail; p1score = p2score = 0;}
}
//怪物4死亡
if(p1X >= monster4X -25 && p1X <= monster4X +25) {
if(p1Y == monster4Y) { p1isFail = !p1isFail; p1score = p2score = 0;}
}
if(p1Y >= monster4Y -25 && p1Y <= monster4Y +25) {
if(p1X == monster1X) { p1isFail = !p1isFail; p1score = p2score = 0;}
}
if(p2X >= monster4X -25 && p2X <= monster4X +25) {
if(p2Y == monster4Y) { p2isFail = !p2isFail; p1score = p2score = 0;}
}
if(p2Y >= monster4Y -25 && p2Y <= monster4Y +25) {
if(p2X == monster4X) { p2isFail = !p2isFail; p1score = p2score = 0;}
}
//怪物5死亡
if(p1X >= monster5X -25 && p1X <= monster5X +25) {
if(p1Y == monster5Y) { p1isFail = !p1isFail; p1score = p2score = 0;}
}
if(p1Y >= monster5Y -25 && p1Y <= monster5Y +25) {
if(p1X == monster5X) { p1isFail = !p1isFail; p1score = p2score = 0;}
}
if(p2X >= monster5X -25 && p2X <= monster5X +25) {
if(p2Y == monster5Y) { p2isFail = !p2isFail; p1score = p2score = 0;}
}
if(p2Y >= monster5Y -25 && p2Y <= monster5Y+25) {
if(p2X == monster5X) { p2isFail = !p2isFail; p1score = p2score = 0;}
}
//如果有玩家達到指定積分,判定獲勝,遊戲結束
if(p1score == 15) { p2isFail = !p2isFail; }
if(p2score == 15) { p1isFail = !p1isFail; }
repaint();
}
timer.start();
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
}