Advertisement
Javailija

Viivakimara

Sep 19th, 2014
635
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.42 KB | None | 0 0
  1. // MOOC 2014 tehtävä 42.
  2. // Keksikää itse omat viivakimara kuvionne sille robotille ja
  3. // yrittäkää tehdä samanlainen kuin harjoitus kuvassa on. Itse en tiedä miten se on tehty.
  4.  
  5.  
  6. import robotti.Ohjain;
  7.  
  8. public class Viivakimara {
  9.  
  10.     public static void main(String[] args) {
  11.         Ohjain.kaynnista();
  12.  
  13.         // testaa metodejasi täällä
  14.         // Ohjain.asetaOdotusaika(20); // Tämä viiveaika voi olla mikä vaan, eli jos pieni robotti menee kovaa ja isolla hiljaa.
  15.         viivakimara(5);
  16.  
  17.         Ohjain.sammuta();
  18.     }
  19.  
  20.     // toteuta metodisi tänne
  21.     public static void liikuMonta(int montakoAskelta) {
  22.  
  23.        // while (montakoAskelta > 0) {
  24.             montakoAskelta--;
  25.             Ohjain.liiku();
  26.  
  27.         }
  28.     }
  29.  
  30.     public static void piirraNelio(int sivunPituus) {
  31.         liikuMonta(sivunPituus);
  32.        // Ohjain.oikea();
  33.         liikuMonta(sivunPituus);
  34.        // Ohjain.oikea();
  35.  
  36.         liikuMonta(sivunPituus);
  37.        // Ohjain.oikea();
  38.         liikuMonta(sivunPituus);
  39.         Ohjain.oikea();
  40.  
  41.     }
  42.  
  43.     public static void sisakkaisetNeliot(int montako) {
  44.         rajatutSisakkaisetNeliot(montako, 1);
  45.  
  46.     }
  47.  
  48.     public static void rajatutSisakkaisetNeliot(int suurin, int pienin) {
  49.         int luku = 0;
  50.  
  51.        // while (luku <= suurin - pienin) {
  52.             piirraNelio(suurin - luku);
  53.             luku++;
  54.  
  55.         }
  56.     }
  57.  
  58.     public static void viivakimara(int koko) { // Keksi tähän kohtaan oma viivakimara kuviosi jota robotti piirtää liikkuessaan.
  59.         sisakkaisetNeliot(koko * 2); // Piirretään neliö ja neliön sisään lisää neliöitä,  
  60.         rajatutSisakkaisetNeliot(koko, koko / 2); // jotka jakaantuvat aina kahdella joka kierroksella.
  61.         liikuMonta(koko);
  62.         // Ohjain.oikea();
  63.         liikuMonta(koko);
  64.         // Ohjain.oikea();
  65.  
  66.         rajatutSisakkaisetNeliot(koko, koko / 2); // Ohjataan robotti piirtämään uutta neliötä.
  67.         Ohjain.oikea();
  68.         // liikuMonta(koko);
  69.         Ohjain.oikea();
  70.         // liikuMonta(koko);
  71.         Ohjain.oikea();
  72.         // liikuMonta(koko);
  73.         Ohjain.oikea();
  74.         // liikuMonta(koko);
  75.        
  76.         Ohjain.vasen(); // Piirretään uusia neliöitä edellisen neliön viereen ja
  77.         liikuMonta(koko); // taas neliöt jakaantuvat kahtia joka kierroksella.
  78.         // Ohjain.oikea();
  79.         rajatutSisakkaisetNeliot(koko, koko / 2);
  80.  
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement