top of page
Zoeken
Foto van schrijverRobert Haerkens

Boter, Kaas & Eieren

Bijgewerkt op: 12 jun. 2023


Vrijdag heb ik een examen, namelijk HTML5 Application Development Fundamentals. Daarom ligt er al een tijdje een studieboek op kantoor of thuis op het dressoir. Maar zoals dat gaat met studie, moet je het vooral dóén. Maar je moet niet alleen doen wat in het boek staat, je moet jezelf gewoon een taak stellen. En daarom besloot ik het spelletje Boter, Kaas en Eieren te maken, in een webpagina.

Op zich was dat goed te doen (als je wilt kun het zelf proberen: Boter, Kaas en Eieren online spelen). Het probleem ontstond echter toen ik een linkje op Facebook plaatste om het met vrienden te delen, en erbij zette dat het onmogelijk was te winnen, en dat ze maar een tegenprestatie moesten verzinnen als het toch lukte. Ik dacht namelijk dat als je maar goed oplet, dat je nergens een rijtje van 3 laat ontstaan, dat de tegenstander niet kan winnen.

De eerste versie was vrij snel "gekraakt", dus besloot ik wat extra intelligentie toe te voegen, maar ook daarna, en zelf nog een versie later, lukte het zelfs mijn moeder nog simpel om te winnen. Het bleek nog niet zo eenvoudig om het spel Boter, Kaas en Eieren te automatiseren... Op zich had dit niets meer met mijn studie HTML5, Javascript en CSS te maken, maar hé, hier stond mijn algemene geloofwaardigheid op het spel. Dit ging om het principe.

Hierdoor had ik inmiddels al een etentje verloren en ik kreeg het probleem niet uit mijn hoofd.

Tijdens mijn studie (vele jaren geleden), heb ik eens een schaak-programma geschreven, dus ik was op de hoogte van hoe zoiets in de basis werkt. Maar zo'n algoritme (minimax), leek me overdreven voor zo'n simpel spel. Niet dus.

Ik zocht eens op internet naar andere implementaties van Boter, Kaas en Eieren, en kwam er meerdere tegen waarvan je kon winnen, maar ook enkele waarvan dat onmogelijk was. Wil je het goed maken (Chuck Norris proof), dan moet je alle mogelijke zetten en tegenzetten doorrekenen en kijken wat telkens voor jou en je tegenstander het beste is. Daaruit volgt dan de beste zet.

Het was even wikken en wegen, want was het geen zonde van mijn tijd? Maar als je iets doet, moet je het goed doen, toch? En achteraf viel het wel mee. Grappig detail is ook dat het programma met zekerheid weet als hij gaat winnen, zelfs als dat pas over 3 zetten is. Het zou handig zijn, als ik ook wist of ik mijn examen ging halen. Drie dagen van te voren al.


97 weergaven0 opmerkingen

Recente blogposts

Alles weergeven
bottom of page