Toon posts:

[C++] Klassen en 'events'

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mede-tweakers,

Ik vraag mij deze week al even af hoe ik events zou kunnen simuleren in een c++ klasse. Ik wil namelijk een eenvoudig spelletje maken. Dit spel wordt gemaakt in een Borland C++ form. Het spel heeft een klasse grid, klasse AI en uit AI afgeleide klassen karakter1,karakter2,karakter3.

Wat ik nu zou willen weten is hoe ik het makkelijkst een soort event gestuurd spel kan maken. Wanneer AI een collision detecteert moet er weer ergens iets gebeuren ( collision afhandeling dus ). Een bepaalde functie of methode moet dus aangeroepen worden. Collisions zijn te vinden aan de hand van het klasse grid die een 2dimensionale array heeft dat het grid voorstelt.

Dit is gewoon een voorbeeld maar ik hoop dat het idee duidelijk is.

Alvast bedankt,

Michel

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:34
Even iets anders:
waarom leid je ieder karakter af van de AI klasse, en laat je een karakter geen AI hebben ?

In C++ Builder heb je een TNotifyEvent type dacht ik; je kan dat gebruiken om je eigen events te gaan definieren.
Als event-handler kan je dan aan die property een method hangen, en als er iets gebeurt, kan je die event gaan triggeren.

https://fgheysels.github.io/


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 21:24

NMe

Quia Ego Sic Dico.

Je kan het beste een game engine-klasse maken, die altijd in de lucht is en de berichtenafhandeling verwerkt. Op die manier kunnen andere klassen berichten sturen naar de engine, en berichten uit die engine-klasse weer ophalen en erop reageren.

Misschien dat je wat hebt aan deze boeken:
Games Programmeren in 24 uur - Erg simpel, en vrij onbruikbaar om echte spellen mee te maken, maar de 'game engine' die ze maken is wel duidelijk en uitbreidbaar.
OpenGL Game Programming - Goed boek, maar voor wat jij wil doen misschien wat overkill. :)

[ Voor 40% gewijzigd door NMe op 24-11-2004 11:59 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:34
Een soort 'Mediator' dus ?

https://fgheysels.github.io/


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 21:24

NMe

Quia Ego Sic Dico.

Ik heb geen idee wat een Mediator precies inhoudt, maar als ik het woord uit het Latijn afleid zou dat best kunnen kloppen. :) In de boeken die ik noemde hebben ze het over een message-handler.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • AlanSmithee
  • Registratie: Maart 2004
  • Laatst online: 07-07-2025
Het idee van -NMe- klinkt wel aardig.

Wil je toch met events gaan werken kan je ook boost gebruiken voor een platform onafhankelijke implementatie.

Jij moet dan vooral kijken naar de signals/slots.

Even een link voor -NMe- http://www.dofactory.com/Patterns/PatternMediator.aspx

[ Voor 14% gewijzigd door AlanSmithee op 24-11-2004 15:21 ]


Verwijderd

Topicstarter
OpenGL Game Programming - Goed boek, maar voor wat jij wil doen misschien wat overkill
Die heb ik hier al thuis liggen. Ben ik tijd geleden mee gestopt aangezien mijn interesse richting Maya 5/6 ging ipv OpenGL.

Iedereen bedankt voor reacties. Ik zal morgen kijken hoever ik kom. Voor nu, welterusten :)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 21:24

NMe

Quia Ego Sic Dico.

Verwijderd schreef op woensdag 24 november 2004 @ 23:06:
Die heb ik hier al thuis liggen. Ben ik tijd geleden mee gestopt aangezien mijn interesse richting Maya 5/6 ging ipv OpenGL.
Achterin het boek staat de basis van een game engine uitgelegd als ik me niet vergis. Je doet er goed aan die even door te lezen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1