Niki der roboter

Quadel

Grünschnabel
hey,
allso hab noch nicht wirklich plan von ich brauch mal eure hilfe da ich es morgen für die schule brauch und lange gefehlt habe. allso der roboter soll treppen hoch gehen, das hab ich noch hinbekommen. dann soll er aber diese kreise aufsammeln das bekomme ich net hin und das hoch laufen und zurück laufen nicht. da bräuchte ich eure hilfe und einmal ne zweisetige treppe. bei der zwei seitigen treppe bleibt er entweder auf der anderen seite nach 2 stufen stehen und wenn ich das not einsetze rennt er am ende weiter und irgentwo gegen.

Program Treppe4;
PROCEDURE drehe_rechts;
begin
drehe_links; drehe_links; drehe_links;
end;
PROCEDURE stufe_hoch;
begin
drehe_links;vor;drehe_rechts;vor;
end;
PROCEDURE stufe_runter;
begin
vor;drehe_rechts;vor;drehe_links;
end;
BEGIN

REPEAT
stufe_hoch;
UNTIL vorne_frei;

REPEAT
stufe_runter;
UNTIL vorne_frei;
END.

das ist das wa sich geschrieben hab. schon mal danke im vorhaus:)
 
Code:
PROGRAM uebersteige_treppe;
    PROCEDURE drehe_rechts;
        BEGIN;
            drehe_links;
            drehe_links;
            drehe_links;
        END;
    
    PROCEDURE stufe_hoeher;
        BEGIN;
            drehe_links;
            vor;
            drehe_rechts;
            vor;
        END;
        
    BEGIN;
        WHILE vorne_frei DO vor;
        REPEAT stufe_hoeher UNTIL vorne_frei;
        vor;
        drehe_rechts;        
        WHILE vorne_frei DO vor;
        
    END.

das wäre schon mal das treppen-abgehen. Das funktioniert aber nur, wenn der Pfeil von Niki nach Westen gerichtet ist.
Was die Kreise aufsammeln angeht, wäre die Ansicht des Arebitsfelds hilfreich. Könntest du das irgednwie reinstellen?
 
dann schreibst du in die stufe-hoeher procedure einfach noch:

Code:
PROCEDURE stufe_hoeher;
BEGIN;
drehe_links;
vor;
drehe_rechts;
vor;
if platz_belegt then 
     begin
       WHILE platz_belegt DO nimm_auf;
     end;
END;
 
wo lernt man sowas? ich probier es gleich aus. wie krieg ich den da rüber

http://img181.imageshack.us/img181/2118/niki2ad2.jpg

PROGRAM uebersteige_treppe;
PROCEDURE drehe_rechts;
BEGIN;
drehe_links;
drehe_links;
drehe_links;
END;


PROCEDURE stufe_hoeher;
BEGIN; drehe_links;
vor; drehe_rechts; vor;
if platz_belegt then begin WHILE platz_belegt DO nimm_auf;
End;


BEGIN;
WHILE vorne_frei DO vor;
REPEAT stufe_hoeher UNTIL vorne_frei;
vor;
drehe_rechts;
WHILE vorne_frei DO vor;

END.

warum erkennt er das end nicht an?
 
Zuletzt bearbeitet:
das is dann ein Programmfehler in deinem Niki. Frag mal deinen Lehrer, vielleicht weiß der, womit das zusammenhängen könnte.
Bei mir ist sowas nie aufgetaucht...

zu Frage 1: Sowas lernt man in NRW...
 
Program Treppe4;

PROCEDURE drehe_rechts;
begin
drehe_links;
drehe_links;
drehe_links;
end;

PROCEDURE stufe_hoch;
begin
drehe_links;
vor;
drehe_rechts;
vor;
end;

PROCEDURE stufe_runter;
begin
vor;
drehe_rechts;
vor;
drehe_links;
end;

BEGIN


REPEAT
stufe_hoch;
UNTIL vorne_frei;


REPEAT
stufe_runter;
UNTIL not vorne_frei;

END.

danke:) hat sich erstmal erledigt
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück