Linguaggio di programmazione Java è diventata una scelta popolare per lo sviluppo a causa della sua struttura orientata agli oggetti e la relativa interfaccia di base di macchine virtuali che consente ai programmi scritti in Java per eseguire senza modifiche su una vasta gamma di sistemi operativi e computer, dai cellulari alle workstation.
È inoltre una piattaforma abbastanza capace per lo sviluppo del gioco, e se si sono appena iniziando a conoscere lo sviluppo del gioco, è meglio iniziare semplice e creare un clone di Pong.
Istruzioni
• Creare una classe e il nome JPong. Se si utilizza un IDE come Netbeans, si può fare questo dal menu file. Tuttavia, anche un editor di testo semplice farà il lavoro: basta creare un file denominato \"JPong.java.\"
Incollare la base riportata di seguito nel file:
importazione ImpossibileVAIimportazione javax.swing.JFrameVAIimportazione java.awt.event.KeyListenerVAIimportazione java.awt.event.KeyEventVAIimportare java.awt.ColorVAIimportare java.awt.GraphicsVAI
Pong/public class implements KeyListener {
public Pong() {}
public void keyPressed (KeyEvent e) {}
Questi due sono tenuti dal compilatore, ma non verranno utilizzati nel vostro gioco.public void keyReleased (KeyEvent e) {}public void keyTyped (KeyEvent e) {}
public void Draw () {}
{} public boolean detectCollision()
public void Play () {}
Public Shared Sub main (String args {}
}
Il resto dei passaggi si riempirà gradualmente nello scheletro per creare un gioco completo.
• Definire i dati che la classe avrà bisogno. Inserire questo nella parte superiore della classe:
private final int WIDTH = 640;
private int finale altezza = 480;
private int finale DELTA = 8VAIprivate final int PADDLE_WIDTH = 32VAIprivate final int PADDLE_HEIGHT = 128VAIprivate final int PUCK_RADIUS = 32VAI
Grafica gVAI
private int X1 = 20; posizione di paddle del giocatoreprivate int y1 = 240VAIprivate int X2 = 600; posizione di paddle giocatore di Bprivate int y2 = 240VAI
private double x = 60.0; posizione della pallaprivate double y = 140.0VAIprivato doppia vx = 2.0; velocità della pallaprivato doppia vy = 1.0;
• Creare il costruttore.
public Pong() { JFrame f = new JFrame()
VAI
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
VAI
f.setTitle(\"Pong 1.0\")
VAI
f.setResizable(false)
VAI
Canvas c = new Canvas()
VAI
c.setSize(640, 480)
VAI
f.add(c)
VAI
f.pack()
VAI
f.setVisible(true)
VAI
g = c.getGraphics()
VAI
f.addKeyListener(this)
VAI
draw()
VAI
}
•
Creare il metodo keyPressed. Questo verrà chiamato ogni volta che l'utente preme un tasto sulla tastiera, e causerà le pale spostare quando vengono premuti alcuni tasti:
public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_UP) y2 = y2 - DELTA
VAI
else if (e.getKeyCode() == KeyEvent.VK_DOWN) y2 = y2 + DELTA
VAI
else if (e.getKeyChar() == 'i') y1 = y1 - DELTA
VAI
else if (e.getKeyChar() == 'k') y1 = y1 + DELTA
VAI
}
•
Creare il metodo draw che consentirà di richiamare la schermata di ogni frame di gioco.
public void draw() { g.setColor(Color.black)
VAI
g.fillRect(0, 0, WIDTH, HEIGHT)
VAI
g.setColor(Color.red)
VAI
g.fillRect(x1, y1, PADDLE_WIDTH, PADDLE_HEIGHT)
VAI
g.setColor(Color.green)
VAI
g.fillRect(x2, y2, PADDLE_WIDTH, PADDLE_HEIGHT)
VAI
g.setColor(Color.yellow)
VAI
g.fillOval((int)x, (int)y, PUCK_RADIUS, PUCK_RADIUS)
VAI
}
•
Creare il metodo di rilevamento di collisione che determinerà se il puck ha colpito una delle pale:
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
VAI
}
// Test for collision with second paddle else if (y + vy > y2 && y + vy < y2 + PADDLE_HEIGHT && x + vx + PUCK_RADIUS > x2 && x + vx + PUCK_RADIUS < x2 + PADDLE_WIDTH) { return true
VAI
} else return false
VAI
}
•
Creare il ciclo di gioco. Questa funzione coordina gli altri eseguendo continuamente fino a quando il gioco è aperto:
public void play() { while (true) { if (x + vx < 0 || x + vx > WIDTH || detectCollision()) vx = -vx
VAI
if (y + vy < 0 || y + vy > HEIGHT) vy = -vy
VAI
x = x + vx
VAI
y = y + vy
VAI
draw()
VAI
try { Thread.sleep(30)
VAI
} catch (Exception e) { e.printStackTrace()
VAI
} } }
•
Creare la funzione principale. Questo è il modo di entrata per il programma ed è richiesto da tutte le applicazioni Java. Tutto ciò che fa è creare il gioco e iniziare il gioco in corso funzione.
public static void main(String args[]) { Pong p = new Pong()
VAI
p.play()
VAI
}