using System.Collections.Generic;
internal static class Program
private static void Main()
Console.WriteLine("Dobrodošli u igru Skočko!");
Console.WriteLine("Zamislite skriveni kod od 4 karaktera (mogući karakteri: R, G, B, Y, O, P).");
Console.WriteLine("Pogodite kod kombinujući boje.");
Console.WriteLine("Napomena: R - Crvena, G - Zelena, B - Plava, Y - Žuta, O - Narandžasta, P - Pink");
var random = new Random();
string[] moguciKarakteri = { "R", "G", "B", "Y", "O", "P" };
for (var i = 0; i < 4; i++)
var randomIndex = random.Next(moguciKarakteri.Length);
skriveniKod += moguciKarakteri[randomIndex];
var charCount = new Dictionary<char, int>();
var foundCharCount = new Dictionary<char, int>();
foreach (var c in skriveniKod)
if (charCount.ContainsKey(c))
while (!pogodak && pokusaji < 8)
Console.WriteLine("\nUnesite vašu kombinaciju (4 karaktera):");
var unetaKombinacija = Console.ReadLine()!.ToUpper();
if (unetaKombinacija.Length != 4)
Console.WriteLine("Neispravna kombinacija! Molimo unesite tačno 4 karaktera.");
var brojTacnihPozicija = 0;
for (var i = 0; i < 4; i++)
if (unetaKombinacija[i] == skriveniKod[i])
if (!foundCharCount.ContainsKey(unetaKombinacija[i])) foundCharCount.Add(unetaKombinacija[i], 0);
foundCharCount[unetaKombinacija[i]]++;
if (!charCount.ContainsKey(unetaKombinacija[i])) continue;
if (!foundCharCount.ContainsKey(unetaKombinacija[i])) foundCharCount.Add(unetaKombinacija[i], 0);
if (foundCharCount[unetaKombinacija[i]] >= charCount[unetaKombinacija[i]]) continue;
foundCharCount[unetaKombinacija[i]]++;
Console.WriteLine($"Broj tacnih pozicija: {brojTacnihPozicija}");
Console.WriteLine($"Broj tacnih boja: {brojTacnihBoja}");
if (brojTacnihPozicija != 4) continue;
Console.WriteLine("\nČestitamo! Pogodili ste skriveni kod!");
Console.WriteLine($"Broj pokušaja: {brojPokusaja}");
Console.WriteLine("\nNiste pogodili skriveni kod!");
Console.WriteLine($"Skriveni kod je: {skriveniKod}");
Console.WriteLine("\nHvala što ste igrali Skočko!");