Guest User

Untitled

a guest
May 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.61 KB | None | 0 0
  1. class Polygonzug {
  2.     public static void main (String[] args) {
  3.         int count = StdIn.readInt();
  4.         StdIn.readLine();
  5.         char str[] = new char[count];
  6.        
  7.         for(int i = 0; i < count ; i++) {
  8.             str[i] = StdIn.readChar();
  9.         }  
  10.         StdIn.readLine();
  11.        
  12.         zeichnen(str, count);
  13.     }
  14.    
  15.     public static void zeichnen(char str[], int l) {
  16.         int r = 0;
  17.         int x = 0;
  18.         int y = 0;
  19.        
  20.         StdDraw.setXscale(-l/2,l/2);
  21.         StdDraw.setYscale(-l/2,l/2);
  22.        
  23.         for (int i = 0; i < l; i+=2) {
  24.            
  25.             if (i == 0 && r == 0) {
  26.                 StdDraw.line(x,y,x+1,y);
  27.                 x=x+1;
  28.                 i++;
  29.             }
  30.            
  31.             switch (r) {
  32.                 case 0:
  33.                     if (str[i] == 'L' && str[i+1] == 'F') {
  34.                         StdDraw.line(x,y,x,y+1);
  35.                         y=y+1;
  36.                         r=1;
  37.                     }
  38.                     else if (str[i] == 'R' && str[i+1] == 'F') {
  39.                         StdDraw.line(x,y,x,y-1);
  40.                         y = y-1;
  41.                         r = 3;
  42.                     }
  43.                     break;
  44.                 case 1:
  45.                     if (str[i] == 'L' && str[i+1] == 'F') {
  46.                         StdDraw.line(x,y,x-1,y);
  47.                         x=x-1;
  48.                         r=2;
  49.                     }
  50.                     else if (str[i] == 'R' && str[i+1] == 'F') {
  51.                         StdDraw.line(x,y,x+1,y);
  52.                         x = x+1;
  53.                         r = 0;
  54.                     }
  55.                     break;
  56.                 case 2:
  57.                     if (str[i] == 'L' && str[i+1] == 'F') {
  58.                         StdDraw.line(x,y,x,y-1);
  59.                         y = y-1;
  60.                         r = 3;
  61.                     }
  62.                     else if (str[i] == 'R' && str[i+1] == 'F') {
  63.                         StdDraw.line(x,y,x,y+1);
  64.                         y = y+1;
  65.                         r = 1;
  66.                     }
  67.                     break;
  68.                 case 3:
  69.                     if (str[i] == 'L' && str[i+1] == 'F') {
  70.                         StdDraw.line(x,y,x+1,y);
  71.                         x = x+1;
  72.                         r = 0;
  73.                     }
  74.                     else if (str[i] == 'R' && str[i+1] == 'F') {
  75.                         StdDraw.line(x,y,x-1,y);
  76.                         x = x-1;
  77.                         r = 2;
  78.                     }
  79.             }      
  80.         }
  81.     }      
  82. }
Add Comment
Please, Sign In to add comment