creare una classe e il nome JPong . Se si usa un IDE come Netbeans , è possibile farlo dal menu file. Tuttavia, anche un semplice editor di testo farà il lavoro : basta creare un file di nome
Incolla il seguente scheletro nel file " JPong.java . " :
Java.awt.Canvas importazione
; javax.swing.JFrame importazione; java.awt.event.KeyListener importazione; importazione java.awt.event.KeyEvent ; java.awt.Color importazione; java.awt.Graphics importazione;
pong public class implementa KeyListener {
pong pubblico ( ) { } public void
keyPressed ( KeyEvent e) { }
//Questi due sono richieste, il compilatore , ma non sarà utilizzato in il vostro vuoto keyReleased ( KeyEvent e) { } public void keyTyped ( KeyEvent e) { }
vuoto sorteggio pubblico ( ) { }
detectCollision public boolean ( ) { }
game.public
gioco public void ( ) { }
public static void main ( String args [ ] ) { } }
Il resto dei passaggi gradualmente riempire lo scheletro di creare un gioco completo .
2
definire i dati della classe avrà bisogno. Inserire questo in cima alla vostra classe :
private int WIDTH finale = 640 ; private int altezza finale = 480 ; private final int DELTA = 8; int PADDLE_WIDTH finale privato = 32; private int PADDLE_HEIGHT finale = 128 ; private final int PUCK_RADIUS = 32;
Graphics g ;
private int x1 = 20; //posizione del giocatore A paddleprivate int y1 = 240; private int x2 = 600; //posizione del del giocatore B paddleprivate int y2 = 240;
private double x = 60,0 ; //posizione del ballprivate doppia y = 140.0 ; private double vx = 2.0; //velocità di ballprivate doppio VY = 1.0;
3
Creare il costruttore
pong pubblico ( ) { JFrame f = new JFrame (); . f.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE ) ; f.setTitle ( " pong 1.0" ) ; f.setResizable (false); tela c = new Canvas (); c.setSize ( 640 , 480) ; f.add ( c); f.pack (); f.setVisible ( true); g = c.getGraphics (); f.addKeyListener ( this); draw () ; }
4
creare il metodo keyPressed . Questo verrà chiamato ogni volta che l' utente preme un tasto sulla tastiera , e farà sì che le pale di muoversi quando si premono determinati tasti :
public void 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
Creare il metodo draw che attirerà lo schermo ogni frame di gioco
vuoto sorteggio pubblico ( ) { g.setColor ( Color.black ) ; g.fillRect ( 0 , 0 , larghezza, altezza ) ; 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
creare il metodo di rilevamento delle collisioni che determinerà se il disco ha colpito una delle pale :
public boolean detectCollision ( ) { //di prova per la collisione con prima paddleif ( y + vy > y1 && y + vy < y1 + PADDLE_HEIGHT && x + vx < x1 + PADDLE_WIDTH && x + vx > x1 ) {return true;}
//Test per collisione con la seconda paddleelse se ( 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 ; }
Pagina 7
Creare il ciclo di gioco . Questa funzione coordina le altre eseguendo continuamente fino a quando il gioco è aperto :
public void play () { while (true ) {if ( x + vx < 0
Programmazione © www.354353.com