Tres aliñados
1989/07/01 Arrojeria, Eustakio - Elhuyar Zientziaren Komunikazioa | Lizaso, Pili - Informatika SailaElhuyar Fundazioa Iturria: Elhuyar aldizkaria
Vimos de novo coa intención de ofrecer un novo programa nesta sección na que nos atopamos. Con todo, como creemos que en todas as cousas un pequeno descanso é bo, entramos no verán e quixemos aproveitar o ambiente vacacional paira saír un pouco da liña que traballamos ao longo do ano.
Aínda que a maioría dos programas até agora estiveron relacionados pouco ou máis con materias (xa sexa física, matemáticas, etc.), parécenos máis oportuno incluír un xogo neste número.
O xogo de tres aliñacións será seguramente coñecido paira todos, pero polo si ou polo non aquí van as regras.
- Cada xogador ten tres fichas, sendo diferentes as fichas de cada xogador.
- O xogo consiste en aliñar tres fichas iguais.
- O primeiro xogador deberá colocar a primeira ficha no centro e esta nunca se moverá de alí. En cada xogada moverase una ficha.
As posibles solucións que pode obter cada xogador son:
![](images/A25030-a.jpg)
![](images/A25030.jpg)
Aínda que a explicación do programa e o propio programa son máis longas que noutras ocasións, non te asustes porque resultarache moi fácil de usar. Así que ánimo e xoga tranquilo.
Partes do programa:
- 10-50: Inicialización do programa. Nel defínense os posibles resultados ou solucións de cada xogador (50).
- 60-90: Representar a táboa.
- 100-210: Elixir si serán 1 ou 2 xogadores e presentar cada un. Si é un só xogador, xogará co computador; o
xogador deberá elixir quen empeza o xogo. - 220: A primeira ficha do primeiro xogador colocarase automaticamente no centro e non se poderá mover por aquí.
- 230-420: Localización das fichas por primeira vez na
táboa.Si o xogador ao que lle toca mover as fichas é un computador, a chamada realizarase a unha subrutina (250,340). Nel (690) analizarase o lugar
no que lle convén colocar a ficha. Si o xogador non é una ordenador, preguntaráselle ao propio xogador onde quere colocar a ficha, sendo a única condición que debe cumprir a súa resposta: Estar comprendido entre o 1 e o 9, non ter 5 (o medio) e non ocupar dita posición. Se a posición elixida está libre,
situarase na mesma a ficha correspondente ao xogador que está a xogar (310, do xogador 1, 400, 2) e dita posición quedará marcada por un signo representativo. No caso de que a posición elixida xa estivese ocupada, emitirase
unha mensaxe informando o problema. Axiña que como un xogador coloque a terceira ficha e despois de cada xogada posterior deberase comprobar se se completou una liña. (330,410). - 430-620: Una vez colocadas as tres fichas na táboa, cada xogador deberá continuar realizando os movementos por quendas ata que uno deles consiga completar a liña. Se o xogador
non é o computador, preguntaráselle por onde quere mover a ficha e se o xogo solicitado é lóxico, é dicir, se as dúas posicións dadas son do 1 ao 9, salvo o 5 (xa que non se pode tocar despois da ocupación inicial desta posición), si no lugar que desexa librar había una ficha de 600 (490), se o espazo estaba baleiro. Despois de cada xogada haberá que ver se o que xogou nese momento conseguiu completar a liña (610). - 630-680: Cando o programa detecte que se formou una liña, indicará quen foi o gañador. O programa principal que vimos
até agora sería dalgunha maneira, pero como ocorre en moitas ocasións, as subrutinas son tan importantes como o programa principal. Antes mencionamos un que comproba si completouse a liña (920-1020). Ademais hai outras tres subrutinas que definen os puntos que o computador ten en conta á hora de xogar e, dalgunha maneira, o seu “comportamento”. Pasemos a analizar máis detidamente cada un destes subapartados. - 920-1030: Comprobar acción: O programa principal indicaralle o xogador que xogou a última xogada. Nesta subrutina teranse en conta as posicións que ocupan as fichas de cada xogador, creando dúas cadeas diferentes; una por cada xogador (BAT$, BI$).
A función desta subrutina será comprobar se a sub-tarefa que corresponde ao xogador atópase entre os seus posibles resultados (KAT$1, KAT$2), así como o gañador. - 690-910: Definir acción: Defínese a xogada que debe realizar o computador, calculando por onde debe moverse a ficha. Paira definir onde debe moverse a ficha, dará un máximo de 3 pasos:
- Se el pode completar a liña
a definir
se a outra liña
é- definir o primeiro espazo dispoñible
en noratzatambaldinambaldi
Nos dous primeiros casos realízase a chamada á acción na que se pode completar a Liña. Paira definir por onde hai que moverse, a chamada desprazarase á acción.
- Se el pode completar a liña
- 1040-1190: Acción que pode formar a liña Analiza as posibilidades de gañar dun xogador, comparando a situación do xogador coas súas posibles solucións. Paira definir NORA, as dúas posicións da situación deben coincidir coas dúas posicións dun posible resultado e a terceira posición que compón o resultado debe estar libre. NORA será esa terceira posición.
- 1200-1360: De onde mover a
acción Hai que diferenciar dous posibles casos:- Se aínda non ten ningunha ficha por localizar, non debe definir DESDE.
- Cando as tres fichas xa están colocadas na táboa:
- Se el ha visto que pode completar a liña, deberá deixar as dúas fichas que coinciden co resultado, movendo a outra.
- Se el non pode conseguilo, deberá impedir ao outro xogador. Paira iso deberá analizar as posibilidades do outro e ter en conta as posibles afeccións que pode ter o movemento de cada una das súas fichas.
![](images/A25030-b.jpg)
![](https://elia.eus/static/elhuyar/img/elia_RGB.png)
Gai honi buruzko eduki gehiago
Elhuyarrek garatutako teknologia