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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Hangman igra = new Hangman();

            while (!igra.krajIgre())
            {
                char slovo = Console.ReadLine()[0];
                igra.pokusaj(slovo);
                Console.WriteLine(igra.trenutno());
                Console.WriteLine("Broj preostalih zivota: {0}",igra.brojPreostalihZivota());
                Console.WriteLine("------------------------");
            }
            if (igra.pobedio()) Console.WriteLine("POBEDA!");
            else Console.WriteLine("Nemate vise zivota");
            Console.WriteLine(igra.trenutno());
            Console.ReadLine();
        }
    }
    class Hangman
    {
        int brojZivota;
        int brojZivotaPocetna;
        String rec;
        char[] tabla;
        public Hangman()
        {
            brojZivotaPocetna = 5;
            newGame();
        }
        public Hangman(int pocBrZivota)
        {
            brojZivotaPocetna = pocBrZivota;
            newGame();
        }
        public void newGame ()
        {
            rec = Console.ReadLine();
            brojZivota = brojZivotaPocetna;
            tabla = new string('_', rec.Length).ToCharArray(); 
        }
        public void pokusaj(char ch)
        {
            int poz;
            poz = rec.IndexOf(ch);
            if (poz==-1) {
                brojZivota--;
                return;
            }
            while (poz>-1)
            {
                tabla[poz] = ch;
                poz = rec.IndexOf(ch, poz+1);
            }
        }
        public char[] trenutno()
        {
            return tabla;
        }
        public int brojPreostalihZivota()
        {
            return brojZivota;
        }
        public bool krajIgre()
        {
            return (brojZivota==0)||(string.Compare(tabla.ToString(),rec)==0);
        }
        public bool pobedio()
        {
            return (tabla.ToString() == rec);
        }
    }
}
