Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvorte triedu a pomenujte ju JPong . Ak používate IDE ako NetBeans , môžete to urobiť z menu Súbor . Avšak , dokonca aj jednoduchý textový editor bude robiť svoju prácu : stačí vytvoriť súbor s názvom
vložte nasledujúci kostru do súboru " JPong.java . " : Spojené
dovozné java.awt.Canvas ; import javax.swing.JFrame , import java.awt.event.KeyListener , import java.awt.event.KeyEvent , import java.awt.Color , dovozné java.awt.Graphics ,
public class Pong implementuje KeyListener {
verejné Pong ( ) { }
public void keyPressed ( KeyEvent e ) { }
//Títo dvaja sú povinní kompilátorom , ale nebudú použité v váš game.public void keyReleased ( KeyEvent e ) { } public void keyTyped ( KeyEvent e ) { }
public void draw ( ) { }
public boolean detectCollision ( ) { }
public void play ( ) { }
public static void main ( String args [ ] ) { }
}
zvyšok krokov bude postupne vyplniť kostra vytvoriť kompletnú hru .
2
Definujte dáta class bude potrebovať . Vložte to v hornej časti triedy :
súkromným konečným int šírka = 640 ; private final int výška = 480 ; private final int DELTA = 8 ; private final int PADDLE_WIDTH = 32 ; private final int PADDLE_HEIGHT = 128 ; private final int PUCK_RADIUS = 32 ;
Graphics g ;
private int x1 = 20 , //poloha hráč je paddleprivate int y1 = 240 ; private int x2 = 600 ; //umiestnenie hráč B je paddleprivate int y2 = 240 ;
súkromné double x = 60,0 , //umiestnenie ballprivate dvojité y = 140,0 ; dvojposteľovej vx = 2.0 ; //rýchlosť zo ballprivate dvojité VY = 1,0 ;
Sims 3
Vytvoriť konštruktor
verejné Pong ( ) { JFrame f = new JFrame ( ) ; . f.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE ) ; f.setTitle ( " Pong 1,0 " ) ; f.setResizable ( false ) ; Canvas c = new plátno ( ) ; c.setSize ( 640 , 480 ) ; f.add ( c ) ; f.pack ( ) ; f.setVisible ( true ) ; g = c.getGraphics ( ) ; f.addKeyListener ( this ) ; draw ( ) ; }
4
Vytvorte metódu keyPressed . To sa nazýva vždy , keď užívateľ stlačí kláves na klávesnici , a to spôsobí , že pádla pohybovať pri stlačení určitej klávesy :
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
Vytvorte metódu žrebovania , ktoré bude čerpať obrazovku každá hra rám
public void draw ( ) { g.setColor ( Color.black ) ; g.fillRect ( 0 , 0 , šírka , výška ) ; 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
Vytvorte metódu detekcie kolízie , ktoré určia, či puk zasiahol jedného z pádiel :
public boolean detectCollision ( ) { //test kolízie s prvým paddleif ( y + vy > y1 && y + vy < y1 + PADDLE_HEIGHT && x + vx //test na kolízie s druhým paddleelse if ( y + vy > y2 && y + vy Vytvorte herné slučku . Táto funkcia koordinuje ostatné spustením nepretržite tak dlho , kým hra je otvorená : public void play ( ) { while ( true ) { if ( x + vx < 0
7