Um deine Frage zu beantworten: Die Methode "List GetObjectsAt(int x, int y, Class c)" ist das was du suchst. Sie liefert zu einer gegebenen Position und Klasse eine Lister aller zutreffenden Objekte. Mit anderen Worten:

GetObjectsAt(x,y,Stein.class) liefert eine Liste aller Objekte der Klasse Stein, die sich an der Position (x|y) befinden. Was du nun machen willst ist überprüfen ob sich an einer Stelle überhaupt ein Stein befindet. Was du hierfür machen kannst ist zu prüfen ob:

if(GetObjectsAt(x,y,Stein.class).size() > 0) {...}

Damit kannst du also prüfen ob sich an einer gegebenen Stelle ein Stein befindet. Wenn du jetzt einen Fisch platzieren willst sofern kein Stein da ist tust du folgendes:

if(getObjectsAt(x,y,Stein.class).size() > 0) { addObjectAt(x,y, new Fisch()); }

Hoffe ich konnte helfen.

PS: Beim nächsten Mal wenn du eine Frage stellst, liefere alle relevanten Informationen gleich mit: Sprache, Framework (in diesem Fall Greenfoot), relevante Code-Schnipsel... Und antworte nicht auf deine eigene Frage um weitere Informationen zu liefern, sondern editier sie lieber. Falls du noch weitere Fragen zu Greenfoot/Java hast, kannst du mir eine PM schreiben und ich schau ob ich die Zeit finde

...zur Antwort

Hey, Greenfoot stellt hierfür verschiedene Möglichkeiten bereit. Mit World.GetObjectsAt() kannst du eine Liste aller Objekte an einem Punkt kriegen, diese Methode passt für die meisten Anwendungsfälle.

In deinem Fall passt aber eher die Actor.intersect (Actor) Methode, die dein Frog aus der Actor Klasse geerbt hat. Als Parameter übergibst du das Auto.

Solltest du keine Referenz auf das Auto haben, oder wenn mehrere Autos in Frage kommen deinen armen Frosch zu überfahren, dann ist eher die Methode Actor.GetIntersectingObjects(Class) passend. Als Parameter übergibst du Auto.class und erhälst ala Rückgabewert eine Liste aller Autos mit denen sich dein Frosch überschneidet.

Hoffe ich konnte helfen

...zur Antwort

Ein normaler Tacho hat einen Magneten an den Speichen und einen Sensor am Rahmen. Er kann also nur die Rotationen des Rades pro Sekunde zählen. Alle anderen Werte werden dadurch berechnet. Da das Rad sich auch dreht wenn man nicht tritt, ist eine umprogrammierung unmöglich.

...zur Antwort

Naja, das Prinzip ist ja relativ einfach. Du brauchst eine (oder mehrere) Befehlszeilen mit deiner Formel (In deinem Beispiel ist die Formel A = B*B ) und setzt dann das Ergebnis als Parameter für die nächste Berechnung.

Der Code für dein Beispiel:

set a=2 // Startwert

:go

set /a a=%a% * %a%

echo %a%

pause

goto go

...zur Antwort

Laut einigen Origin-Foren bist du wohl nicht der einizge, der dass Problem hat. Habe keine offizielle Stellungsnahme gefunden, aber ich würde einfach mal abwarten

...zur Antwort

Hey, Ich habe auch recht lange mit Greenfoot gearbeitet und vor etwa einen Jahr sogar einen kleinen Greenfoot klon programmiert.

Zu deiner Frage: um auf variablen deiner Weltklasse zuzugreifen musst du sie folgt vorgehen: Die abstrakte Oberklasse Actor implementiert die Funktion getWorld(). Diese liefert allerdings auch nur ein Objekt der abstrakten World - Klasse, von der deine Weltklasse erben sollte. Da die Variablen auf die du zugreifen willst jedoch nur in deiner Weltklasse existieren musst du explizit angeben, dass es sich um eine solche handelt. Dies realisiert du mit einem Cast. Entsprechend: ((DeineWelt) getWorld()).variable

Das funktioniert solange sich der actor tatsächlich in der Welt "DeineWelt" befindet. Ansonsten wird dein Programm mit einer Exception abbrechen. Daher ist nicht die feine englische Art. Prinzipiell lässt es sich nahezu immer umgehen vom actor auf die Welt zugreifen zu müssen. Schöner ist eine hierarchische Struktur bei der die Welt auf actor zugreift und diese nur untereinander kommunizieren.

Hoffe Ich konnte helfen

...zur Antwort

Hey, ja kann man. Ich kenne mich zwar nur in der Androidwelt ein bisschen aus aber da kann ich dir helfen.

Android apps werden in Java geschrieben, die Benutzung von C-code für zeitkritische Operationen ist aber idR möglich. Das heißt: bevor du dir ein Android Buch anschaust, Java beherrschen. Und ich meine richtig beherrschen. Um android zu lernen kannst du dir entweder Bücher kaufen oder tutorials im Internet wälzen. Bücher sind hierbei definitiv stressfreier.

