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 basée sur de machine virtuelle qui permet aux programmes écrits en Java de s'exécuter sans modification sur une grande variété de systèmes d'exploitation et ordinateurs, des téléphones portables aux postes de travail . C'est aussi 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 . Choses que vous devez
Java
Voir Plus Instructions
1
créer une classe et nommez-le JPong . Si vous utilisez un IDE comme Netbeans , vous pouvez le faire à partir du menu Fichier . Cependant, même un simple éditeur de texte fera l'affaire : il suffit de créer un fichier nommé
Collez le squelette suivant dans le fichier " JPong.java . ":
Java.awt.Canvas d'importation ; javax.swing.JFrame d'importation; java.awt.event.KeyListener d'importation; java.awt.event.KeyEvent d'importation; java.awt.Color d'importation; java.awt.Graphics d'importation ;
Pong public class implémente KeyListener {
Pong publique () {} public void
keyPressed ( KeyEvent e) {}
//Ces deux sont tenus par le compilateur , mais ne sera pas utilisé dans votre game.public vide keyReleased ( KeyEvent e) {} public void keyTyped ( KeyEvent e) {}
du tirage au sort public void () { }
detectCollision du public void () { }
jeu public void () { }
public static void main ( String args [] ) {} }
Le reste des étapes se remplira progressivement le squelette pour créer un jeu complet.
2
définir les données de la classe aura besoin. Insérez ceci au début de votre classe :
privée final int WIDTH = 640; privé final int HEIGHT = 480; privé final int DELTA = 8; final int PADDLE_WIDTH privé = 32; privé final int PADDLE_HEIGHT = 128; privé final int PUCK_RADIUS = 32;
Graphics g;
private int x1 = 20; //emplacement de paddleprivate du joueur A int y1 = 240; private int x2 = 600; //emplacement de paddleprivate du joueur B int y2 = 240;
double privée x = 60,0 ; //emplacement de ballprivate deux y = 140,0 ; double privée vx = 2.0 ; //vitesse de ballprivate deux vy = 1,0;
3
Créer le constructeur
Pong public () { JFrame f = new JFrame (); . f.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE ) ; f.setTitle ( " Pong 1.0") ; f.setResizable (false); toile c = new toile ( ) ; c.setSize (640 , 480) ; f.add ( c); f.pack (); f.setVisible (true); g = c.getGraphics (); f.addKeyListener (this); draw () ;}
4
créer la méthode keyPressed . Ce 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 enfoncées :
publique vide keyPressed ( KeyEvent e ) {if ( e.getKeyCode () = = KeyEvent.VK_UP ) y2 = y2 - DELTA ; else if ( e.getKeyCode () == KeyEvent.VK_DOWN ) y2 = y2 + DELTA ; else if ( e.getKeyChar () == 'i' ) y1 = y1 - DELTA ; else if ( e.getKeyChar () == ' k') y1 = y1 + DELTA ; . }
5
créer la méthode de tirage qui va attirer l'écran chaque trame du jeu
< p > tirage au sort public void () { g.setColor ( Color.Black ) ; g.fillRect ( 0, 0, largeur, hauteur) ; g.setColor ( color.red ) ; g.fillRect (x1 , y1, PADDLE_WIDTH , PADDLE_HEIGHT ) ; g.setColor ( Color.green ) ; g.fillRect ( x2, y2 , PADDLE_WIDTH , PADDLE_HEIGHT ) ; g.setColor ( Color.yellow ) ; g.fillOval ( (int ) x , (int ) y, PUCK_RADIUS , PUCK_RADIUS ) ;
}
6
créer la méthode de détection de collision qui va déterminer si la rondelle a frappé une des palettes :
detectCollision public void () { //test de collision avec le premier paddleif (y + vy > y1 && y + vy < y1 + && PADDLE_HEIGHT x + vx < x1 + PADDLE_WIDTH && x + vx > x1 ) {return true;}
//Test pour collision avec un second paddleelse if ( y + vy > y2 && y + vy < y2 + && PADDLE_HEIGHT x + vx + PUCK_RADIUS > x2 && x + vx + PUCK_RADIUS < x2 + PADDLE_WIDTH ) {return true;} else return false;}
7
Créer la boucle de match. Cette fonction assure la coordination des autres en lançant continuellement tant que le jeu est ouvert :
jeu public void () { while (true) {if ( x + vx < 0