<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Implementaci%C3%B3_de_les_classes_amb_C%2B%2B</id>
	<title>Implementació de les classes amb C++ - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Implementaci%C3%B3_de_les_classes_amb_C%2B%2B"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Implementaci%C3%B3_de_les_classes_amb_C%2B%2B&amp;action=history"/>
	<updated>2026-08-30T14:36:43Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Implementaci%C3%B3_de_les_classes_amb_C%2B%2B&amp;diff=34976&amp;oldid=prev</id>
		<title>Joan a 16:51, 18 nov 2010</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Implementaci%C3%B3_de_les_classes_amb_C%2B%2B&amp;diff=34976&amp;oldid=prev"/>
		<updated>2010-11-18T16:51:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
==Introducció i objectius==&lt;br /&gt;
Basat en el llibre ''Curso de Programación de Videojuegos con C++ y Allegro''&lt;br /&gt;
&lt;br /&gt;
Utilitzaré ''dia'' ($ sudo apt-get install dia) per fer els diagrames UML de les classes&lt;br /&gt;
&lt;br /&gt;
Vull definir unes classes que em serveixin per afrontar l'objectiu de programar un conte musical i visual. Per a la part visual faré servir les tècniques de videojocs. Per a la part musical ha de ser un client JACK, que entre d'altres coses:&lt;br /&gt;
*sigui un client JACK&lt;br /&gt;
*pugui controlar certes accions dels personatges i del joc mitjançant els controls del controlador MIDI&lt;br /&gt;
*sigui capaç de reproduir un fitxer MIDI en un thread independent&lt;br /&gt;
*pugui tocar el teclat per fer sonar una melodia, i que els personatges responguin a les accions del teclat.&lt;br /&gt;
&lt;br /&gt;
El problema es pot dividir en dos: &lt;br /&gt;
&lt;br /&gt;
1) la programació visual dels personatges i l'escenari, el desenvolupament gràfic del conte&lt;br /&gt;
&lt;br /&gt;
2) tota la part musical i la seva integració amb la part 1)&lt;br /&gt;
&lt;br /&gt;
En aquest document només em centraré en la part 1) (programació visual i definició d'una biblioteca de classes que donin resposta al problema).&lt;br /&gt;
==Fases en la programació d'un joc==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fase 0: Construir un plan&lt;br /&gt;
	Establecer una misión&lt;br /&gt;
&lt;br /&gt;
Fase 1: ¿Qué estamos haciendo?&lt;br /&gt;
&lt;br /&gt;
Fase 2: ¿Cómo construiremos eso?&lt;br /&gt;
        Cinco etapas en el diseño de objetos&lt;br /&gt;
            1. Descubrimiento del objeto.&lt;br /&gt;
            2. Ensamblaje del objeto.&lt;br /&gt;
            3. Construcción del sistema.&lt;br /&gt;
            4. Extensión del sistema.&lt;br /&gt;
            5. Reutilización del objeto&lt;br /&gt;
	Directrices para e l desarrollo de objetos&lt;br /&gt;
&lt;br /&gt;
Fase 3: Construyendo el núcleo.&lt;br /&gt;
&lt;br /&gt;
Fase 4: Iterando los casos de uso.&lt;br /&gt;
&lt;br /&gt;
Fase 5: Evolución&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Classes==&lt;br /&gt;
classes abstractes: Game , StageManager, Actor, ActorManager&lt;br /&gt;
&lt;br /&gt;
Basant-me en el llibre de SDL puc distingir:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Classe CEpisodi&lt;br /&gt;
   un episodi té actors&lt;br /&gt;
   un episodi té paisatges&lt;br /&gt;
&lt;br /&gt;
Classe CActor&lt;br /&gt;
   un actor té apendixs&lt;br /&gt;
&lt;br /&gt;
Classe CApendix&lt;br /&gt;
&lt;br /&gt;
Classe CFrame&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basant-me en el llibre d'Allegro puc distingir:&lt;br /&gt;
&lt;br /&gt;
'''Classe Actor'''&lt;br /&gt;
&lt;br /&gt;
Los actores son los elementos del juego que nosotros movemos o vemos&lt;br /&gt;
moverse a través de la pantalla. Ellos son las piezas en un juego de aje drez, son las&lt;br /&gt;
cartas en un juego como “el solitario” y son las naves, tanques y proyectiles en nuestro&lt;br /&gt;
juego. La clase Actor es la responsable de mantener la apariencia y posición del actor.&lt;br /&gt;
&lt;br /&gt;
'''Classe ActorManager'''&lt;br /&gt;
&lt;br /&gt;
La clase ActorManager es muy simple: mantiene una lista de actores. Como ya&lt;br /&gt;
vimos anteriormente, la clase StageManager usa la clase ActorManager para recorrer y&lt;br /&gt;
obtener la lista de actores. El juego guarda la clase ActorManager.&lt;br /&gt;
&lt;br /&gt;
'''Clase StageManager'''&lt;br /&gt;
&lt;br /&gt;
La escena (interpretación de la palabra stage en este contexto) es donde todos&lt;br /&gt;
los actores están. Un objeto de StageManager será responsable de dibujar la escena.&lt;br /&gt;
Este conoce los actores que están en la escena y, en general, todos los objetos que se&lt;br /&gt;
dibujarán en ella. También será responsable más adelante de la optimización al dibujar&lt;br /&gt;
la escena.&lt;br /&gt;
&lt;br /&gt;
'''Clase Game'''&lt;br /&gt;
&lt;br /&gt;
La clase Game se encarga de mantener toda la información respecto del juego&lt;br /&gt;
actual que se está desarrollando. Esta contiene a los administradores y les releva&lt;br /&gt;
trabajo. Por el momento contendrá a StageManager y ActorManager.&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, novembre 2010&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>