ldmoral1987 /
python-tic-tac-toe
Este proyecto contiene una implementación del clásico juego del tres en raya (Tic-Tac-Toe), usando Python y la librería easyAI
Loading repository data…
trevolcanm10 / repository
Implementación del clásico juego de estrategia 6 Hombres de Morris utilizando Python y Pygame. Cada jugador dispone de 6 fichas, y el objetivo es formar líneas de tres para eliminar las fichas del oponente. El tablero es el mismo que en Nine Men's Morris, lo que permite partidas tácticas y dinámicas
Este proyecto es una implementación del clásico Juego de Morris (también conocido como Nine Men's Morris o Mills) en Python. El juego permite jugar en los modos Jugador vs Jugador (PVP) y Jugador vs IA (PVE), y está construido con la librería pygame para la interfaz gráfica y numpy para optimizaciones de cálculo.
El objetivo del juego es alinear tres fichas en una fila (ya sea horizontal o vertical) para formar un molino. Cuando un jugador forma un molino, puede eliminar una ficha del oponente. El juego termina cuando un jugador reduce a su oponente a dos fichas o lo bloquea completamente, impidiendo que realice movimientos.
Este proyecto incluye:
El proyecto está organizado en varios archivos de Python, cada uno con un propósito específico:
Dificultad, que define los niveles de dificultad del juego (fácil, regular, difícil, extremo) y su respectiva profundidad para la IA.MorrisGame, que maneja la lógica del juego, incluyendo la representación del tablero, el turno de los jugadores, la colocación y el movimiento de las fichas, la eliminación de fichas y la detección de molinos.evaluar_tablero(), que evalúa el estado del juego y asigna una puntuación al tablero, considerando factores como la diferencia de fichas, los molinos formados, la amenaza de molinos, la movilidad de las piezas, el control de las posiciones centrales, y más. Esta evaluación es crucial para la toma de decisiones de la inteligencia artificial en el algoritmo Minimax.condaSi prefieres usar conda para gestionar tus entornos y dependencias, puedes crear un entorno específico para este proyecto y luego instalar las dependencias necesarias.
Crea un entorno de conda para el proyecto:
conda create --name morris_game python=3.8
Activa el entorno:
conda activate morris_game
Instala las dependencias utilizando conda (y pip cuando no estén disponibles en el repositorio de conda):
conda install pygame numpy
pip install pygame numpy
Ejecución
Para ejecutar el juego, simplemente corre el siguiente comando: ```bash
python main.py
El programa iniciará el menú donde podrás elegir entre los modos: 1.PVP: Jugador vs Jugador (dos jugadores en el mismo dispositivo). 2.PVE: Jugador vs IA, con la opción de seleccionar el nivel de dificultad y quién inicia la partida.
Modo de Juego
-Fase de colocación: Los jugadores colocan sus fichas en el tablero. En esta fase, pueden colocar fichas en cualquier punto vacío.
-Fase de movimiento: Después de que ambos jugadores hayan colocado todas sus piezas, pueden moverlas por el tablero.
-Eliminación: Cuando un jugador forma un molino (tres fichas alineadas), puede eliminar una ficha del oponente.
-Final del juego: El juego termina cuando un jugador reduce al oponente a dos fichas o lo bloquea completamente, impidiendo que realice movimientos.
Evaluación del Tablero
-La evaluación del tablero es una parte crucial del algoritmo Minimax utilizado para la IA. La función evaluar_tablero() analiza el estado actual del tablero y asigna una puntuación para ayudar a la IA a decidir qué movimiento realizar. Los factores evaluados son:
-Diferencia de fichas: Se cuenta cuántas fichas tiene cada jugador en el tablero y se otorgan puntos positivos para el jugador actual y puntos negativos para el oponente.
-Molinos formados: Se da una gran recompensa por formar un molino (tres fichas alineadas), y se penaliza al oponente si forma un molino.
-Amenaza de molino: Si el jugador o el oponente está a punto de formar un molino, se incentiva o penaliza según corresponda.
-Posibilidad futura de molino: Se valora la presión ofensiva de un jugador que podría formar un molino en el futuro.
-Movilidad: Se cuenta cuántos movimientos posibles tiene cada jugador. Se premia a los jugadores con más opciones de movimiento.
-Control de posiciones centrales: Se otorgan puntos por ocupar las posiciones centrales del tablero, que son estratégicamente ventajosas.
-Fichas bloqueadas: Se penaliza al jugador si tiene fichas bloqueadas que no pueden moverse.
-Eliminación de fichas: Se dan puntos por cada ficha eliminada del oponente.
-Vuelo (modo con 3 fichas): Cuando un jugador tiene solo 3 fichas en el tablero, puede "volar" a cualquier casilla vacía. Se premia el uso de esta ventaja.
-Victoria técnica: Si un jugador reduce al oponente a 2 fichas o no puede realizar movimientos, se considera una victoria.
Selected from shared topics, language and repository description—not editorial ratings.
ldmoral1987 /
Este proyecto contiene una implementación del clásico juego del tres en raya (Tic-Tac-Toe), usando Python y la librería easyAI
ingelozano /
Implementación del clásico juego de la serpiente en Python utilizando la biblioteca Pygame.
jmramirez0510 /
Este proyecto es una implementación del clásico juego Pac-Man desarrollado en Python con Pygame.
alecsoc /
Implementación del clásico "Space Invaders", adaptado para el proyecto final 'Arcade Machine' de la cátedra Taller de Objetos y Abstracción de Datos, de la Universidad de Oriente.
Jona163 /
Este proyecto es una implementación del clásico juego Tetris en Python utilizando la biblioteca Tkinter para la interfaz gráfica. Además, se han realizado mejoras visuales para hacerlo más atractivo, como colores vibrantes, bordes redondeados y tipografía moderna.
Alex-coder-software /
Este proyecto es una implementación en Python del clásico juego del Ahorcado. Un jugador elige una palabra secreta y el otro debe adivinarla antes de quedarse sin vidas. El juego revela las letras correctas y permite adivinar la palabra completa en cualquier momento. Ideal para practicar lógica y programación básica en Python.