GithubHelp home page GithubHelp logo

diego2038 / mario_smart_ia Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mavelsterling/mario_smart_ia

0.0 0.0 0.0 5.49 MB

First Project for the course Introduction to Artificial Intelligence at Universidad del Valle.

TypeScript 81.47% CSS 10.29% HTML 8.24%

mario_smart_ia's Introduction

Mario_Smart_IA

Proyecto de la asignatura de Inteligencia Artificial, séptimo semestre de Ingenieria de Sistemas en la Universidad del Valle, Colombia.

Consiste en una matriz de juego donde un agente inteligente tiene como objetivo llegar a la meta evitando obstáculos y recolectando poderes.

Podrás usar la aplicación aquí.

Algoritmos de búsqueda

El agente inteligente encuentra la meta usando los siguientes algoritmos de búsqueda:

  1. Búsquedas no informadas:
  • Preferente por amplitud.
  • Preferente por profundidad evitando ciclos.
  • De costo uniforme.
  1. Búsquedas informadas:
  • Avara.
  • A*.

Puedes consultar los algoritmos de búsqueda mencionados anteriormente en internet.

Especificaciones

Mario buscará a la princesa de 5 formas diferentes (algoritmos de búsqueda).

  • Pasar por una casilla en blanco, una casilla que contenga un poder o encontrar a la princesa tendrá un costo de 1.

  • Pasar por una casilla que contenga un koopa, sin tener poderes activos tendrá un costo de 6.

  • Cuando tomamos un poder, este tendrá efecto a partir de la siguiente casilla.

  • Al tomar una flor se le otorgará a Mario una bola de fuego con la que podrá reducir el costo de pasar por un koopa de 6 a 1. El costo de pasar por una casilla seguirá siendo 1.

  • Al tomar una estrella las casillas pasarán de tener un costo de 1 a 0.5, durante 6 movimientos.

  • Pasar por una casilla que contenga un koopa, mientras Mario tenga el poder de la flor, tendrá un costo de 1.

  • Pasar por una casilla que contenga un koopa, mientras Mario tenga el poder de la estrella, tendrá un costo de 0.5.

  • Los poderes se pueden acumular, pero Mario no podrá tomar una flor mientras tenga el poder de una estrella y viceversa.

Como usar la aplicación

Estando en la interfaz de juego, se te pedirá seleccionar un archivo de texto para cargar una matriz.

Ejemplo:

1 0 0 0 0 0 0 0 1 1
0 3 1 1 0 1 1 0 0 1
1 1 1 1 0 1 1 1 3 0
0 0 0 0 0 1 1 1 1 0
2 1 1 1 0 0 0 0 5 5
0 0 0 1 0 1 1 1 1 5
0 1 0 0 0 5 5 5 0 0
0 1 1 0 1 1 1 1 1 0
0 4 4 0 1 1 1 6 0 0
1 1 1 1 1 1 1 0 1 1

Donde los números representan:

0 = Espacio en blanco, donde el agente puede pasar.
1 = Muro, obstáculo donde el agente no podra pasar.
2 = Mario, el agente inteligente.
3 = Poder de estrella, dura 6 casillas.
4 = Poder de flor, contiene 1 bola de fuego.
5 = Koopa, enemigo del agente.
6 = Princesa, el objetivo del agente.

Ejecución de la aplicación

Para ejecutar el código:

  1. Descargar el código fuente.
  2. Acceder a la carpeta raíz.
  3. Tener instalado:
    • nodejs
    • yarn
  4. Ejecutar los siguientes comandos:
    • yarn
    • yarn dev

Ahora la aplicación se estará ejecutando en http://127.0.0.1:5173

Encontrarás mas ejemplos en:

src/games

mario_smart_ia's People

Contributors

diego2038 avatar juandsoto avatar mavelsterling avatar

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.