Lernpfad:Lerntheke Marsrover/30: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Karte}}
{{Karte}}


Der Rover ist auch künstlerisch begabt. Er möchte mit seinen Marken gerne einige Bilder malen.
Der Rover ist auch künstlerisch begabt. Er möchte mit seinen Marken gerne einige Bilder malen. Dazu bekommt er einen Text mit Bildinformationen zum Beispiel wird dieses Bild
 
[[Datei:Rover_Invader.jpg|center]]
 
in folgender Form codiert:
 
<pre>
...x.....x...
....x...x....
...xxxxxxx...
..xx.xxx.xx..
.xxxxxxxxxxx.
.x.xxxxxxx.x.
.x.x.....x.x.
....xx.xx....
</pre>


{{Aufgabe:Start|Icon=Greenfoot Rover.png}}
{{Aufgabe:Start|Icon=Greenfoot Rover.png}}
Zeile 10: Zeile 25:


{| {{prettytable}}
{| {{prettytable}}
| <code>.charAt(pos)</code> || || <code>"hallo".charAt(2); // ergibt 'l'</code>
| <code>.charAt(pos)</code> || Ermittelt das Zeichen an der Stelle <code>pos</code> im Text. Es wird bei <code>0</code> angefangen zu zählen. || <code>"Hallo".charAt(0); // ergibt 'H'</code><br><code>"hallo".charAt(2); // ergibt 'l'</code>
|-
|-
| <code>.split(str)</code> || || <code>"Hallo\Welt".charAt(2); // ergibt 'l'</code>
| <code>.split(str)</code> || Zerteilt den Text bei jedem Vorkommen des Textes <code>str</code>. Um den Text in einzelne Zeilen zu zerlegen kann der Teiler <code>"\n"</code> benutzt werden. || <code>"Hallo Welt".split(" "); // ergibt 'Hallo' und "Welt"</code>
|}
|}


Du kannst den Text mit <code>split</code> in einzelne Teile aufteilen und jeden Teil einzeln bearbeiten mit:
Du kannst den Text mit <code>split</code> in einzelne Teile aufteilen und jeden Teil einzeln bearbeiten, indem Du eine besondere Form einer Schleife benutzt:
<pre>
<pre>
for( String zeile: pBilddaten.split("\n") ) {
for( String zeile: pBilddaten.split("\n") ) {
   // Tu etwas mit zeile
   // Tue etwas mit zeile, z.B.
  zeile.charAt(0);
}
}
</pre>
</pre>

Version vom 3. Dezember 2020, 14:06 Uhr

Marken-Maler

Der Rover ist auch künstlerisch begabt. Er möchte mit seinen Marken gerne einige Bilder malen. Dazu bekommt er einen Text mit Bildinformationen zum Beispiel wird dieses Bild

in folgender Form codiert:

...x.....x...
....x...x....
...xxxxxxx...
..xx.xxx.xx..
.xxxxxxxxxxx.
.x.xxxxxxx.x.
.x.x.....x.x.
....xx.xx....
Greenfoot Rover.png
Arbeitsauftrag

Programmiere eine Methode maleMarkenbild( String pBilddaten ), die einen Text als Parameter erhält und aus diesem ein Bild aus Marken in die Welt "malt".


Um den Text mit den Bilddaten zu verarbeiten, helfen dir die String-Methoden von Java. Vor allem diese:

.charAt(pos) Ermittelt das Zeichen an der Stelle pos im Text. Es wird bei 0 angefangen zu zählen. "Hallo".charAt(0); // ergibt 'H'
"hallo".charAt(2); // ergibt 'l'
.split(str) Zerteilt den Text bei jedem Vorkommen des Textes str. Um den Text in einzelne Zeilen zu zerlegen kann der Teiler "\n" benutzt werden. "Hallo Welt".split(" "); // ergibt 'Hallo' und "Welt"

Du kannst den Text mit split in einzelne Teile aufteilen und jeden Teil einzeln bearbeiten, indem Du eine besondere Form einer Schleife benutzt:

for( String zeile: pBilddaten.split("\n") ) {
  // Tue etwas mit zeile, z.B.
  zeile.charAt(0);
}