Hoi,
Ik ben voor mijn opleiding een tijdje geleden begonnen met het leren van C++, en moet nu onder andere het spel mastermind programmeren. Dit is natuurlijk niet zo heel erg lastig, maar ik moet ook proberen om het de gebruiker zo lastig mogelijk te maken. Dat houdt in dat de computer, op het moment dat de gebruiker de juiste code raadt, de code moet veranderen, zonder dat er tegenstrijdigheden ontstaan met de eerder gegeven aanwijzingen (als dat tenminste mogelijk is)... De computer onthoudt dus de eerder ingevoerde 'gokken' van de gebruiker, en de antwoorden (in de vorm: x goed en y goed, maar verkeerde plaats) die daarbij zijn gegeven, en aan de hand daarvan wordt een (nieuwe) code bepaald die daarmee niet strijdig is. Maar heeft iemand een idee met wat voor algoritme zo'n code snel te vinden is? Alle mogelijke codes afgaan werkt wel voor kleine reeksen, maar het programma moet ook werken met reeksen van lengte 20, en 20 kleuren, dus dan zijn er 20^20 mogelijkheden. Op de een of andere manier moeten een heleboel kansloze combinaties bij voorbaat al worden genegeerd, maar ik heb helaas geen idee hoe ik dat moet aanpakken.
Is d'r hier iemand iemand die een idee of algemene hint heeft om me op de goede weg te helpen?
Alvast bedankt,
Sjoulibsky.
Ik ben voor mijn opleiding een tijdje geleden begonnen met het leren van C++, en moet nu onder andere het spel mastermind programmeren. Dit is natuurlijk niet zo heel erg lastig, maar ik moet ook proberen om het de gebruiker zo lastig mogelijk te maken. Dat houdt in dat de computer, op het moment dat de gebruiker de juiste code raadt, de code moet veranderen, zonder dat er tegenstrijdigheden ontstaan met de eerder gegeven aanwijzingen (als dat tenminste mogelijk is)... De computer onthoudt dus de eerder ingevoerde 'gokken' van de gebruiker, en de antwoorden (in de vorm: x goed en y goed, maar verkeerde plaats) die daarbij zijn gegeven, en aan de hand daarvan wordt een (nieuwe) code bepaald die daarmee niet strijdig is. Maar heeft iemand een idee met wat voor algoritme zo'n code snel te vinden is? Alle mogelijke codes afgaan werkt wel voor kleine reeksen, maar het programma moet ook werken met reeksen van lengte 20, en 20 kleuren, dus dan zijn er 20^20 mogelijkheden. Op de een of andere manier moeten een heleboel kansloze combinaties bij voorbaat al worden genegeerd, maar ik heb helaas geen idee hoe ik dat moet aanpakken.
Is d'r hier iemand iemand die een idee of algemene hint heeft om me op de goede weg te helpen?
Alvast bedankt,
Sjoulibsky.