Code Monkey home page Code Monkey logo

java-snake's Introduction

GS1-Snake

Repositorio Master del Snake

Managers:

Encargadas del control del flujo de datos principal del programa.

InputManager: Controla la entrada por teclado y activa lás acciones pertinentes.

DisplayManager: Frame y canvas donde se va a dibujar.

StateManager: Para cambiar entre los estados en ejecución.

SoundManager: Controla la reproducción y parada de audios.

FileManager: Lee y escribe en el archivo de texto simple que sirve de almacenamiento.

Estados:

Clases con logica entre a las entidades y relativa al juego.

Menu: Estado inicial de aplicaccíon permite al usuario cambiar entre estados.

OriginalGame: El Snake clásico de toda lavida.

Entidades:

Objetos dibujables y actualizables.

Button: Rectángulo que permite lanzár una accíon

Snake: Objeto serpiente que controlla los jugadores.

Food: Cuadrados simples que colisionan con snake.

StyledButton: Rectángulo con imagen que permite lanzár una accíon

Snake: Objeto serpiente que controlla los jugadores.

Food: Cuadrados simples que colisionan con snake.

Score: Entidad almacenadora de la puntuación en la partida actual.

Message: Rectangulo con información en texto.

Picture: Cuadrilatero simples que imprime una imagen.

Input: Entidad para la captura de caracteres y mostrarlas.

LeaderBoard: Intermediario para la muestra de la información de la puntuación.

java-snake's People

Contributors

zathey92 avatar rubenlee avatar jorgellitra avatar nauzetaduen avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

java-snake's Issues

Nunca usar DisplayManager.getInstance().getHeight()

Por favor, lean la documentación y lo que escribo, esto no te da el tamaño correcto, tienes que pillar el canvas con DisplayManager.getInstance().getCanvas().getHeight() y lo mismo para width. Además para optimizar no llames a DisplayManager.getInstance().getCanvas() varias veces, llamala 1 sola.

CellWidth/Height en Food y Snake

Debería ponerse un atributo en el estado del juego que fuera cellWidth y cellHeight, estos valores los pasas al new Food(...) y a Snake(...) por constructor.

No usar intersección de rectas

Operación muy costosa, se puede hacer comprobando que la posición no supere los 4 límites x<0, y<0 x< canvas.width, y< canvas.height

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.