Skip to content

01 Hello Game World

Bart van der Wal edited this page Apr 2, 2019 · 5 revisions

Inleiding

In dit deel van de tutorial gaan we even kijken hoe we een game kunnen maken die gebruik maakt van oopg. oopg is de game engine die we gaan gebruiken.

Misschien is het je al opgevallen dat bijna elke eerste les van programmeren begint met de klassieke frase: Hello World. Dat is niet bepaald poëzie, maar wel erg handig om te kijken of de software, programmeertaal of wat dan ook, aan de praat te krijgen valt.

HelloWorld

Om te starten gaan we ervan uit dat het gelukt is om de up-and-running stappen te volgen.

De volgende stappen moet je nemen:

  1. Volg up-and-running om de repo te kopieren en de folder in Eclipse te importeren.
  2. Maak een nieuwe package aan voor je eigen spel (NB: Java package names zijn geheel in kleine letters.
  3. Schrijf een stuk code met een public static void main methode die Hello, World! op het scherm zet.
  4. Schrijf de rest van je game. 🎉 (zie de volgende tutorial)

Stap 1: Maak een nieuwe package aan

Een package is een manier om dingen te ordenen in een java-project. Feitelijk is het een folder die code bij elkaar verzamelt. Zo bevat de package nl.han.ica.oopg alle code voor de game engine. Als je deze gaat bekijken in je file systeem (of hier op github) dan zie je dat er allemaal folders zijn aangemaakt met een pad dat er als volgt uit ziet: main/java/nl/han/ica/oopg.

Nu gaan we bijvoorbeeld dus een nieuwe game aanmaken voor de student Dewi. Dewi heeft haar eigen bedrijf: zachtewaren.biz. De naam van haar game is: Sonic Monkeys. Volgens de java conventies ziet de package er dan zo uit: biz.zachtewaren.sonicmonkeys.

In eclipse werkt dat als volgt. Rechtermuisklik in de package explorer op src/main/java opent een menu. Doorloop het menu zo: New->Package.

New Package

En vul dan het volgende menu in en klik op Finish.

New Package dialog

2 Schrijf een main methode

In deze tutorial gaan we even niet heel erg in op hoe de game engine werkt. Het belangrijkste is het checken van de werking van de engine. Werkt de setup die je hebt met de code die je hebt gedownload.

We gaan een class maken die overerft van de GameEngine. Deze is dan verplicht een aantal methoden te implementeren.

Hieronder het Hello World voorbeeld. In de volgende tutorial komt daar wat meer uitleg over. Als het niet werkt, is het nu misschien een mooi moment om te kijken of je alle stappen hebt doorlopen. Vraag anders even hulp.

package tutorial; // de naam van de package

// deze 3 classes moet je geimporteerd hebben om het te laten werken.
import nl.han.ica.oopg.engine.GameEngine;
import nl.han.ica.oopg.objects.TextObject;
import nl.han.ica.oopg.view.View;

public class HelloWorld extends GameEngine {

	public static void main(String[] args) {
		HelloWorld hw = new HelloWorld();

		// deze methode start de game.
		hw.runSketch();
	}

	@Override
	public void setupGame() {
		int worldWidth = 500;
		int worldHeight = 500;
		
		TextObject to = new TextObject("Hello, World!", 40);
		to.setForeColor(255, 255, 255, 255);
		addGameObject(to, 100, 100);
		
		View view = new View(worldWidth, worldHeight);

		setView(view);
		size(worldWidth, worldHeight);
	}

	@Override
	public void update() {
		// Dit doet nog niets
		
	}

}

Gelukt? Ga dan door naar het volgende deel van deze tutorial.