Beschrijving van Susan Als we enkel kijken naar de eisen die de opdracht stelt aan het programma, kunnen we volstaan met het doen van een geldige zet, het inlezen van en wegschrijven naar de juiste bestanden, en het voorkomen van een zet die verliezen (of remise) voorkomt. Daarnaast wordt het resultaat die het programma behaalt in het CVO-Windesheimtoernooi meegewogen in de beoordeling. Als ieder programma echter strikt volgens de minimumeisen zou zijn geschreven, dan wordt het een kwestie van toeval wie er wint. Daar doen we niet aan mee. Net als bij een huis-tuin-en-keukengezelschapsspelletje, is het nodig een strategie te ontwikkelen, en deze daarna toe te kunnen passen in concrete situaties. De essentie van onze versie van Susan zit in een ringenstructuur. Elk vakje heeft minimaal 3 en maximaal 6 vakken om zich heen liggen. Alle omringende vakken samen vormen de 'ring' van het veld. Deze ring kan gebruikt worden in een tweetal situaties: 1. DEFENSIEF Je dreigt ingesloten te worden door de tegenstander. Dit betekent dat de ring nog maar 1 open plaats heeft. De tegenstander kan hier een steen zetten, en het spel winnen. Dit moet voorkomen worden door a) een steen uit de ring te verschuiven; b) de steen zelf te verschuiven. 2. OFFENSIEF De tegenstander kan eenvoudig ingesloten worden. Dezelfde test die je bij (1) doet, kan ook op de ring van een vijandige steen toegepast worden. De steen die het minste aantal vrije plaatsen in de ring heeft, zal waarschijnlijk het snelst ingesloten kunnen worden. Voordat een zet wordt gedaan, wordt eerst bekeken wat de gevolgen ervan zijn. Je kunt bijvoorbeeld een andere steen vastzetten, maar dit kan ook leiden tot een blokkade van een eigen steen (of de steen die gezet wordt). In dat geval moet er dus een andere zet gekozen worden. Elke mogelijke nieuwe plaatsing (concreet: alle vrije velden) worden 'doorgerekend' op positieve en negatieve effecten voor jezelf en de tegenstander. In bijzondere situaties (als er gevaar dreigt of het spel met een zet gewonnen kan worden) wordt er een steen verschoven. Natuurlijk moeten ook alle uitzonderingssituaties worden meegenomen. Concept en realisatie door J.H. Rutgers en T. Monasso. Oplevering december 2000. Geproduceerd voor de Nederlandse Informatica Olympiade 2001 (opdracht 3). Deelnemer aan het toernooi om de CVO-Windesheimprijs, zaterdag 27 januari 2001. Meer nuttige en leuke programma's op http://www.jhrutgers.com en http://www.monassomultimedia.com. |