|
Hallo Leute!
Meine Frage ist zwar nicht mathematischer Natur, aber trotzdem hoffe ich, dass hier vielleicht irgendjemand Ahnung von Informatik und dem Hamstersimulator hat!
Unsere Aufgabe ist: schreibe eine Funktion, die genau dann den Wert true liefert, wenn genau eines der beiden Felder neben dem Hamster mit einer Mauer belegt ist.
Leider weiß ich nicht einmal, wie ich anfangen soll... Es muss ja auf jeden Fall mit einer booleschen Funktion abgehandelt werden, Der Hamster muss ja erst überprüfen,, ob rechts oder links neben ihm eine Mauer ist! Was soll ich machen? Brauche dringend HILFE.
Vielen Dank im Voraus, Blubberblase
|
|
|
Hi
da mir der "Hamstersimulator" nichts sagt, kann ich auch nichts mit deiner Aufgabe anfangen. Welches Programm? Was für Felder? Schachbrett? Koordinatensystem? Bewegt sich der hamster oder ändern sich die Inhalte der Felder?
Und so weiter. Schreib noch mal ein paar mehr Informationen.
Prinzipiell: If . then Abfrage
Oder einfach mal bei google nach hamstersimulator suchen...
Grüße
|
|
Hallo, Danke schonmal für deine Antwort...;)
Also den Hamstersimulator kann man sich im Internet kostenlos herunterladen.
Der Hamster bewegt sich sozusagen in einem Schachbrett.
Am besten ich schicke ein Bild mit!
Liebe Grüße
|
|
Womit sich immer noch die Frage stellt, mit was ihr programmiert. Java? Wenn ja kann ich dir leider nicht mehr weiterhelfen. Mit dem Programm kenne ich mich überhaupt nicht aus.
Zu der Abfrage: Mit Feldern neben dem hamster sind die rechts und links Blickrichtung) von ihm gemeint?! Dann stellt sich die Frage, ob man schon weiß, wo links und wo rechts ist. Ansonsten muss das erst noch definiert werden.
|
|
Ja, der Hamstersimulator soll uns auf das Programmieren von Java vorbereiten...
Mit den Feldern links und rechts sind die beiden Felder neben dem Hamster gemeint, also links und rechts in Blickrichtung...Weiß nicht, wie ich das erklären soll Trotzdem danke, dass du mir helfen wolltest! Ich werde es weiterversuchen...
Lieben Gruß
|
|
Hier wäre meine lösung für das Problem -
void main() frei();
void rechtsUm() linksUm(); linksUm(); linksUm();
boolean rechtsFrei() rechtsUm(); if (vornFrei()) linksUm(); return true;
else linksUm(); return false;
boolean linksFrei() linksUm(); if (vornFrei()) rechtsUm(); return true;
else rechtsUm(); return false;
boolean frei() if (linksFrei() !rechtsFrei()) return true;
else
if (!linksFrei() rechtsFrei()) return true; else return false;
Hoffe konnte helfen (wenn du das noch ließt :-D)
|
|
Wie hast du denn diesen Uralt-Thread ausgegraben? Ich vermute stark, dass das Interesse der Fragestellerin an einer Beantwortung dieser Frage nach mehr als acht Jahren schon deutlich geringer ist. Ich vermute ferner, dass eine Funktion geschrieben werden sollte, die keine weiteren UPe (abgesehen von jenen, die von Haus aus verfügbar sind) aufruft und in sich abgeschlossen ist. Unklar ist, ob Variable und Schleifen verwendet werden durften. Falls ja, wäre eine einfache und kurze Lösung zB wie folgt:
boolean leftXORright() { int mauern=0; for (int i=0; i<2; i++) { linksUm(); if (vornFrei()) mauern++; linksUm(); } return (mauern==1); }
Falls nicht, wirds etwas mühsamer - siehe Anhang.
|