Siemaneczko
Potrzebuje napisac gre mastermind w c++. Gra zamiast kolorow ma odgadywac slowo. Kompletnie nie wiem jak sie do tego zabrac a potrzebuje tego pilnie.
Wpisujesz slowo, a potem odgadujesz litery. Wpisujesz litere na pierwsze miejsce a program ma podac czy wystepuje ona w tym slowie. Jezeli wystepuje akurat w tym miejscu co ja sie wpisalo to ja pokazuje, natomiast jesli nie to podaje sie nastepna w nastepnym miejscu i tak samo ma pokazac czy jest w tym slowie lub na tym miejscu.
0
0
Nie rozumiem założeń tej gry. Jak wpisałeś słowo to po co masz je odgadywać?
0
Bo slowo ma odgadywac druga osoba, ktora go nie zna.
0
Ok. To zacznij od pobierania wyrazu od użytkownika, następnie konkretnych znaków od drugiego.
0
A jak zapisac to czy jest na dobrym miejscu czy na zlym ?
0
Spróbuj przeczytać swoje posty z perspektywy osoby, która nie ma pojęcia o co Ci chodzi.
0
Trudno jest opisac ta gre. Wiecie o co chodzi w nirmalnym mastermind ?
1
std::tuple<int, int> MasterMindHits(std::sring code, std::sring guess)
{
if (code.length() != guess.length()) {
throw std::invalid_argument("wrong length of guess");
}
int directHits = 0;
for (int i=0; i<code.length(); ++i)
{
if (code[i] == guess[i])
{
++directHits;
code[i] = 0;
guess[i] = 0;
}
}
int partialHits = 0;
for (int i=0; i<code.length(); ++i)
{
if (guess[i] != 0)
{
auto index = code.find(guess[i]);
if (index != std::string::npos)
{
++partialHits;
code[i] = 0;
}
}
}
return std::make_tuple(directHits, partialHits);
}
Pamiętaj o kodowaniu, dla UTF-8 ten kod nie zadziała!