hjælp! Jeg skal til eksamen i Lingo
HejsaJeg skal op til eksamen i Lingo, men kan ikke finde ud af teste mit program. Og håber at I kan fortælle mig, hvordan man gøre det.
Jeg har følgende 2 klasser som jeg vil have testet.
--Lav en klasse rum med metoder til at returnere et rum i en given retning. Du skal her vælge, hvordan du vil repræsentere associationerne til de andre rum. Du kan vælge at gøre som i Java opgaven, hvor hvert rum svarer til en indgang i en liste (1 til 4). Eller du kan vælge at have felt-variable til hver retning (dvs. properties north, south, east, west). Du skal også vælge, hvordan man angiver en retning. Skal det være som i Java opgaven, hvor man giver et tal, der indikerer en retning eller skal der være en metode til hver retning.
property rooms, nord, ost, syd, vest, spriteNum
on new me, spriteNumP
--repræsenterer rummene i retning nord, øst, syd og vest
rooms = [void, void, void, void]
--hjælpevariable til at angive retningen
nord=1
ost=2
syd=3
vest=4
spriteNum = spriteNumP
return me
end
--dir har en af værdierne 1, 2, 3, 4 for hhv. nord, øst, syd og vest
on leadsTo me, dir
return rooms[dir]
end
--forbinder rummet room således at man ved at gå i retningen dir fra dette rum kommer dertil
on connectTo me, dir, room
rooms[dir]=room
end
Og
-- Lav en klassevisitor. En visitor skal være associeret til et rum, hvor han er i øjeblikket. Han skal også kunne flytte sig i nordlig sydlig, vestlig eller østlig retning. Igen skal du vælge, om du vil have fire adskilte metoder til dette eller om du vil genbruge noget af ideen fra Java implementationen.
property room, spriteNum
on new me, roomP, spriteNumP
room = roomP
spriteNum = spriteNumP
return me
end
--flytter denne person til rummet i retning dir udfra det rum han besfinder sig i
on walk me, dir
room = room.leadsTo(dir)
sprite(spriteNum).member = sprite(room.spriteNum).member
end
Tak på forhånden.
Oprah