Comment écrire Jeux Java

April 11

Comment écrire Jeux Java


Le langage de programmation Java est devenu un choix populaire pour le développement en raison de sa structure orientée objet et son interface à base de machine virtuelle qui permet aux programmes écrits en Java pour exécuter sans modification sur une grande variété de systèmes d'exploitation et des ordinateurs, des téléphones cellulaires aux postes de travail .

Il est également une plate-forme tout à fait capable de développement de jeux, et si vous êtes juste de commencer à apprendre le développement de jeux, il est préférable de commencer simple et créer un Pong-clone.

Instructions

1 Créer une classe et nommez JPong. Si vous utilisez un IDE comme Netbeans, vous pouvez le faire à partir du menu fichier. Cependant, même un simple éditeur de texte va faire le travail: il suffit de créer un fichier nommé \ "JPong.java \".

Collez le squelette suivant dans le fichier:

java.awt.Canvas d'importation
ALLER
import javax.swing.JFrame
ALLER
import java.awt.event.KeyListener
ALLER
import java.awt.event.KeyEvent
ALLER
import java.awt.Color
ALLER
java.awt.Graphics d'importation
ALLER

public class Pong implémente KeyListener {

Pong publique () {}

public void keyPressed (KeyEvent e) {}

// Ces deux sont tenus par le compilateur, mais ne sera pas utilisé dans votre jeu.
public void keyReleased (KeyEvent e) {}
public void keyTyped (KeyEvent e) {}

tirage public void () {}

detectCollision public boolean () {}

jeu public void () {}

static void main (String args []) {} publics

}

Le reste des étapes va progressivement remplir le squelette pour créer un jeu complet.

2 Définissez les données de la classe aura besoin. Insérez ceci au début de votre classe:

int finale WIDTH privé = 640;

private int finale HEIGHT = 480;

int finale DELTA privé = 8
ALLER
final int PADDLE_WIDTH privé = 32
ALLER
final int PADDLE_HEIGHT privé = 128
ALLER
privé final int PUCK_RADIUS = 32
ALLER

Graphics g
ALLER

private int x1 = 20; // Emplacement de la palette du joueur A
private int y1 = 240
ALLER
private int x2 = 600; // Emplacement de la palette du joueur B
private int y2 = 240
ALLER

double x privé = 60,0; // Emplacement de balle
deux y privé = 140,0
ALLER
à double vx privé = 2.0; // Vitesse de la balle
à double vy privé = 1,0;

3 Créer le constructeur.

public Pong() {
JFrame f = new JFrame()

ALLER

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

ALLER

f.setTitle(\"Pong 1.0\")

ALLER

f.setResizable(false)

ALLER

Canvas c = new Canvas()

ALLER

c.setSize(640, 480)

ALLER

f.add(c)

ALLER

f.pack()

ALLER

f.setVisible(true)

ALLER

g = c.getGraphics()

ALLER

f.addKeyListener(this)

ALLER

draw()

ALLER

}

4 Créer la méthode keyPressed. Elle sera appelée à chaque fois que l'utilisateur appuie sur une touche du clavier, et il fera les palettes pour déplacer lorsque certaines touches sont pressées:

public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) y2 = y2 - DELTA

ALLER

else if (e.getKeyCode() == KeyEvent.VK_DOWN) y2 = y2 + DELTA

ALLER

else if (e.getKeyChar() == 'i') y1 = y1 - DELTA

ALLER

else if (e.getKeyChar() == 'k') y1 = y1 + DELTA

ALLER

}

5 Créer la méthode de tirage qui attirera l'écran chaque trame de jeu.

public void draw() {
g.setColor(Color.black)

ALLER

g.fillRect(0, 0, WIDTH, HEIGHT)

ALLER

g.setColor(Color.red)

ALLER

g.fillRect(x1, y1, PADDLE_WIDTH, PADDLE_HEIGHT)

ALLER

g.setColor(Color.green)

ALLER

g.fillRect(x2, y2, PADDLE_WIDTH, PADDLE_HEIGHT)

ALLER

g.setColor(Color.yellow)

ALLER

g.fillOval((int)x, (int)y, PUCK_RADIUS, PUCK_RADIUS)

ALLER

}

6 Créer la méthode de détection de collision qui permettra de déterminer si la rondelle a frappé une des palettes:

public boolean detectCollision() {
// Test for collision with first paddle
if (y + vy > y1 &&
y + vy < y1 + PADDLE_HEIGHT &&
x + vx < x1 + PADDLE_WIDTH &&
x + vx> x1) {
return true

ALLER

}

// Test de collision avec seconde palette
else if (y + vy> y2 & amp; & amp;
y + vy & lt; y2 + PADDLE_HEIGHT & amp; & amp;
x + vx + PUCK_RADIUS> x2 & amp; & amp;
x + vx + PUCK_RADIUS & lt; x2 + PADDLE_WIDTH) {
return true

ALLER

}
else return false

ALLER

}

7 Créer la boucle de jeu. Cette fonction coordonne les autres en exécutant continuellement tant que le jeu est ouvert:

public void play() {
while (true) {
if (x + vx < 0 || x + vx > WIDTH || detectCollision()) vx = -vx

ALLER

if (y + vy < 0 || y + vy > HEIGHT) vy = -vy

ALLER

x = x + vx

ALLER

y = y + vy

ALLER

draw()

ALLER

try {
Thread.sleep(30)

ALLER

} catch (Exception e) {
e.printStackTrace()

ALLER

}
}
}

8 Créer la fonction principale. Ceci est la façon dont le programme d'entrée et est requise par toutes les applications Java. Tout ce qu'il fait est de créer le jeu et commencer à la fonction de lecture en cours.

public static void main(String args[]) {
Pong p = new Pong()

ALLER

p.play()

ALLER

}