Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // MOOC 2014 tehtävä 42.
- // Keksikää itse omat viivakimara kuvionne sille robotille ja
- // yrittäkää tehdä samanlainen kuin harjoitus kuvassa on. Itse en tiedä miten se on tehty.
- import robotti.Ohjain;
- public class Viivakimara {
- public static void main(String[] args) {
- Ohjain.kaynnista();
- // testaa metodejasi täällä
- // Ohjain.asetaOdotusaika(20); // Tämä viiveaika voi olla mikä vaan, eli jos pieni robotti menee kovaa ja isolla hiljaa.
- viivakimara(5);
- Ohjain.sammuta();
- }
- // toteuta metodisi tänne
- public static void liikuMonta(int montakoAskelta) {
- // while (montakoAskelta > 0) {
- montakoAskelta--;
- Ohjain.liiku();
- }
- }
- public static void piirraNelio(int sivunPituus) {
- liikuMonta(sivunPituus);
- // Ohjain.oikea();
- liikuMonta(sivunPituus);
- // Ohjain.oikea();
- liikuMonta(sivunPituus);
- // Ohjain.oikea();
- liikuMonta(sivunPituus);
- Ohjain.oikea();
- }
- public static void sisakkaisetNeliot(int montako) {
- rajatutSisakkaisetNeliot(montako, 1);
- }
- public static void rajatutSisakkaisetNeliot(int suurin, int pienin) {
- int luku = 0;
- // while (luku <= suurin - pienin) {
- piirraNelio(suurin - luku);
- luku++;
- }
- }
- public static void viivakimara(int koko) { // Keksi tähän kohtaan oma viivakimara kuviosi jota robotti piirtää liikkuessaan.
- sisakkaisetNeliot(koko * 2); // Piirretään neliö ja neliön sisään lisää neliöitä,
- rajatutSisakkaisetNeliot(koko, koko / 2); // jotka jakaantuvat aina kahdella joka kierroksella.
- liikuMonta(koko);
- // Ohjain.oikea();
- liikuMonta(koko);
- // Ohjain.oikea();
- rajatutSisakkaisetNeliot(koko, koko / 2); // Ohjataan robotti piirtämään uutta neliötä.
- Ohjain.oikea();
- // liikuMonta(koko);
- Ohjain.oikea();
- // liikuMonta(koko);
- Ohjain.oikea();
- // liikuMonta(koko);
- Ohjain.oikea();
- // liikuMonta(koko);
- Ohjain.vasen(); // Piirretään uusia neliöitä edellisen neliön viereen ja
- liikuMonta(koko); // taas neliöt jakaantuvat kahtia joka kierroksella.
- // Ohjain.oikea();
- rajatutSisakkaisetNeliot(koko, koko / 2);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement