Werking van mijn programma: Eerst maar ff alle zetten doen die in het bestand staan en dat in een matrixje zetten, matrixje kopiëren zodat ik een tweede speelbord heb om zetten op uit te proberen. Dan kijken of je een steen van de tegenstander kan insluiten door de zetten of te schuiven. Zo niet dan kijken of je zelf in de problemen zit, als dat zo is dan eerst proberen het vakje dat nog open is in te sluiten zodat het voor de tegenstander dodelijk zou zijn om mij in te sluiten. Anders gewoon de ingesloten steen verzetten of als een van de stenen in de ring van jouw is die steen verzetten. Als je zelf niet in de problemen zit dan maar ff proberen de tegenstander in de problemen te helpen door te etten/schuiven. Als er op het hele speelbord geen steen van de tegenstander is die omsloten is door meer dan 2 stenen dan word er een zet gedaan op een van de standaard plaatsen. Als er geen van de hierboven genoemde zetten mogelijk is dan doet het programma de beste zet door gewoon zetten uit te proberen en te kijken voor wie die zet het nadeligst is, de zet die het beste is voor jouw (dus het slechtste voor de tegenstander) word gedaan. Als het zeker is dat je de volgende beurt verliest dan zet het programma gewoon een steen op het eerste vakje dat hij ziet. Dit was eigenlijk niet helemaal de bedoeling (je moet als er een andere zet mogelijk is die zet doen), maar ik vind dat 1 zetpuntje meer of minder niet echt zal uitmaken en daarom heb ik het maar zo gelaten. Problemen die ik tegen ben gekomen: Eerst maar is het speelbord. Om een speelbord in een matrix te zetten zou het een beetje fout gaan als je het op de volgende manier zou doen: 00000 000000 0000000 00000000 000000000 00000000 0000000 000000 00000 Om de boel een beetje goed te laten verlopen heb ik de volgende opstelling van de matrix gekozen: 111111111111111111111 151111090909090111111 141110909090909011111 131109090909090901111 121090909090909090111 110909090909090909011 121090909090909090111 131109090909090901111 141110909090909011111 151111090909090111111 111111111111111111111 de nullen zijn open plaatsen en de cijfers aan het begin is de afstand van de rand naar het eerste open vakje. De negens en de enen zijn er om de boel op te vullen. Sommige zetten kunnen onbedoeld ook een eigen steen insluiten, dus doe ik alle zetten eerst op het tweede speelbord en kijk dan of het voor mij een goede zet is. Ik heb mijn programma thuis grondig getest, maar toen Willem van der Vegt het programma teste gebeurde er af en toe een fout. Het bleek dat het niet echt aan het programma lag, maar dat Windoze weer is met de bestanden aan het klooien was zodat er soms geen output kon worden gemaakt. Dit programma is geschreven in VB5, ik heb net VB6 dus misschien is het probleem opgelost als ik het in VB6 compileer (ik denk eigenlijk niet dat dit zal helpen). Ik ga toch maar is c++ leren want Windoze vind ik maar klote, Linux is veel beter en daarom heb ik dat een tijd geleden naast Windoze geïnstalleerd. Het duurt nog wel even voordat ik c++ onder de knie heb maar volgend jaar wordt het c++ in plaats van VB! Ik heb geprobeerd het kort te houden, maar dat is niet gelukt:) Je kan met me chatten of een mailtje sturen via MSN: MvH666@hotmail.com Over mij: Mijn naam is Machiel van Hooren, ik zit nu in 5VWO op het Rijnlands in Sassenheim en ik ben 17 jaar oud. Ik werk nu aan verschillende websites: www.PvdA-Sassenheim.nl (voor m'n CV:)), ik ga waarschijnlijk een website maken voor mijn school, ik ga waarschijnlijk bij Cognos werken aan een site, en ik ben bezig met het maken van een website over programmeren en over internet. Ik ben trouwens op zoek naar mensen die willen helpen bij het maken van die website. Ik ga zelf een aantal tutorials in het Nederlands schrijven. Ik weet ook niet alles dus ik zoek nog mensen die over onderwerpen waar ik nog niet zo veel over weet een Tutorial in het Nederlands en/of Engels willen schrijven en die willen meehelpen bij het onderhoud en het ontwerpen van die site. Onderwerpen waar ik zelf tutorials over kan schrijven: Visual Basic (Quick Basic), HTML, CGI en hoe je Windoze kan slopen:). Onderwerpen die ik nog meer op die site wil hebben maar waar ik zelf niet genoeg van weet: C++, Pascal, Java, Linux. Als er iemand is die nog een onderwerp weer dan hoor ik dat graag. Natuurlijk is dit veel werk en mij lijkt het leuk om dat met een groep te doen via internet. De hele site wil ik ook nog in het Engels vertalen. Als je geïnteresseerd bent stuur je maar een mailtje of zoek me op bij MSN. |
Kies een wedstrijdverslag.