program invers;
{
We slaan het bord op door middel van een array.
De locatie bord[1, 1] is bijvoorbeeld linksboven, en
bord[1, 6] is rechtsboven.
We slaan er 0 in op als de locatie geel is,
1 indien rood, 2 indien geel en omgedraaid,
en 3 indien rood en omgedraaid.
Je hoeft deze array niet te gebruiken, je mag natuurlijk
een eigen datastructuur bedenken.
}
var bord : array[1 .. 6, 1 .. 6] of byte;
ikbengeel : boolean; // Een variable waarin staat of je geel bent of niet.
{
Initieer het bord.
}
procedure init;
begin
{
Standaard zijn we rood
}
ikbengeel := false;
{
Vul het bord met de standaardwaarden.
Het kan slimmer, en is ook nog niet compleet.
}
bord[1, 1] := 0;
bord[1, 2] := 1;
bord[2, 1] := 1;
bord[2, 2] := 0;
{ ... }
bord[6, 6] := 0;
end;
{
Doe een zet
}
procedure doezet(zet : char);
begin
{
Hier moet code komen om de zet uit te voeren.
De zet is opgeslagen in de variable zet.
}
end;
{
Speel het spel
}
procedure speel;
var zet : char;
begin
while true do
begin
{
Lees de zet uit, en controleer
of deze Z of Y of een normale zet is.
}
readln(zet);
if zet = 'Z' then
break;
if zet = 'Y' then
ikbengeel := true;
if (zet <> 'Z') and (zet <> 'Y') then
doezet(zet);
{
Bereken een zet en sla deze op in de variable zet.
Nu schrijven we gewoon een A weg.
}
zet := 'A';
writeln(zet);
flush(output); // Vergeet deze regel niet!!!
end;
end;
begin
init;
speel;
end.
syntax highlighted by Code2HTML, v. 0.9.1