Um deine apps zu testen empfehle ich dir ein aktuelles Android Handy zu haben. Alternativ kann man einen Emulator benutzen, der ist aber brutal langsam. Apps im store zu verkaufen ist ganz einfach. Du musst einmalig eine Gebühr an Google bezahlen (25€ wenn ich das richtig im Kopf habe) und kriegst dann 70% des Gewinns der app überwiesen.

Hoffe Ich konnte helfen

...zur Antwort

Wie procoder42 bereits gesagt hat, werdenden Buttons Actionlistener zugeordnet, die bei einem Klick eine bestimmte Methode aufrufen. Nun ist die frage was du Schlussendlich erreichen willst. Wenn du Klicks in einer anderen Klasse speichern können willst, dann musst die Methode, die bei einem Klick aufgerufen wird, Zugriff auf eine Referenz zu einem Objekt dieser Klasse haben. Das Array selbst sollte dann so viele Zellen haben, wie du Buttons hast, damit du jeden Klick unterscheiden kannst.

...zur Antwort

Wenn sie gefälscht sind und das nicht ausdrücklich angegeben ist kannst du klagen.

...zur Antwort

Fachinformatiker oder Softwareentwickler. Systemadministrator etc.. Berufsmöglichkeiten hast du viele. Kannst es mit ner Ausbildung zum Fachinformatiker versuchen (nicht zu empfehlen) oder mit einem Studium in Richtung Informatik, Wirtschaftsinformatik, Angewandte Informatik, Informationstechnik und und und... Haben alle einen unterschiedlichen Schwerpunkt. Musst gucken wo du später sein willst und was dich interessiert.

...zur Antwort

Ja, Whatsapp ist (auf Android, bei anderen Systemen bin ich mir nicht sicher) nach einem Jahr kostenpflichtig. Hohe Handyrechnungen sollten allerdings nicht anfallen, da Whatsapp (so sagen sie) Fragen sollte ob man den Dienst weiter benutzen will.

Whatsapp verschenkt allerdings an viele (vlt. alle) Benutzer nach Ablauf des kostenlosen jahres ein weiteres halbes Jahr. Whatsapp hat allerdings auf Android die Rechte SMSe zu schreiben. Es ist also durchaus möglich, dass Whatsapp nach Ablauf des kostenfreien Zeitraums einfach anfängt SMSe zu schreiben.

Ich persönlich habe damit noch keine Erfahrung gemacht.

...zur Antwort

Du kannst sizeof nicht auf ein array im heap verwenden, da nicht mehr bekannt ist wie groß es ist. Du kennst nur noch den Zeiger auf das erste Element. Du musst die Größe des Arrays zwangsläufig irgendwo speichern um sie zu übergeben.

...zur Antwort

Bist du vielleicht im Release mode anstatt im Debug mode? Das kann dazu führen, dass er nicht bei den Breakpoints anhält, macht allerdings (vorrausgesetzt der Code ist richtig) im Ergebnis keinen Unterschied.

...zur Antwort

Zusätzlich zu dieser Zufallszahl kann man dann auch noch das jeweilige Ergebnis in einer Datenbank speichern. Das sorgt dafür, dass, wenn es jemand 2 Mal versucht, auch 2 Mal das selbe Ergebnis rauskommt. Sprich:

Erster Aufruf

Anton + Sabine

-> Zufallsergebnis (Bsp 72) -> (Anton + Sabine = 72) in Datenbank speichern.

Nächster Aufruf:

Bernd + Anna

-> Überprüfen ob (Bernd+Anna) bereits in der Datenbank ist -> Entweder bekanntes Ergebnis oder neues Ergebnis generieren.

...zur Antwort

Im ersten Pong ist der Ball soweit ich weiß immer im 90° Winkel abgeprallt, das macht das schon um einiges einfacher.

...zur Antwort

Beispiel: Fakultät(a){ B=a*Fakultät(a-1) }

Das entscheidende ist, dass die Funktion sich selbst aufruft

...zur Antwort

Greenfoot ist eine einfache Programmierumgebung die darauf ausgelegt ist (vor allem Schülern) das Programmierenlernen zu vereinfachen. Dadurch, dass man sich keine Sorgen wegen irgendwelcher Initialisierungen oder main-Klassen machen muss, sondern sich auf das Programm selbst konzentrieren kann.

...zur Antwort

Naja, der Code tut genau das, was er tun soll. Wenn sich ein Baum auf deiner Linken befindet, dann hält er an. Wie RoyalTS91 bereits geschrieben hat wäre es sinnvoller zu prüfen ob sich ein Baum vor dir befindet.

if(treeInFrontOf()){
    Greenfoot.stop();
}
else{
     move();
}

Alternativ dazu kannst du auch schreiben:

if(treeLeft() && treeRight()){
    move();
}
else{
    Greenfoot.stop();
}

Dadurch wirst du anhalten wenn du auf einer Seite keinen Baum mehr hast (also links und/oder rechts)

...zur Antwort