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

Bu Sayfayı Paylaş:




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir