maandag 20 juni 2011

Dag 1


Vandaag begon onze dag om 11:00 op Science Park. Wij hadden een brainstomsessie met Arnoud Visser over de aanpak van ons project. Gelukkig kwamen wij goed voorbereid (zie dag 0). Na dit gesprek zijn wij snel het robolab uitgevlucht en zijn wij thuis aan de slag gegaan met onze cube.

Allereerst hebben wij besloten hoe wij de cube zullen gaan representeren in ons programma. Wij hebben voor een lijst gekozen met 54 elementen die elk één vlakje van de cube representeren. De vlakjes hebben ieder een unieke naam gekregen. Zo is R0 het middelste vlakje van de rechterzijde en U1 het hoekblokje helemaal linksonder aan de onderkant van de cube (zie foto). De cube die in de foto te zien is, heeft het voor ons een stuk makkelijker gemaakt de moves te beschrijven, maar daarover later meer.

Na het kiezen van de representatie, leek het ons het verstandigst om aan de implementatie van de bewegingen te beginnen. Dit, omdat de bewegingen in iedere methode hetzelfde blijven. Het lijkt ons het handigst om een apart bestand te maken waarin alle bewegingen worden beschreven en deze dan later in elke methode apart te 'consulten'.

Het beschrijven van move/3 was bijzonder veel werk, waar niet veel intelligentie voor vereist was. Het eerste argument van dit predicaat is de naam van de beweging (bijvoorbeeld uuu om de bovenkant van de cube drie keer naar rechts te draaien), het tweede argument is de huidige staat en het laatste argument is de nieuwe staat, die verkregen is door de beweging toe te passen.

Ook hebben wij in het bestand nog een solved/1 predicaat beschreven, die slaagt als de cube opgelost is en een scramble/3 predicaat dat een aantal bewegingen op de cube kan uitvoeren om deze door elkaar te brengen.