Niki Problem
Hallo zusammen!
bei dem u.g. Programm fehlt mir leider das richtige Ende: Niki soll am Ende (=startposition) stehen bleiben und den aufgenommenen Gegenstand wieder ablegen.
Hat einer von euch eine idee, was ich im Code ändern muss?
Vielen Dank für eure Hilfe!
Dennis
PROGRAM Labyrinth;
PROCEDURE drehe_rechts;
BEGIN
drehe_links;
drehe_links;
drehe_links
END;
PROCEDURE dreh_um;
BEGIN
drehe_links;
drehe_links
END;
PROCEDURE dl;
BEGIN
drehe_links
END;
PROCEDURE dr;
BEGIN
drehe_rechts
END;
PROCEDURE v;
BEGIN
vor
END;
PROCEDURE suche;
BEGIN
IF vorne_frei THEN v;
IF vorne_frei AND NOT hat_vorrat THEN suche
ELSE
BEGIN
IF NOT rechts_frei AND NOT vorne_frei THEN drehe_links;
IF platz_belegt THEN nimm_auf;
BEGIN
IF hat_vorrat AND NOT links_frei AND NOT rechts_frei AND NOT vorne_frei THEN gib_ab;
IF hat_vorrat AND rechts_frei THEN dr;
END;
END;
IF (links_frei) OR (rechts_frei) OR (vorne_frei) THEN suche
END;
BEGIN
suche
END.
Hallo zusammen!
bei dem u.g. Programm fehlt mir leider das richtige Ende: Niki soll am Ende (=startposition) stehen bleiben und den aufgenommenen Gegenstand wieder ablegen.
Hat einer von euch eine idee, was ich im Code ändern muss?
Vielen Dank für eure Hilfe!
Dennis
PROGRAM Labyrinth;
PROCEDURE drehe_rechts;
BEGIN
drehe_links;
drehe_links;
drehe_links
END;
PROCEDURE dreh_um;
BEGIN
drehe_links;
drehe_links
END;
PROCEDURE dl;
BEGIN
drehe_links
END;
PROCEDURE dr;
BEGIN
drehe_rechts
END;
PROCEDURE v;
BEGIN
vor
END;
PROCEDURE suche;
BEGIN
IF vorne_frei THEN v;
IF vorne_frei AND NOT hat_vorrat THEN suche
ELSE
BEGIN
IF NOT rechts_frei AND NOT vorne_frei THEN drehe_links;
IF platz_belegt THEN nimm_auf;
BEGIN
IF hat_vorrat AND NOT links_frei AND NOT rechts_frei AND NOT vorne_frei THEN gib_ab;
IF hat_vorrat AND rechts_frei THEN dr;
END;
END;
IF (links_frei) OR (rechts_frei) OR (vorne_frei) THEN suche
END;
BEGIN
suche
END.