Forslag til Løsning
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