Diferència entre revisions de la pàgina «M3 - Programació estructurada / Exercicis UF2: Mastermind»

De wikiserver
Dreceres ràpides: navegació, cerca
(Es crea la pàgina amb «Escriviu un programa que jugui al joc del mastermind. El programa genera quatre dígits aleatoris entre 0 i 9. L’objectiu del joc és encertar els quatre dígits aix...».)
 
Línia 20: Línia 20:
 
::-Dues taules de quatre números per guardar la jugada de la màquina i del jugador
 
::-Dues taules de quatre números per guardar la jugada de la màquina i del jugador
 
::-Dues variables que ens guardin el número d’encerts i d’aproximacions.
 
::-Dues variables que ens guardin el número d’encerts i d’aproximacions.
::-Seria convenient una variable que ens compti el número de jugades que ha fet el jugador, de forma que si és un inútil i no encerta mai, el
+
::-Seria convenient una variable que ens compti el número de jugades que ha fet el jugador, de forma que si és un inútil i no encerta mai, el programa acabi després d’un cert nombre d’intents.
programa acabi després d’un cert nombre d’intents.
 
  
 
:*Funcions que necessitem:
 
:*Funcions que necessitem:
Línia 27: Línia 26:
 
::- generar_jugada_maquina (maquina)
 
::- generar_jugada_maquina (maquina)
 
::Ens crea la jugada de la màquina amb nombres aleatoris entre 0 i 9. Cal controlar que no hi hagin números repetits.
 
::Ens crea la jugada de la màquina amb nombres aleatoris entre 0 i 9. Cal controlar que no hi hagin números repetits.
+
::- llegir_jugada_jugador (jugador)
llegir_jugada_jugador (jugador)
+
::Simplement s’ha de llegir de teclat els quatre valors i posar-los a la taula
Simplement s’ha de llegir de teclat els quatre valors i posar-los a la taula
+
::- final (encerts)
+
::En principi aquesta funció només seria certa quan el nombre d’encerts fos igual a 4 però com he dit abans seria interessant acabar en un nombre de jugades determinat. Si ho féu així, s’ha de passar com a paràmetre el nombre de jugades actual.
final (encerts)
+
::- trobar_numero_encerts (maquina, jugador )
En principi aquesta funció només seria certa quan el nombre d’encerts
+
::Calcula i retorna el nombre d’encerts de la jugada actual
fos igual a 4 però com he dit abans seria interessant acabar en un nombre
+
::- trobar_numero_aproximacions (maquina, jugador )
de jugades determinat. Si ho féu així, s’ha de passar com a paràmetre el
+
::Calcula i retorna el nombre d’aproximacions de la jugada actual
nombre de jugades actual.
 
 
trobar_numero_encerts (maquina, jugador )
 
Calcula i retorna el nombre d’encerts de la jugada actual
 
 
trobar_numero_aproximacions (maquina, jugador )
 
Calcula i retorna el nombre d’aproximacions de la jugada actual
 

Revisió del 16:47, 22 març 2018

Escriviu un programa que jugui al joc del mastermind. El programa genera quatre dígits aleatoris entre 0 i 9. L’objectiu del joc és encertar els quatre dígits així com les seves posicions en el mínim nombre de jugades possibles. Cada vegada el jugador introdueix quatre dígits i el programa respon amb una pista, dient el nombre d’encerts i d’aproximacions. Un dígit es considera encertat quan existeix en aquella posició, mentre que una aproximació representa un dígit que existeix però no està ben col·locat. Per no complicar el joc, cal controlar que els quatre dígits que es generen siguin tots diferents.

Com del que es tracta és de fer disseny descendent, podem veure el programa principal d’aquesta forma (aproximadament).

Programa Mastermind
  declaració de variables
  inicialitzacions
  generar_jugada_maquina
  Mentre (no final) fer
    llegir_jugada_jugador
    trobar_numero_encerts
    trobar_numero_aproximacions
  fmentre
fPrograma
  • Variables que necessitarem com a mínim:
-Dues taules de quatre números per guardar la jugada de la màquina i del jugador
-Dues variables que ens guardin el número d’encerts i d’aproximacions.
-Seria convenient una variable que ens compti el número de jugades que ha fet el jugador, de forma que si és un inútil i no encerta mai, el programa acabi després d’un cert nombre d’intents.
  • Funcions que necessitem:
- generar_jugada_maquina (maquina)
Ens crea la jugada de la màquina amb nombres aleatoris entre 0 i 9. Cal controlar que no hi hagin números repetits.
- llegir_jugada_jugador (jugador)
Simplement s’ha de llegir de teclat els quatre valors i posar-los a la taula
- final (encerts)
En principi aquesta funció només seria certa quan el nombre d’encerts fos igual a 4 però com he dit abans seria interessant acabar en un nombre de jugades determinat. Si ho féu així, s’ha de passar com a paràmetre el nombre de jugades actual.
- trobar_numero_encerts (maquina, jugador )
Calcula i retorna el nombre d’encerts de la jugada actual
- trobar_numero_aproximacions (maquina, jugador )
Calcula i retorna el nombre d’aproximacions de la jugada actual