diff --git a/source/director.cpp b/source/director.cpp index d508e48..a3384a0 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -21,16 +21,12 @@ Director::Director(std::string path) if (!mAsset->check()) section = SECTION_PROG_QUIT; - // Inicializa el objeto de idioma - mLang = new Lang(mAsset); - // Crea el puntero a la estructura y carga el fichero de configuración mOptions = new options_t; if (!loadConfigFile()) { mOptions->fullScreenMode = 0; mOptions->windowSize = 3; - mOptions->language = en_UK; mOptions->difficulty = DIFFICULTY_NORMAL; mOptions->input[0].deviceType = INPUT_USE_KEYBOARD; mOptions->input[1].deviceType = INPUT_USE_GAMECONTROLLER; @@ -50,7 +46,6 @@ Director::Director(std::string path) // Aplica las opciones SDL_SetWindowFullscreen(mWindow, mOptions->fullScreenMode); SDL_SetWindowSize(mWindow, SCREEN_WIDTH * mOptions->windowSize, SCREEN_HEIGHT * mOptions->windowSize); - mLang->setLang(mOptions->language); // Inicializa el resto de variables init(section); @@ -63,9 +58,6 @@ Director::~Director() delete mInput; mInput = nullptr; - delete mLang; - mLang = nullptr; - delete mOptions; mOptions = nullptr; @@ -87,9 +79,6 @@ void Director::init(Uint8 name) mSection.name = name; mSection.subsection = 0; - // Textos - mLang->setLang(mOptions->language); - // Controles mInput->bindKey(INPUT_UP, SDL_SCANCODE_UP); mInput->bindKey(INPUT_DOWN, SDL_SCANCODE_DOWN); @@ -221,7 +210,6 @@ bool Director::loadConfigFile() // Pone unos valores por defecto mOptions->fullScreenMode = 0; mOptions->windowSize = 3; - mOptions->language = en_UK; mOptions->difficulty = DIFFICULTY_NORMAL; mOptions->input[0].deviceType = INPUT_USE_KEYBOARD; mOptions->input[1].deviceType = INPUT_USE_GAMECONTROLLER; @@ -286,8 +274,6 @@ bool Director::loadConfigFile() mOptions->fullScreenMode = 0; if ((mOptions->windowSize < 1) || (mOptions->windowSize > 4)) mOptions->windowSize = 3; - if ((mOptions->language < 0) || (mOptions->language > MAX_LANGUAGES)) - mOptions->language = en_UK; // Cierra el fichero SDL_RWclose(file); @@ -365,7 +351,7 @@ void Director::runTitle() void Director::runGame() { - mGame = new Game(mWindow, mRenderer, mAsset, mLang, mInput); + mGame = new Game(mWindow, mRenderer, mAsset, mInput); setSection(mGame->run()); delete mGame; } diff --git a/source/director.h b/source/director.h index e3e963c..2b242c3 100644 --- a/source/director.h +++ b/source/director.h @@ -3,16 +3,13 @@ #include "sprite.h" #include "movingsprite.h" #include "text.h" -#include "writer.h" #include "menu.h" #include "const.h" #include "jail_audio.h" #include "utils.h" #include "input.h" -#include "fade.h" #include "game.h" #include "asset.h" -#include "lang.h" #ifndef DIRECTOR_H #define DIRECTOR_H @@ -27,7 +24,6 @@ private: SDL_Renderer *mRenderer; // El renderizador de la ventana Input *mInput; // Objeto Input para gestionar las entradas - Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas Game *mGame; // Objeto para la sección del juego Asset *mAsset; // Objeto que gestiona todos los ficheros de recursos diff --git a/source/enemy.cpp b/source/enemy.cpp index ef208d9..69069f8 100644 --- a/source/enemy.cpp +++ b/source/enemy.cpp @@ -56,7 +56,7 @@ Enemy::~Enemy() } // Pinta el enemigo en pantalla -void Enemy::draw() +void Enemy::render() { sprite->getTexture()->setColor(color.r, color.g, color.b); sprite->render(); diff --git a/source/enemy.h b/source/enemy.h index 048bf40..5142317 100644 --- a/source/enemy.h +++ b/source/enemy.h @@ -69,7 +69,7 @@ public: ~Enemy(); // Pinta el enemigo en pantalla - void draw(); + void render(); // Actualiza las variables del objeto void update(); diff --git a/source/fade.cpp b/source/fade.cpp deleted file mode 100644 index 21fa3ee..0000000 --- a/source/fade.cpp +++ /dev/null @@ -1,169 +0,0 @@ -#include "fade.h" -#include "const.h" - -// Constructor -Fade::Fade(SDL_Renderer *renderer) -{ - mRenderer = renderer; - - mBackbuffer = SDL_CreateTexture(mRenderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, SCREEN_WIDTH, SCREEN_HEIGHT); - if (mBackbuffer == NULL) - printf("Backbuffer could not be created!\nSDL Error: %s\n", SDL_GetError()); -} - -// Destructor -Fade::~Fade() -{ - SDL_DestroyTexture(mBackbuffer); - mBackbuffer = nullptr; -} - -// Inicializa las variables -void Fade::init(Uint8 r, Uint8 g, Uint8 b) -{ - mFadeType = FADE_CENTER; - mEnabled = false; - mFinished = false; - mCounter = 0; - mR = r; - mG = g; - mB = b; -} - -// Pinta una transición en pantalla -void Fade::render() -{ - if (mEnabled && !mFinished) - { - switch (mFadeType) - { - case FADE_FULLSCREEN: - mRect1 = {0, 0, SCREEN_WIDTH, SCREEN_HEIGHT}; - - for (int i = 0; i < 256; i += 4) - { - // Dibujamos sobre el renderizador - SDL_SetRenderTarget(mRenderer, NULL); - - // Copia el backbuffer con la imagen que había al renderizador - SDL_RenderCopy(mRenderer, mBackbuffer, NULL, NULL); - - SDL_SetRenderDrawColor(mRenderer, mR, mG, mB, i); - SDL_RenderFillRect(mRenderer, &mRect1); - - // Vuelca el renderizador en pantalla - SDL_RenderPresent(mRenderer); - } - - // Deja todos los buffers del mismo color - SDL_SetRenderTarget(mRenderer, mBackbuffer); - SDL_SetRenderDrawColor(mRenderer, mR, mG, mB, 255); - SDL_RenderClear(mRenderer); - - SDL_SetRenderTarget(mRenderer, NULL); - SDL_SetRenderDrawColor(mRenderer, mR, mG, mB, 255); - SDL_RenderClear(mRenderer); - break; - - case FADE_CENTER: - mRect1 = {0, 0, SCREEN_WIDTH, 0}; - mRect2 = {0, 0, SCREEN_WIDTH, 0}; - - SDL_SetRenderDrawColor(mRenderer, mR, mG, mB, 64); - - for (int i = 0; i < mCounter; i++) - { - mRect1.h = mRect2.h = i * 4; - mRect2.y = SCREEN_HEIGHT - (i * 4); - - SDL_RenderFillRect(mRenderer, &mRect1); - SDL_RenderFillRect(mRenderer, &mRect2); - } - - if ((mCounter * 4) > SCREEN_HEIGHT) - mFinished = true; - break; - - case FADE_RANDOM_SQUARE: - mRect1 = {0, 0, 32, 32}; - - for (Uint16 i = 0; i < 50; i++) - { - // Crea un color al azar - mR = 255 * (rand() % 2); - mG = 255 * (rand() % 2); - mB = 255 * (rand() % 2); - SDL_SetRenderDrawColor(mRenderer, mR, mG, mB, 64); - - // Dibujamos sobre el backbuffer - SDL_SetRenderTarget(mRenderer, mBackbuffer); - - mRect1.x = rand() % (SCREEN_WIDTH - mRect1.w); - mRect1.y = rand() % (SCREEN_HEIGHT - mRect1.h); - SDL_RenderFillRect(mRenderer, &mRect1); - - // Volvemos a usar el renderizador de forma normal - SDL_SetRenderTarget(mRenderer, NULL); - - // Copiamos el backbuffer al renderizador - SDL_RenderCopy(mRenderer, mBackbuffer, NULL, NULL); - - // Volcamos el renderizador en pantalla - SDL_RenderPresent(mRenderer); - SDL_Delay(100); - } - break; - - default: - break; - } - } - - if (mFinished) - { - SDL_SetRenderDrawColor(mRenderer, mR, mG, mB, 255); - SDL_RenderClear(mRenderer); - } -} - -// Actualiza las variables internas -void Fade::update() -{ - if (mEnabled) - mCounter++; -} - -// Activa el fade -void Fade::activateFade() -{ - mEnabled = true; - mFinished = false; - mCounter = 0; -} - -// Comprueba si está activo -bool Fade::isEnabled() -{ - return mEnabled; -} - -// Comprueba si ha terminado la transicion -bool Fade::hasEnded() -{ - if (mFinished) - { - //mEnabled = false; - //mFinished = false; - return true; - } - else - { - return false; - } -} - -// Establece el tipo de fade -void Fade::setFadeType(Uint8 fadeType) -{ - mFadeType = fadeType; -} \ No newline at end of file diff --git a/source/fade.h b/source/fade.h deleted file mode 100644 index b5612ad..0000000 --- a/source/fade.h +++ /dev/null @@ -1,55 +0,0 @@ -#pragma once -#include "ifdefs.h" -#include "ltexture.h" - -#ifndef FADE_H -#define FADE_H - -#define FADE_FULLSCREEN 0 -#define FADE_CENTER 1 -#define FADE_RANDOM_SQUARE 2 - -// Fade -class Fade -{ -private: - SDL_Renderer *mRenderer; // El renderizador de la ventana - SDL_Texture *mBackbuffer; // Textura para usar como backbuffer - Uint8 mFadeType; // Tipo de fade a realizar - Uint16 mCounter; // Contador interno - bool mEnabled; // Indica si el fade está activo - bool mFinished; // Indica si ha terminado la transición - Uint8 mR, mG, mB; // Colores para el fade - SDL_Rect mRect1; // Rectangulo usado para crear los efectos de transición - SDL_Rect mRect2; // Rectangulo usado para crear los efectos de transición - -public: - // Constructor - Fade(SDL_Renderer *renderer); - - // Destructor - ~Fade(); - - // Inicializa las variables - void init(Uint8 r, Uint8 g, Uint8 b); - - // Pinta una transición en pantalla - void render(); - - // Actualiza las variables internas - void update(); - - // Activa el fade - void activateFade(); - - // Comprueba si ha terminado la transicion - bool hasEnded(); - - // Comprueba si está activo - bool isEnabled(); - - // Establece el tipo de fade - void setFadeType(Uint8 fadeType); -}; - -#endif \ No newline at end of file diff --git a/source/game.cpp b/source/game.cpp index 091ec14..d41b011 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -1,7 +1,7 @@ #include "game.h" // Constructor -Game::Game(SDL_Window *window, SDL_Renderer *renderer, Asset *asset, Lang *lang, Input *input) +Game::Game(SDL_Window *window, SDL_Renderer *renderer, Asset *asset, Input *input) { // Inicia variables currentRoom = "01.room"; @@ -65,7 +65,7 @@ section_t Game::run() if (section.subsection == SECTION_GAME_PLAY) { update(); - draw(); + render(); } } @@ -104,16 +104,16 @@ void Game::update() } // Pinta los objetos en pantalla -void Game::draw() +void Game::render() { // Prepara para dibujar el frame screen->start(); screen->clean(room->getBGColor()); - room->drawMap(); - room->drawEnemies(); - room->drawItems(); - player->draw(); + room->renderMap(); + room->renderEnemies(); + room->renderItems(); + player->render(); // Texto en el centro de la pantalla SDL_Rect rect = {0, 16 * 8, PLAY_AREA_RIGHT, 8}; diff --git a/source/game.h b/source/game.h index 73b32c8..4ff8cee 100644 --- a/source/game.h +++ b/source/game.h @@ -5,11 +5,8 @@ #include "sprite.h" #include "movingsprite.h" #include "text.h" -#include "writer.h" #include "menu.h" #include "input.h" -#include "fade.h" -#include "lang.h" #include "screen.h" #include "asset.h" #include "room.h" @@ -44,7 +41,7 @@ private: void update(); // Pinta los objetos en pantalla - void draw(); + void render(); // Comprueba la entrada y actua void checkInput(); @@ -72,7 +69,7 @@ private: public: // Constructor - Game(SDL_Window *window, SDL_Renderer *renderer, Asset *asset, Lang *lang, Input *input); + Game(SDL_Window *window, SDL_Renderer *renderer, Asset *asset, Input *input); // Destructor ~Game(); diff --git a/source/item.cpp b/source/item.cpp index b155ad1..0a6a33d 100644 --- a/source/item.cpp +++ b/source/item.cpp @@ -52,7 +52,7 @@ Item::~Item() } // Pinta el objeto en pantalla -void Item::draw() +void Item::render() { const int index = (counter / 2) % color.size(); sprite->getTexture()->setColor(color[index].r, color[index].g, color[index].b); diff --git a/source/item.h b/source/item.h index f7e0174..dcc54b8 100644 --- a/source/item.h +++ b/source/item.h @@ -48,7 +48,7 @@ public: ~Item(); // Pinta el objeto en pantalla - void draw(); + void render(); // Actualiza las variables del objeto void update(); diff --git a/source/lang.cpp b/source/lang.cpp deleted file mode 100644 index c89f096..0000000 --- a/source/lang.cpp +++ /dev/null @@ -1,74 +0,0 @@ -#include "lang.h" -#include -#include - -// Constructor -Lang::Lang(Asset *asset) -{ - mAsset = asset; -} - -// Destructor -Lang::~Lang() -{ - mAsset = nullptr; -} - -// Inicializa los textos del juego en el idioma seleccionado -bool Lang::setLang(Uint8 lang) -{ - std::string file; - - switch (lang) - { - case es_ES: - file = mAsset->get("es_ES.txt"); - break; - - case en_UK: - file = mAsset->get("en_UK.txt"); - break; - - case ba_BA: - file = mAsset->get("ba_BA.txt"); - break; - - default: - file = mAsset->get("en_UK.txt"); - break; - } - - for (int i = 0; i < MAX_TEXT_STRINGS; i++) - mTextStrings[i] = ""; - - bool success = false; - - std::ifstream rfile(file); - if (rfile.is_open() && rfile.good()) - { - success = true; - std::string buffer; - - // lee el resto de datos del fichero - int index = 0; - int line_read = 0; - while (std::getline(rfile, buffer)) - { - // Almacena solo las lineas impares - if (line_read % 2 == 1) - mTextStrings[index++] = buffer; - - // Limpia el buffer - buffer.clear(); - line_read++; - }; - } - - return success; -} - -// Obtiene la cadena de texto del indice -std::string Lang::getText(int index) -{ - return mTextStrings[index]; -} \ No newline at end of file diff --git a/source/lang.h b/source/lang.h deleted file mode 100644 index d30cf65..0000000 --- a/source/lang.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once -#include "ifdefs.h" -#include "asset.h" -#include - -#ifndef LANG_H -#define LANG_H - -// Lang codes -#define es_ES 0 -#define ba_BA 1 -#define en_UK 2 -#define MAX_LANGUAGES 3 - -// Textos -#define MAX_TEXT_STRINGS 100 - -// Clase Lang -class Lang -{ -private: - Asset *mAsset; - std::string mTextStrings[MAX_TEXT_STRINGS]; - -public: - // Constructor - Lang(Asset *asset); - - // Destructor - ~Lang(); - - // Inicializa los textos del juego en el idioma seleccionado - bool setLang(Uint8 lang); - - // Obtiene la cadena de texto del indice - std::string getText(int index); -}; -#endif \ No newline at end of file diff --git a/source/player.cpp b/source/player.cpp index 834ca92..f1aec44 100644 --- a/source/player.cpp +++ b/source/player.cpp @@ -63,7 +63,7 @@ Player::~Player() } // Pinta el enemigo en pantalla -void Player::draw() +void Player::render() { sprite->getTexture()->setColor(color.r, color.g, color.b); sprite->render(); diff --git a/source/player.h b/source/player.h index 5d826ee..e4febe9 100644 --- a/source/player.h +++ b/source/player.h @@ -79,7 +79,7 @@ public: ~Player(); // Pinta el enemigo en pantalla - void draw(); + void render(); // Actualiza las variables del objeto void update(); diff --git a/source/room.cpp b/source/room.cpp index 4c7a1bf..a03fdc4 100644 --- a/source/room.cpp +++ b/source/room.cpp @@ -375,14 +375,12 @@ void Room::fillMapTexture() // Los tilesets son de 20x20 tiles. El primer tile es el 1. Cuentan hacia la derecha y hacia abajo - // printf("Filling map\n"); SDL_Rect clip = {0, 0, 8, 8}; for (int y = 0; y < 16; y++) for (int x = 0; x < 32; x++) { clip.x = ((tilemap[(y * 32) + x] - 1) % 20) * 8; clip.y = ((tilemap[(y * 32) + x] - 1) / 20) * 8; - // printf("tilemap [%i] = %i | x = %i | y = %i\n", ((y * 32) + x), tilemap[(y * 32) + x], clip.x, clip.y); texture->render(renderer, x * 8, y * 8, &clip); } @@ -390,7 +388,7 @@ void Room::fillMapTexture() } // Dibuja el mapa en pantalla -void Room::drawMap() +void Room::renderMap() { SDL_Rect rect = {0, 0, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT}; @@ -399,20 +397,20 @@ void Room::drawMap() } // Dibuja los enemigos en pantalla -void Room::drawEnemies() +void Room::renderEnemies() { for (auto enemy : enemies) { - enemy->draw(); + enemy->render(); } } // Dibuja los objetos en pantalla -void Room::drawItems() +void Room::renderItems() { for (auto item : items) { - item->draw(); + item->render(); } } diff --git a/source/room.h b/source/room.h index 49f30dd..f205cdb 100644 --- a/source/room.h +++ b/source/room.h @@ -80,13 +80,13 @@ public: color_t getBGColor(); // Dibuja el mapa en pantalla - void drawMap(); + void renderMap(); // Dibuja los enemigos en pantalla - void drawEnemies(); + void renderEnemies(); // Dibuja los objetos en pantalla - void drawItems(); + void renderItems(); // Actualiza las variables y objetos de la habitación void update(); diff --git a/source/writer.cpp b/source/writer.cpp deleted file mode 100644 index ef9cfa7..0000000 --- a/source/writer.cpp +++ /dev/null @@ -1,158 +0,0 @@ -#include "const.h" -#include "writer.h" - -// Constructor -Writer::Writer(Text *text) -{ - mText = text; - init(); -} - -// Destructor -Writer::~Writer() -{ - mText = nullptr; -} - -// Inicializador -void Writer::init() -{ - mPosX = 0; - mPosY = 0; - mKerning = 0; - mCaption = ""; - mSpeed = 0; - mTimer = 0; - mIndex = 0; - mLenght = 0; - mCompleted = false; - mEnabled = false; - mEnabledTimer = 0; - mId = -1; - mIntroEvents = nullptr; -} - -// Establece el valor de la variable -void Writer::setPosX(int value) -{ - mPosX = value; -} - -// Establece el valor de la variable -void Writer::setPosY(int value) -{ - mPosY = value; -} - -// Establece el valor de la variable -void Writer::setKerning(int value) -{ - mKerning = value; -} - -// Establece el valor de la variable -void Writer::setCaption(std::string text) -{ - mCaption = text; - mLenght = text.length(); -} - -// Establece el valor de la variable -void Writer::setSpeed(Uint16 value) -{ - mSpeed = value; - mTimer = value; -} - -// Establece el valor de la variable -void Writer::setEnabled(bool value) -{ - mEnabled = value; -} - -// Obtiene el valor de la variable -bool Writer::IsEnabled() -{ - return mEnabled; -} - -// Establece el valor de la variable -void Writer::setEnabledTimer(Uint16 value) -{ - mEnabledTimer = value; -} - -// Obtiene el valor de la variable -Uint16 Writer::getEnabledTimer() -{ - return mEnabledTimer; -} - -// Actualiza el objeto -void Writer::update() -{ - if (mEnabled) - { - if (mCompleted == false) - { - if (mTimer > 0) - { - mTimer--; - } - if (mTimer == 0) - { - mIndex++; - mTimer = mSpeed; - } - if (mIndex == mLenght) - { - mCompleted = true; - } - } - if (mCompleted) - { - if (mEnabledTimer > 0) - { - mEnabledTimer--; - } - else if (mEnabledTimer == 0) - { - if (mId < 0) - { - mEnabled = false; - } - else - { - mIntroEvents[mId] = EVENT_COMPLETED; - } - } - } - } -} - -// Dibuja el objeto en pantalla -void Writer::render() -{ - if (mEnabled) - { - mText->write(mPosX, mPosY, mCaption, mKerning, mIndex); - } -} - -// Centra la cadena de texto a un punto X -void Writer::center(int x) -{ - setPosX(x - (mText->lenght(mCaption, mKerning) / 2)); -} - -// Establece el valor de la variable -void Writer::setId(int id) -{ - mId = id; -} - -// Establece el valor de la variable -void Writer::setIntroEvents(Uint8 *value) -{ - mIntroEvents = value; -} diff --git a/source/writer.h b/source/writer.h deleted file mode 100644 index b3a4051..0000000 --- a/source/writer.h +++ /dev/null @@ -1,80 +0,0 @@ -#pragma once -#include "sprite.h" -#include "text.h" - -#ifndef WRITER_H -#define WRITER_H - -// Clase texto. Pinta texto en pantalla a partir de un bitmap -class Writer -{ -private: - int mPosX; // Posicion en el eje X donde empezar a escribir el texto - int mPosY; // Posicion en el eje Y donde empezar a escribir el texto - int mKerning; // Kerning del texto, es decir, espaciado entre caracteres - std::string mCaption; // El texto para escribir - Uint16 mSpeed; // Velocidad de escritura - Uint16 mTimer; // Temporizador de escritura para cada caracter - Uint16 mIndex; // Posición del texto que se está escribiendo - Uint16 mLenght; // Longitud de la cadena a escribir - bool mCompleted; // Indica si se ha escrito todo el texto - bool mEnabled; // Indica si el objeto está habilitado - Uint16 mEnabledTimer; // Temporizador para deshabilitar el objeto - int mId; // Temporizador para deshabilitar el objeto - Uint8 *mIntroEvents; // Dirección del array de eventos donde notificar el estado - Text *mText; // Objeto encargado de escribir el texto - -public: - // Constructor - Writer(Text *text); - - // Destructor - ~Writer(); - - // Inicializador - void init(); - - // Establece el valor de la variable - void setPosX(int value); - - // Establece el valor de la variable - void setPosY(int value); - - // Establece el valor de la variable - void setKerning(int value); - - // Establece el valor de la variable - void setCaption(std::string text); - - // Establece el valor de la variable - void setSpeed(Uint16 value); - - // Establece el valor de la variable - void setEnabled(bool value); - - // Obtiene el valor de la variable - bool IsEnabled(); - - // Establece el valor de la variable - void setEnabledTimer(Uint16 value); - - // Obtiene el valor de la variable - Uint16 getEnabledTimer(); - - // Actualiza el objeto - void update(); - - // Dibuja el objeto en pantalla - void render(); - - // Centra la cadena de texto a un punto X - void center(int x); - - // Establece el valor de la variable - void setId(int id); - - // Establece el valor de la variable - void setIntroEvents(Uint8 *value); -}; - -#endif diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..bec5464 --- /dev/null +++ b/todo.md @@ -0,0 +1,46 @@ +## TAREAS +(A) Hacer que deje de poder moverse tras el salto al alcanzar la misma posicion en altura que tenia cuando saltó {cm:2022-08-29} +(A) Arreglar que no atraviese tiles atravaseables al caer muy rapido {cm:2022-08-29} +(A) Leer los mapas directamente del archivo tmx {cm:2022-08-29} +(A) Crear la clase item {cm:2022-08-29} +(A) Colisiones con los enemigos {cm:2022-08-29} +(A) Decidir un diseño para qué sucede en caso de morir: Recordar el punto por donde se entró al mapa y la velocidad en el eje X/Y que llevaba el personaje, crear puntos de reaparicion en las habitaciones, etc {cm:2022-08-29} + En el Jet Set Willy el juego recuerda la posicion y el momento. En las Tres Luces de Glaurung solo la posición. Se va a optar por seguir el diseño del Jet Set Willy {cm:2022-08-29} +(A) Crear tiles que maten {cm:2022-08-29} +(A) Crear tiles que deslicen, (no tipo hielo sino cinta) +(A) Tiles animados +(A) Crear ascensores +(A) Enemigos de diferente tamaño +(A) Color de los items +(A) Temporizador de inicio de los items + + +## TEMAS +arounders +paku simbel +jail battle +arounders race +aee gba +matatunos +sigmasua +calculin doom +leaper reaper +mini ascii +mappy +paco +chirping +abad y batman +jail +counter strike +starcraft +diablo +jailparty +maniac mansion +molotov +tutorials +gavina +puzzle restorer +qvoid +brick roll +dante's fall +repairing computers diff --git a/todo.txt b/todo.txt deleted file mode 100644 index a988808..0000000 --- a/todo.txt +++ /dev/null @@ -1,45 +0,0 @@ -[x] Hacer que deje de poder moverse tras el salto al alcanzar la misma posicion en altura que tenia cuando saltó -[x] Arreglar que no atraviese tiles atravaseables al caer muy rapido -[x] Leer los mapas directamente del archivo tmx -[x] Crear la clase item -[x] Colisiones con los enemigos -[x] Decidir un diseño para qué sucede en caso de morir: Recordar el punto por donde se entró al mapa y la velocidad en el eje X/Y que llevaba el personaje, crear puntos de reaparicion en las habitaciones, etc - En el Jet Set Willy el juego recuerda la posicion y el momento. En las Tres Luces de Glaurung solo la posición. Se va a optar por seguir el diseño del Jet Set Willy -[x] Crear tiles que maten -[ ] Crear tiles que deslicen, (no tipo hielo sino cinta) -[ ] Tiles animados -[ ] Crear ascensores -[ ] Enemigos de diferente tamaño -[ ] Color de los items -[ ] Temporizador de inicio de los items - - -TEMAS: -arounders -paku simbel -jail battle -arounders race -aee gba -matatunos -sigmasua -calculin doom -leaper reaper -mini ascii -mappy -paco -chirping -abad y batman -jail -counter strike -starcraft -diablo -jailparty -maniac mansion -molotov -tutorials -gavina -puzzle restorer -qvoid -brick roll -dante's fall -repairing computers