GameApplet.java
Dosyayı İndir
package com.godoro.samples.applet;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class GameApplet
extends Applet
implements ActionListener, KeyListener
{
private boolean gameStarted=false;
private Button startButton=new Button("Start");
private Image personImage=null;
private Point personPoint=new Point(100,300);
private Image cakeImage=null;
private Point cakePoint=new Point(200,200);
private boolean cakeEaten=false;
private AudioClip eatingAudio=null;
private String message="Cake Eater : Playing..";
public void init(){
addKeyListener(this);
startButton.addActionListener(this);
add(startButton);
personImage=getImage(getCodeBase(),"person.gif");
cakeImage=getImage(getCodeBase(),"cake.gif");
eatingAudio=getAudioClip(getCodeBase(),"eating.au");
}
public void paint(Graphics g){
g.drawString(message,25,25);
if(gameStarted){
paintPerson(g);
if(!cakeEaten){
paintCake(g);
}
}
}
private void paintPerson(Graphics g){
g.drawImage(personImage,personPoint.x,personPoint.y,this);
}
private void paintCake(Graphics g){
g.drawImage(cakeImage,cakePoint.x,cakePoint.y,this);
}
private void movePerson(int dx,int dy){
personPoint.translate(dx,dy);
boolean canEat=canEatCake();
if(canEat){
eatCake();
}
repaint();
}
private boolean canEatCake(){
int dx=Math.abs(personPoint.x-cakePoint.x);
int dy=Math.abs(personPoint.y-cakePoint.y);
return dx<20 && dy<20;
}
private void eatCake(){
eatingAudio.play();
Toolkit.getDefaultToolkit().beep();
cakeEaten=true;
message="Cake Eater : WON!";
}
public void actionPerformed(ActionEvent e){
gameStarted=true;
cakeEaten=false;
personPoint=new Point(100,300);
repaint();
startButton.transferFocus();
requestFocus();
}
public void keyTyped(KeyEvent e){
}
public void keyPressed(KeyEvent e){
if(gameStarted){
int code=e.getKeyCode();
System.out.println("code : "+code);
if(code == KeyEvent.VK_RIGHT){
movePerson(1,0);
}else if (code == KeyEvent.VK_LEFT){
movePerson(-1,0);
}else if (code == KeyEvent.VK_DOWN){
movePerson(0,1);
}else if (code == KeyEvent.VK_UP){
movePerson(0,-1);
}
}
}
public void keyReleased(KeyEvent e){
}
}
Dosyayı İndir