Come scrivere giochi in Java

Come scrivere giochi in Java

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

}