Question
Write a java program named BuildingSystem.java, in which there is a static method called draw used to draw a simple frame of the building. Drawing
Write a java program named "BuildingSystem.java", in which there is a static method called draw used to draw a simple frame of the building.
Drawing panel is size 500 * 500
Building is at (50,10), size 45 * 100
Gray background
Windows are in color (red = 100, green = 50, blue = 100)
Each window is size 5 * 5
Windows are 10px apart (5 blank pixels between horizontally and vertically)
The leftmost window is 10px away from the leftmost border of the building.
The draw method accepts three parameters: graphics, the x and y coordinate of the top left corner of the building.
Write another Java program "Building.java" to declare a class Building. The blue print of the class Building is as below:
Building State: The x and y coordinates of the top left corner.
Behavior: Building(int newX, int newY)
draw(Graphics g)
moveUp()
moveDown()
moveLeft()
moveRight()
Note: please simply declare the required methods in the class, and let each method print out its own name only. E.g. when draw is called, it prints only "draw is called". We are going to implement these methods in following steps.
Implement the constructor Building() and instance method draw() in "Building.java".
Note: you may need to copy some code from previous step into the draw method. But please access the fields x and y in the draw method.
Write another Java program called as "testBuilding.java". In the main method of "testBuilding.java", please create a DrawingPanel and a Building object with the left corner at (50,50). Then draw the created building by calling the instance method draw of the Building object. 5) After drawing the building, now please let "testBuilding.java" accept the input from user until "q" is pressed.
Call moveUp if user types "i" and press "Enter"
Call moveDown if user types "k" and press "Enter"
Call moveLeft if user types "j" and press "Enter"
Call moveRight if user types "l" and press "Enter"
Hint: You may need to write a do while loop to accept the input. To read one character each time using Scanner, we can follow the code below:
Scanner s = new Scanner(System.in);
char input; input = s.next().charAt(0);
Implement moveUp, moveDown, moveLeft and moveRight by changing the fields x and y in "Building.java"
Modify main method of "testBuilding.java" of previous step let Building object update itself on the window after key "i", "k" , "j" or "l" is pressed. Each time, the movement amount is 10 pixels. For example, when "i" is pressed, the building should move up 10 pixels.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started