TDDs a Unity (II)
Bo, doncs com ja comentava intentarem crear un joc simple del penjat. Les regles són simple:
- Es tria una paraula
- Es tenen 6 vides (cap, braços, cos, cames)
- La paraula ix inicialment substituida cada lletra per un caràcter '_'
- Es pot elegir entre resodre i endivinar una lletra
- Si resols i encertes guanyes
- Si resols i no encertes perds una vida
- Si endivines una lletra se substituix el caràcter '_' per la lletra corresponent en la posició pertinent
- Si no encertes la lletra perds una vida
Comencem a programar ;) Obrim el Visual Studio i creem un projecte C# (per exemple de consola). Si no elegixes un projecte buid com jo, a l'intentar fer els tests, et dona un error que no troba cap main, te tocarà crear un nou arxiu.cs, i posar-li una funció main dummy:
class Program
{
static void Main(string[] args)
{
}
}
Afegim a la solució un projecte nou de test (ja ho vaig explicar a un altre post) i automàticament ens crea un test d'unitat, jo vaig pensar en aquestos tests:
- public void GuessWordOK()
- public void GuessWordFail()
- public void LetterFail()
- public void LetterOK()
- public void WordCompleted()
- public void WordNotCompleted()
- public void YourDead()
- public void CantGuessWordWhenDead()
- public void CantGuessLetterWhenDead()
- public void IndexIsGuessed() (Este crec que no faria falta )
- public void GetLetterAtIndex() (Este crec que tampoc faria falta)
- public void GetWordCompleted()
No vaig a copiar i pegar totes les funcions per no avorrir (potser puge el codi el github), mirem per exemple la primera i la última:
[TestMethod]
public void GuessWordOK(){
Tests.HangMan Hang = new Tests.HangMan("hola");
bool res1 = Hang.DoTry("hola");
Assert.IsTrue(res1);
}
Creem la classe penjat (el joc), i intentem endevinar la paraula.
[TestMethod]
public void GetWordCompleted()
{
HangMan Hang = new HangMan("hola");
Hang.GuessLetter('o');
Hang.GuessLetter('l');
Hang.GuessLetter('z');
Assert.AreEqual("_ol_", Hang.GetWordCompleted());
}
Creem la classe joc i després de 3 intents (dos encertats i un fallit) comprovem que les lletres encertades estan actives i les que no amb un '_'
Comentaris
Publica un comentari a l'entrada