Unübersichtliches Programm Kategorie: Programmierung (von ACU, http://www.roboterbastler.de - 30.10.2004 13:15) | ||
| ||
Hallo! Ich folgendes Problem: Ich habe ein Programm für meine CC2 geschrieben. Leider ist es aufgrund von vielen If Abfragen und Klammern (wie ihr unten selbst sehen könnt) sehr unübersichtlich geworden. Das Programm macht nicht, was es soll und durch das unübersichtliche Programm wird meine Fehlersuche erschwert. Wie kann ich das Programm besser machen? Das Programm ist für meinen Roboter. Ein Thread, der im Hintergrund läuft, berechnet die Entfernung und übergibt sie in der Variable Entfernunglinks und Entfernungrechts. Falls beide Sensoren nur noch Wand sehen (der Roboter ist in einer Sackgasse), soll der Roboter zurückfahren sich in die günstigste Richtung drehen, die beiden besten Wertepaare ermitteln und anschlie�end an diese Position zurückkehren und weiterfahren. in cm. Der Timer ist dafür da die Zeit festzulegen, die der Robote nach wertepaaren sucht. loop //Beginn der Entfernungsabfrage { if Entfernungrechts <= 13 and Entfernunglinks <= 13 //wenn beide Sensoren etwas sehen { ports.set(8,0); ports.set(9,0); plm.beep(20); sleep 300; Weitermachen =1;//Platz für Zuweisungen ports.set(10,1); ports.set(11,1); sleep 1000; ports.set(10,0); ports.set(11,0); plm.beep(-1); if Entfernungrechts >= Entfernunglinks { plm.beep(4); ports.set(10,1); ports.set(9,1); run Timer; while Weitermachen { if Entfernunglinks>=lopt and Entfernungrechts>=ropt { lopt=Entfernunglinks; ropt=Entfernungrechts; } if Entfernunglinks <=13 //Richtung umkehren im Notfall { ports.set(10,0); ports.set(9,0); sleep 300; ports.set(11,1); ports.set(8,1); } if Entfernungrechts <=13 //Richtung umkehren im Notfall { ports.set(11,0); ports.set(8,0); sleep 300; ports.set(10,1); ports.set(9,1); } } plm.beep(-1); Weitermachen=1; sleep 9999999; } if Entfernungrechts < Entfernunglinks { plm.beep(33); ports.set(11,1); ports.set(8,1); while Weitermachen { } plm.beep(-1); } }}}} Ich wei� es klingt relativ kompliziert, aber eigentlich ist die Handlung ganz einfach. MfG ACU Meine Seite: http://www.roboterbastler.de | ||
Antwort schreiben Antworten: Re: Unübersichtliches Programm (von André H. - 31.10.2004 12:28) Re: Unübersichtliches Programm (von reneforster - 30.10.2004 17:15) Re: Unübersichtliches Programm (von ACU - 30.10.2004 19:58) Re: Unübersichtliches Programm (von ACU - 8.11.2004 16:52) Re: Unübersichtliches Programm (von krassos - 8.11.2004 17:29) Re: Unübersichtliches Programm (von ACU - 8.11.2004 18:38) Re: Unübersichtliches Programm (von Thomas - 9.11.2004 9:50) Re: Unübersichtliches Programm (von ACU - 9.11.2004 17:48) Re: Unübersichtliches Programm (von Thomas - 10.11.2004 10:45) Re: Unübersichtliches Programm (von ACU - 10.11.2004 18:30) Re: Unübersichtliches Programm (von Thomas - 10.11.2004 21:25) Re: Unübersichtliches Programm (von André H. - 8.11.2004 23:22) |