Advertisement
GARC923

L3E1

Oct 21st, 2022
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.24 KB | None | 0 0
  1. /**
  2. Carlos Garcia
  3. L3E1
  4. Building castles
  5. */
  6.  
  7. package Lesson3;
  8.  
  9. import kareltherobot.UrRobot;
  10. import kareltherobot.World;
  11.  
  12. import java.awt.*;
  13.  
  14.  
  15. public class Evaluation1 extends UrRobot {
  16.     public Evaluation1(int street , int avenue , Direction direction , int beeperCount){
  17.         super(street, avenue, direction, beeperCount, Color.PINK);
  18.     }
  19.  
  20.  
  21.  
  22.     public static void main(String[] args) {
  23.         World.setDelay(2);
  24.         World.setVisible();
  25.         World.setBeeperColor(Color.blue);
  26.         World.setSize(25,45);
  27.         World.showSpeedControl(true);
  28.  
  29.         Evaluation1 TowerBuilder1 = new Evaluation1(1,2,North,-1);
  30.         Evaluation1 TowerBuilder2 = new Evaluation1(1,45,North,-1);
  31.         Evaluation1 RoofBuilder = new Evaluation1(15,16,North,-1);
  32.         Evaluation1 DoorBuilder = new Evaluation1(1,20,North,-1);
  33.         Evaluation1 WindowBuilder1 = new Evaluation1(8,7,East,-1);
  34.         Evaluation1 WindowBuilder2 = new Evaluation1(8,36,East,-1);
  35.  
  36.         TowerBuilder1.buildTower1();
  37.         TowerBuilder1.setVisible(false);
  38.         TowerBuilder2.buildTower2();
  39.         TowerBuilder2.setVisible(false);
  40.         RoofBuilder.buildRoof();
  41.         RoofBuilder.setVisible(false);
  42.         DoorBuilder.buildDoor();
  43.         DoorBuilder.setVisible(false);
  44.         WindowBuilder1.buildWindow();
  45.         WindowBuilder1.setVisible(false);
  46.         WindowBuilder2.buildWindow();
  47.         WindowBuilder2.setVisible(false);
  48.  
  49.     }
  50.  
  51.  
  52.     /**
  53.      * Function to turn right
  54.      * @return void
  55.      * */
  56.     public void turnRight(){
  57.         World.setDelay(0);
  58.         turnLeft();
  59.         turnLeft();
  60.         turnLeft();
  61.         World.setDelay(2);
  62.  
  63.     }
  64.  
  65.     /**
  66.      * Function to build the towers
  67.      * @return void
  68.      * */
  69.     public void buildTower1(){
  70.         for (int i = 0; i < 24; i++) { //loop to go up
  71.             putBeeper();
  72.             move();
  73.         }
  74.         putBeeper();
  75.         for (int i = 0; i < 3; i++) {       //upper part of the tower
  76.             turnRight();
  77.             move();
  78.             putBeeper();
  79.             move();
  80.             putBeeper();
  81.             turnRight();
  82.             for (int j = 0; j < 2; j++) {
  83.                 move();
  84.                 putBeeper();
  85.                 move();
  86.                 putBeeper();
  87.                 if ((i == 0)&&(j==0)) {
  88.                     move();
  89.                     putBeeper();
  90.                 }
  91.                 turnLeft();
  92.             }
  93.             move();
  94.             putBeeper();
  95.             move();
  96.             putBeeper();
  97.             if (i == 2) {
  98.                 move();
  99.                 putBeeper();
  100.             }
  101.         }
  102.         turnRight();
  103.         for (int i = 0; i < 2; i++) { // loop to go back
  104.             move();
  105.             putBeeper();
  106.         }
  107.         turnRight();
  108.         for (int i = 0; i < 10; i++) {
  109.             move();
  110.             putBeeper();
  111.         }
  112.     }
  113.  
  114.     /**
  115.      * Function to build the other tower
  116.      * @return void
  117.      * */
  118.     public void buildTower2(){
  119.         for (int i = 0; i < 24; i++) { //loop to go uo
  120.             putBeeper();
  121.             move();
  122.         }
  123.         putBeeper();
  124.         for (int i = 0; i < 3; i++) {       //upper part of the tower
  125.             turnLeft();
  126.             move();
  127.             putBeeper();
  128.             move();
  129.             putBeeper();
  130.             turnLeft();
  131.             for (int j = 0; j < 2; j++) {
  132.                 move();
  133.                 putBeeper();
  134.                 move();
  135.                 putBeeper();
  136.                 if ((i == 0)&&(j==0)) {
  137.                     move();
  138.                     putBeeper();
  139.                 }
  140.                 turnRight();
  141.             }
  142.             move();
  143.             putBeeper();
  144.             move();
  145.             putBeeper();
  146.             if (i == 2) {
  147.                 move();
  148.                 putBeeper();
  149.             }
  150.         }
  151.         turnLeft();
  152.         for (int i = 0; i < 2; i++) { //loop to go back
  153.             move();
  154.             putBeeper();
  155.         }
  156.         turnLeft();
  157.         for (int i = 0; i < 10; i++) {
  158.             move();
  159.             putBeeper();
  160.         }
  161.     }
  162.  
  163.     /**
  164.      * Function to build the roof
  165.      * @return void
  166.      * */
  167.     public void buildRoof(){
  168.         turnRight();
  169.         move();
  170.         putBeeper();
  171.         for (int i = 0; i < 6; i++) { //loop to make the ascending part
  172.             turnLeft();
  173.             move();
  174.             turnRight();
  175.             move();
  176.             putBeeper();
  177.         }
  178.         move();
  179.         putBeeper();
  180.         for (int i = 0; i < 6; i++) { //loop to make the descending part
  181.             turnRight();
  182.             move();
  183.             turnLeft();
  184.             move();
  185.             putBeeper();
  186.         }
  187.     }
  188.  
  189.     /**
  190.      * Function to build a door
  191.      * @return void
  192.      * */
  193.     public void buildDoor(){
  194.         for (int i = 0; i < 8; i++) {
  195.             putBeeper();
  196.             move();
  197.             if (i==2){
  198.                 turnRight();
  199.                 move();
  200.                 putBeeper();
  201.                 turnLeft();
  202.                 turnLeft();
  203.                 move();
  204.                 turnRight();
  205.             }
  206.         }
  207.         putBeeper();
  208.         turnRight();
  209.         for (int i = 0; i < 7; i++) {
  210.             move();
  211.             putBeeper();
  212.         }
  213.         turnRight();
  214.         for (int i = 0; i < 8; i++) {
  215.             move();
  216.             putBeeper();
  217.         }
  218.     }
  219.  
  220.     /**
  221.      * Function to build thw windows
  222.      * @return void
  223.      * */
  224.     public void buildWindow(){
  225.         for (int i = 0; i < 4; i++) {
  226.             putBeeper();
  227.             move();
  228.         }
  229.         turnLeft();
  230.         for (int i = 0; i < 7; i++) {
  231.             putBeeper();
  232.             move();
  233.         }
  234.         putBeeper();
  235.         for (int i = 0; i < 2; i++) {
  236.             turnLeft();
  237.             move();
  238.             turnRight();
  239.             move();
  240.             putBeeper();
  241.         }
  242.         turnLeft();
  243.         for (int i = 0; i < 2; i++) {
  244.             turnLeft();
  245.             move();
  246.             turnRight();
  247.             move();
  248.             putBeeper();
  249.         }
  250.         turnLeft();
  251.         for (int i = 0; i < 6; i++) {
  252.             move();
  253.             putBeeper();
  254.         }
  255.     }
  256.  
  257.  
  258. }
  259.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement