This page contains parts that are not translated yet. If you'd like to help out please read how to contribute.
SOLUTION TÂCHE 1.02
- Que fait la méthode
move()
?
Kara avance d’une cellule. - Placez deux Karas et faites les se faire face. De quelle méthode avez-vous besoin ?
turnLeft() ou turnRight() - Essayez les autres méthodes. Il existe deux types de méthodes. Quelles sont ces 2 types et que font-elles ?
Les méthodes avec void: Réalise une action. Les méthodes avec un boolean: Ouvre une fenêtre qui contient le résultat attendu.
SOLUTION TÂCHE 1.03
- Clic droit sur l’objet Kara et appelez la méthode
onLeaf()
. Est-ce qu’elle retourne toujoursfalse
? Ou y a-t-il des cas où elle retournetrue
?
Si Kara est sur une feuille, cette méthode retourne true. - Ajoutez un arbre au monde. Quelle méthode invoquer pour vérifier si Kara est face à un arbre ?
treeFront() - Que se passe-t-il si vous invoyez la méthode
move()
de Kara method alors qu’elle fait face à un arbre ?
Kara indique qu’elle ne peut pas avancer.
SOLUTION TÂCHE 1.04
Quelles sont les valeurs des coordonnées et de la rotation dans les situations suivantes ?
x: 0, y: 0, rotation: 0
x: 1, y: 2, rotation: 180
SOLUTION TÂCHE 1.05
- Placez un objet
MyKara
dans le monde. Quelle nouvelle méthode est devenue disponible ?
act() - Que fait cette méthode ?
Move, turn right, move - Que se passe-t-il si vous appuyez sur le bouton de contrôle Act de Greenfoot ?
Même choses que ci-desus, la méthode act() est appelée - Appuyez sur le bouton Run. Que se passe-t-il ? Essayez d’utiliser le potentiomètre linéaire.
act() est appelée encore et encore jusqu’à ce le bouton pause soit cliqué. - Quelle méthodes peut-on voir quand on clique droit sur
MyKara
puis “inherited from Kara” ? Peut-on utiliser ces méthodes ?
Toutes les méthodes héritées peuvent être utilisées directement dans MyKara.
SOLUTION TÂCHE 1.06
public class MyKara extends Kara { public void act() { move(); putLeaf(); move(); stop(); } }
SOLUTION TÂCHE 1.07
public class MyKara extends Kara { public void act() { move(); turnLeft(); move(); turnRight(); move(); move(); turnRight(); move(); turnLeft(); turnLeft(); move(); turnRight(); move(); move(); turnRight(); move(); turnLeft(); move(); turnLeft(); move(); turnRight(); move(); move(); turnRight(); move(); turnLeft(); removeLeaf(); stop(); } }
Notes
- The comments in the code have been omitted (= the text that is in the Greenfoot editor either gray or blue).
Comments in the source code are written as additional information. The comments are for people and are ignored by the computer. There are three ways to post comments in the code:
- With a double slash
//
(after the double slash the rest of the line is a comment) - Longer comments over several lines are enclosed between
/*
and*/
. - Comments on methods and classes are written between
/**
and*/
.
- With a double slash
- The method
stop()
makes sure the simulation stops after theact()
-Method even when the Run-button was pressed.
SOLUTION TÂCHE 1.08
public class MyKara extends Kara { public void act() { move(); goAroundTree(); goAroundTree(); move(); goAroundTree(); removeLeaf(); stop(); } public void goAroundTree() { turnLeft(); move(); turnRight(); move(); move(); turnRight(); move(); turnLeft(); } }
Notes
- For greater clarity and to avoid that we need to write the same code three times, we have developed a new method
goAroundTree()
. - The name of the methods here are preceded by two keywords:
public void
.public
means that the method can be called from outside.void
means that the method returns no value. - Behind each method is a pair of parentheses
()
which means that the method gets passed no parameters. Later we will learn how to write methods with parameters.