Git Product home page Git Product logo

prg04-2022-2023's Introduction

Link naar de game.

Inleveropdracht

In week 1 kies je een van onderstaande templates. Je gaat hier tijdens de lessen en in je zelfstudietijd aan werken.

  • De templates dienen om jou een realistisch doel te geven om naartoe te werken.
  • Het is niet verplicht dat je alle onderdelen van deze templates in je game hebt verwerkt.
  • Het is wel verplicht dat je de onderwerpen uit de lessen in je game hebt verwerkt. Zie voor de beoordeling de cursushandleiding!

Space Shooter

  • Eindeloos scrollende achtergrond
  • Speler kan alle kanten op bewegen
  • Collision detection met vijanden, powerups, obstakels
  • Speler kan schieten. Kogels kunnen opgaan.
  • Speler heeft bommen die het hele scherm in een keer leeg maken.
  • Vijanden kunnen schieten
  • Life bar gaat omlaag bij aanraking met vijand
  • Variatie in achtergond door planeten, sterren te laten voorbijkomen waar je niet mee kan botsen

Opdracht

De eerste stap bij Objectgeoriënteerd programmeren is het bedenken van classes. Noteer voor je eigen game de classes die je nodig hebt. Vervolgens bepaal je per class de eigenschappen (variabelen) en het gedrag (functies).

Een handig hulpmiddel hierbij is het volgende stappenplan:

  1. Schrijf de regels van je spel uit en onderstreep de zelfstandige naamwoorden.
  • Eindeloos scrollende achtergrond
  • Speler kan alle kanten op bewegen
  • Collision detection met vijanden, powerups, obstakels
  • Speler kan schieten. Kogels kunnen opgaan.
  • Speler heeft bommen die het hele scherm in een keer leeg maken.
  • Vijanden kunnen schieten
  • Life bar gaat omlaag bij aanraking met vijand
  • Variatie in achtergond door planeten, sterren te laten voorbijkomen waar je niet mee kan botsen
  1. Bepaal welke zelfstandige naamwoorden een class kunnen zijn. Is het een zelfstandignaamwoord waarvoor je iets wilt opslaan? Of voer het iets uit in je spel?
  • speler = Player class
  • vijanden = Enemy class
  • powerups/obstakels = Object class
  • kogels/bommen/planeten/sterren = Projectile class
  1. Er zullen zelfstandignaamwoorden afvallen, omdat ze geen class hoeven te zijn of omdat ze een eigenschap zijn van een ander zelfstandignaamwoord.

  2. De zelfstandignaamwoorden die overblijven zijn de classes.

  3. Noteer de eigenschappen bij de classes. Waar moet deze class over zichzelf onthouden?

Player class:

  • Ammo
  • Bombs
  • Life bar

Enemy class:

  • Collision
  • Damage

Object class:

  • Collision

Projectile class:

  • Collision
  • Damage
  1. Rond de zelfstandignaamwoorden staan werkwoorden. Dit is vaak het bijbehorende gedrag.
  • Eindeloos scrollende achtergrond
  • Speler kan alle kanten op bewegen
  • Collision detection met vijanden, powerups, obstakels
  • Speler kan schieten. Kogels kunnen opgaan.
  • Speler heeft bommen die het hele scherm in een keer leeg maken.
  • Vijanden kunnen schieten
  • Life bar gaat omlaag bij aanraking met vijand
  • Variatie in achtergond door planeten, sterren te laten voorbijkomen waar je niet mee kan botsen

Bijbehorend gedrag:

Player class:

  • bewegen = movement
  • schieten = shoot
  • leeg maken = ultimate move
  • aanraking = collision detection

Enemy class:

  • schieten = shoot
  • aanraking = collision detection

Object class:

  • aanraking = collision detection

Projectile class:

  • schieten = shoot
  • aanraking = collision detection

Game Assets

prg04-2022-2023's People

Contributors

curleyds avatar kokodoko avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.