Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » Forendiskussionen » codezuraufgabe5d (Übersicht)
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
— | pruefungen:bachelor:aud:loesungss16:codezuraufgabe5d [03.04.2017 07:32] (aktuell) – angelegt Danplan | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | <code java> | ||
+ | public class Jul16_ADT { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | LangtonAntJava ant=new LangtonAntJava(); | ||
+ | System.out.println(ant.toString()); | ||
+ | for(int steps=0; steps < 10; steps++){ | ||
+ | ant.step(); | ||
+ | System.out.println(ant.toString()); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | class LangtonAntJava { | ||
+ | boolean[][] raster = new boolean[10][10]; | ||
+ | int x = 5, y = 5, d = 0; // Position und Richtung | ||
+ | public void step() { | ||
+ | if(x < 0 || x >= raster.length || y < 0 || y >= raster.length ) | ||
+ | return; | ||
+ | |||
+ | boolean col=raster[x][y]; | ||
+ | d=col? | ||
+ | raster[x][y]=!col; | ||
+ | |||
+ | switch(d){ | ||
+ | case 0: | ||
+ | case 1: | ||
+ | case 2: | ||
+ | case 3: | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | public String toString(){ | ||
+ | String pos0=" | ||
+ | String pos3=">"; | ||
+ | String pos2=" | ||
+ | String pos1="<"; | ||
+ | String pos= d==0? | ||
+ | String res=""; | ||
+ | for(int i=0; i < raster.length; | ||
+ | for(int j=0; j < raster[i].length; | ||
+ | boolean col=raster[i][j]; | ||
+ | |||
+ | if(i == x && j == y){ | ||
+ | res +="| "+pos; | ||
+ | }else if(col){ | ||
+ | res +="| #"; | ||
+ | }else{ | ||
+ | res +=" | ||
+ | } | ||
+ | |||
+ | } | ||
+ | res +=" | ||
+ | } | ||
+ | return res; | ||
+ | |||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | </ |