You are on page 1of 4

# Program

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Galgje
{
class Program
{
static void Main(string[] args)
{
Program myProgram = new Program();
myProgram.Start();

Console.ReadLine();
}

void Start()
{
GalgjeSpel galgje = new GalgjeSpel();

// Een random woord uit de woordenlijst wordt toegevoegd aan


galgje.Init
// In Init wordt geradenWoord gevult met punten; Spaces worden
toegevoegd aan geheimWoord
galgje.Init(SelecteerWoord(WoordenLijst()));

Console.Write("Het geheime woord: ");


ToonWoord(galgje.geheimWoord);

Console.Write("Het geraden woord: ");


ToonWoord(galgje.geradenWoord);

// Dit is de main "game loop" waarin


if(SpeelGalgje(galgje))
{
Console.WriteLine("Je hebt gewonnen!");
}
else
{
Console.WriteLine("Je hebt verloren!");
}

Console.ReadLine();
}

// Een string list wordt aangemaakt en de returnwaarde wordt teruggegeven.


List<string> WoordenLijst()
{
List<string> woorden = new List<string>() { "aap", "noot", "mies",
"wim", "zus", "jet", "teun", "vuur", "gijs", "lam", "kees", "bok", "weide", "does",
"hok", "duif", "schapen" };
return woorden;
}

// Een random woord wordt uit de list met woorden teruggeven.


string SelecteerWoord(List<string> woorden)
{
Random rnd = new Random();
string randomWoord = woorden[rnd.Next(0, woorden.Count())];
return randomWoord;
}

bool SpeelGalgje(GalgjeSpel galgje)


{
// Voor het bijhouden van de ingevoerde letters maken we een char list.

List<char> ingevoerdeLetters = new List<char>();

int pogingen = 8;

while (pogingen > 0 && !galgje.IsGeraden())


{
char letter = LeesLetter(ingevoerdeLetters);

if (!galgje.RaadLetter(letter))
{
pogingen--;
}

ToonLetters(ingevoerdeLetters);

Console.WriteLine("aantal resterende pogingen: {0}", pogingen);

Console.WriteLine(galgje.geradenWoord);
}

if(pogingen == 0)
{
return false;
}

return true;
}

void ToonWoord(string woord)


{
Console.Write(woord);
Console.WriteLine();
}

//
void ToonLetters(List<char> letters)
{
Console.WriteLine("Ingevoerde letters: {0}", string.Join(" ",
letters.ToArray()));

foreach(char s in letters)
{
Console.Write(s);
}
}

// De lijst met verboden letters bevat een de chars van het random woord.
// Totdat een letter voorkomt in het woord, leest leesLetter een nieuwe
letter.

char LeesLetter(List<char> verbodenLetters)


{
char letter;
do
{
Console.Write("Geef een letter: ");
letter = Console.ReadKey().KeyChar;
Console.WriteLine();
//
} while (verbodenLetters.Contains(letter));

verbodenLetters.Add(letter);

return letter;

}
}

# Galgjespel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Galgje
{
class GalgjeSpel
{
public string geheimWoord = "";
public string geradenWoord = "";

public void Init(string geheimWoord)


{
this.geheimWoord = geheimWoord;

for(int i = 0; i < geheimWoord.Length; i++)


{
this.geradenWoord += ".";
}
}

public bool RaadLetter(char letter)


{
string nieuwString = "";

if (geheimWoord.Contains(letter))
{
for (int i = 0; i < geheimWoord.Length; i++)
{
if (geheimWoord[i] == letter)
{
nieuwString += letter;
}
else
{
nieuwString += geradenWoord[i];
}
}
geradenWoord = nieuwString;
return true;

}
return false;

public bool IsGeraden()


{
return (geheimWoord == geradenWoord);
}
}
}

You might also like