function playHangman()
secretWord = lower(input('Skriv inn ordet som etterspørres:', 's'));
fprintf('\n\n\n\n\n\n\n');
errors = 0;
guessedChars = '';
revealed = '';
hasWon = false;
while true
[didFind, revealed] = checkRevealed(secretWord, revealed, guessedChars);
if ~didFind
errors = errors + 1;
end
printHangman(errors);
printRevealed(revealed);
if strcmp(revealed, secretWord)
hasWon = true;
break
end
if errors >= 6
printHangman(errors);
break
end
guessedChar = input('Gjett ny bokstav:', 's');
if length(strfind(guessedChars, guessedChar)) == 0
guessedChars = [guessedChars guessedChar];
else
fprintf('Bokstaven er allerede gjettet...\n');
errors = errors - 1;
pause(1);
end
end
if hasWon
fprintf('Gratulerer, du vant!\n')
else
fprintf('Du tapte...\n')
end
end
function [didMatch, revealedWord] = checkRevealed(word, revealed, chars)
revealedWord = '';
for i = 1 : length(word)
revealedWord(i) = '_';
for j = 1 : length(chars)
if chars(j) == word(i)
revealedWord(i) = chars(j);
continue
end
end
end
didMatch = ~strcmp(revealed, revealedWord);
revealed = revealedWord;
end |