Correo: dzapata19@alumnos.utalca.cl Introducción Bueno, quien no ha jugado alguna vez el juego del gato, también conocido como tres en línea o tic tac toe. Llega a ser tan sencillo como dibujar un tablero de 9 casillas (tres por tres), y luego ir colocando “x” u “o” según lo que corresponda y el jugador que primero logre alinear tres de estos caracteres gana. Este trabajo, trata de poder implementar ese famoso juego programándolo en lenguaje Python. Sin poder utilizar algunas herramientas que podrían facilitar este proceso (como por ejemplo listas o matrices), se implementará un método de poder crear este juego de manera mas “artesana” y con la utilización de funciones para, prácticamente, cada proceso. Modelado del problema Basándonos en el juego original del gato, necesitamos simular una matriz, donde cada casilla tendrá una variable (global) asignada la cual será sustituida por “x” u “o” según se requiera. El programa debe ser capaz de poder cambiar los valores de las variables según haya tirado la maquina o el usuario y luego tendrá que proceder a decir quien es el ganador de la partida. Para poder decidir el ganador el programa debe de realizar un análisis, el cual consiste en que, si hay tres “x” en línea, el jugador sería el ganador, si hay tres “o” en línea seria la maquina y de haberse completado el tablero y no exista ninguna de las otras dos opciones existiría un empate. Interacción jugador – maquina La interacción es bastante explicativa en el programa, y a continuación se podrá apreciar ello:
Se da las opciones a elegir para el programa se ejecute de tal
manera, siendo estas las vistas en la imagen anterior.
Se da los resultados de una jugada de dados simples (6 lados), el
numero mayor resultante, seria quien comenzaría la primera jugada en el programa. Como se puede apreciar en la imagen se ve un tablero con números en cada casilla, estos corresponden al numero que se tiene que ingresar para poder realizar el movimiento o jugada deseada. Estrategia de la maquina Generalmente cuando uno es el segundo en realizar una jugada, esta sería más defensiva que ofensiva, por lo cual, se intentaría dejar sin opciones de ganar al rival, o bueno si se puede de poder ganar la partida. Por ello la maquina al ser configurada para ser más defensiva, cuando se vea el peligro de poder perder la partida, la maquina lanzará en la casilla que necesite para así no dejar ganar a su rival, o en este caso al jugador. Diagrama de flujo