Ensamblador - Ayuda programa

 
Vista:

Ayuda programa

Publicado por Jose Luis (1 intervención) el 04/05/2007 20:33:48
Hola, si alguien me pudiera hacer este programa me seria de gran ayuda y le estaria muy agradecido, un saludo.

Realiza un programa en ensamblador MIPS que juegue al tres en raya.
El tablero es de 3x3, en donde cada celda puede estar vacía o contener una X o una O, que representan a
los jugadores. Cada jugador colocará una ficha por turno. El juego finaliza cuando uno de los jugadores
coloca tres fichas en línea (recta o diagonal) o cuando se rellena el tablero completo, en ese caso se
considerará empate.
Para seleccionar la celda donde colocar una ficha, consideraremos las nueve celdas con los valores del 1
al 9, en el siguiente orden:
1 2 3
4 5 6
7 8 9
El jugador introducirá el número de la celda donde quiere introducir la ficha.
La representación gráfica en un ejemplo concreto podría ser ([] indica celda libre):
X[][]
[]O[]
[]XO
Turno del jugador 1, donde desea mover: 2
XX[]
[]O[]
[]XO
El programa ha de verificar que la celda donde queremos introducir una ficha esté libre.
Al jugador se le permitirá poder jugar contra otra persona o contra el ordenador.
En el caso de jugar contra el ordenador, tendremos varios niveles:
�� Nivel 1 (Fácil).- El ordenador selecciona una celda libre al azar.
�� Nivel 2 (Intermedio).- El ordenador se defiende evitando que hagamos el 3 en raya, es decir,
antes de mover, comprobará que no podemos hacer 3 en raya, en caso contrario colocará la ficha
para evitarlo. Si no hay amenaza de 3 en raya, el ordenador selecciona una jugada al azar como
en el nivel 1.
�� Nivel 3 (Avanzado).- Aquí primero intentará ganar comprobando si tiene la posibilidad de hacer
3 en raya, en caso contrario se comportará como en el nivel 2.
�� Nivel 4 (Maestro).- Aparte de considerar poder ganar o evitar perder como en los niveles
inferiores, aquí tendremos en cuenta consideraciones como que si la celda central (5) está libre y
nos da igual donde mover, es mejor hacerlo en esa celda. También, que si la celda central está
ocupada, siempre es mejor colocar una ficha en una esquina (celdas 1, 3 ,7 y 9) que en las zonas
centrales (celdas 2, 4, 6 y 8).
Deberás utilizar procedimientos para controlar el juego, como por ejemplo:
�� Para comprobar si hay 3 en raya.
�� Para pedir la jugada del ordenador según el nivel. Considerar que si estamos en un nivel y no
podemos encontrar una jugada con los requerimientos de ese nivel, podemos llamar al nivel
inferior.
�� Pedir movimiento al jugador. Así será más fácil plantear partidas jugador-jugador o jugadorordenador.
Así como poder elegir si el jugador sale o es el ordenador quien lo hace.
�� Escribir el tablero.
Puedes añadir todas las consideraciones adicionales que desees, como por ejemplo:
�� Pedir los nombres de los jugadores.
�� Poder jugar un campeonato al mejor de un número determinado de partidas. Cambiando el turno
en cada encuentro.
�� Implementar otro nivel de inteligencia superior.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda programa

Publicado por david (1 intervención) el 25/12/2008 17:23:28
Investiga minimax... es factible en un juego como el tres en raya.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar