Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shrondi/hundirflota-racket
Juego de Hundir la flota creado con interfaz gráfica en Racket/Scheme
https://github.com/shrondi/hundirflota-racket
hundir-la-flota lisp programacion-declarativa racket racket-graphical-interface-toolkit racket-gui racket-lang scheme uco
Last synced: about 1 month ago
JSON representation
Juego de Hundir la flota creado con interfaz gráfica en Racket/Scheme
- Host: GitHub
- URL: https://github.com/shrondi/hundirflota-racket
- Owner: Shrondi
- License: gpl-3.0
- Created: 2024-10-18T10:58:26.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-18T14:20:02.000Z (2 months ago)
- Last Synced: 2024-10-21T00:50:31.679Z (2 months ago)
- Topics: hundir-la-flota, lisp, programacion-declarativa, racket, racket-graphical-interface-toolkit, racket-gui, racket-lang, scheme, uco
- Language: Racket
- Homepage:
- Size: 36.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Proyecto Hundir la Flota
**Autor:** Carlos Lucena Robles
**Asignatura:** Programación Declarativa
**Curso:** 2023 - 2024
**Universidad:** Universidad de Córdoba
**Grado:** 4º de Ingeniería Informática---
## Descripción
Proyecto realizado para la asignatura de Programación Declarativa basado en el juego "Hundir la Flota" utilizando programación declarativa e interfaces gráficas en Racket.
---
## Versiones
### Versión 1: HundirFlotaV1
- Incluye caracteres Unicode (puede que algunos iconos no sean visibles dependiendo de la configuración del sistema operativo).
- Incluye una imagen con transparencia usada durante el cambio de turno que podría aparecer como opaca en algunos sistemas operativos. No afecta a la jugabilidad, solo es un efecto visual.### Versión 2: HundirFlotaV2
- No incluye los caracteres Unicode que son sustituidos por texto.
- No incluye la imagen con transparencia mostrada durante el cambio de turno.---
## Ejecución
### Desde el intérprete de Racket
1. Abrir el archivo `HundirFlotaVX/main.rkt` (siendo X el número de la versión 1 o 2) con el intérprete DrRacket (versión mínima 8.4).
2. Seleccionar la opción _"Determine language from source"_.
3. (Opcional) Para una ejecución más eficiente:
- Ir a **Choose Language > Show Details**.
- Activar **No debugging or profiling**.
- Desmarcar la casilla **Preserve Stacktrace**.
Esto mejorará el rendimiento y reducirá el consumo de memoria.
4. Pulsar sobre Run para que la aplicación empiece a ejecutarse.### Desde la aplicación compilada
Dentro del directorio `HundirFlotaVX_ejecutable/bin`, se encuentra la aplicación `main` compilada y lista para ser ejecuta sin necesidad de abrir el intérprete.**Extra:** Para crear un ejecutable, dentro del intérprete se encuentra la opción **Racket > Create Executable**. Esto permitirá generar un archivo instalable en otras máquinas, mejorando además la eficiencia al no depender del intérprete.
---
## Estructura del repositorio
```bash
HundirFlotaV1_ejecutable # Programa compilado
HundirFlotaV2_ejecutableHundirFlotaVX/ # Raíz del proyecto
|-- archivo-tableros/ # Archivos generados de tableros
|-- gui/ # Elementos de la interfaz
| |-- botones.rkt
| |-- canvas.rkt
| |-- dialogos.rkt
| |-- mensajes.rkt
| |-- opciones.rkt
| |-- paneles.rkt
| |-- temporizadores.rkt
| |-- textos.rkt
| |-- ventana.rkt
|-- funcionesCallback/ # Funciones de los elementos gráficos
| |-- callbackBotones.rkt
| |-- callbackCanvas.rkt
| |-- callbackDialogos.rkt
| |-- callbackOpciones.rkt
| |-- callbackTemporizadores.rkt
| |-- callbackVentanas.rkt
|-- funciones.rkt # Funciones generales
|-- funcionesGUI.rkt # Funciones específicas de la GUI
|-- turno.rkt # Función para cambiar el turno
|-- funcionesLimpiar.rkt # Limpieza de canvases
|-- funcionesColocar.rkt # Lógica para la colocación de barcos
|-- funcionesDibujar.rkt # Dibujado en el canvas
|-- funcionesDisparar.rkt # Lógica de disparo
|-- funcionesGenerar.rkt # Generación aleatoria de la colocación de barcos
|-- funcionesLogica.rkt # Lógica principal del juego
|-- imagenes/ # Recursos gráficos
|-- ayuda/ # Archivos de ayuda
|-- main.rkt # Archivo principal del programa
|-- estructuras.rkt # Definición de estructuras principales
|-- macros.rkt # Macros globalesLatex # Código LaTeX usado para generar la presentación
Presentacion_HundirFlota.pdf