Ik zag dat je bij elke bullet een geluidje wilt afspelen als je hem dropt en als die ontploft. Een goede oplossing hiervoor is om deze 2 audio variabelen op te nemen als properties van de bullet.ts class.
In bullet.ts heb je dan:
// als properties initialiseer je de 2 sounds
public dropSound: Audio = new Audio("sounds/drop.mp3");
public bombSound: Audio = new Audio("sounds/bomb.wav");
Op deze manier heeft elke bullet zijn eigen geluidjes. Als een bullet dan collide met een enemy kun je het geluidje van alleen deze bullet afspelen.
Bijvoorbeeld zo in level.ts:
if(bullet.hitsEnemy(enemy, i)) {
bullet.bombSound.play();
// de rest van je code..
}
Goed dat bullets extenden van GameObject. Dit zou je ook nog kunnen doen voor player.ts en enemy.ts
Probeer alle properties van een class op private te zetten. Op het moment dat een andere class een bepaalde property nodig heeft kun je hiervoor een getter/setter aanmaken. Zo hou je je goed aan het principe van encapsulation en blijft je code meer voorspelbaar.
Verder draait het spel nu goed zonder bugs en zonder dat mn computer vastloopt, goed gedaan!
Duidelijk wat de bedoeling is tijdens de game en goed te spelen zonder bugs
startscherm, spelscherm en eindscherm aanwezig maar daarop de behaalde score
Klassendiagram duidelijk en goed opgebouwd, kan zelf geen op of aanmerkingen benoemen. UML zeer compleet
Goed de OOP principes toegepast uit de les, inheritance, composition en encapsulation
Leuk spel om te spelen, alleen lastig om een hoge score te behalen omdat deze niet functioneert.
In bullet.ts heb je dan:
Op deze manier heeft elke bullet zijn eigen geluidjes. Als een bullet dan collide met een enemy kun je het geluidje van alleen deze bullet afspelen.
Bijvoorbeeld zo in level.ts:
Goed dat bullets extenden van GameObject. Dit zou je ook nog kunnen doen voor player.ts en enemy.ts
Probeer alle properties van een class op private te zetten. Op het moment dat een andere class een bepaalde property nodig heeft kun je hiervoor een getter/setter aanmaken. Zo hou je je goed aan het principe van encapsulation en blijft je code meer voorspelbaar.
Verder draait het spel nu goed zonder bugs en zonder dat mn computer vastloopt, goed gedaan!