Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

narrate their code walkthrough of the frozen code submission. should spend at le

ID: 3714636 • Letter: N

Question

narrate their code walkthrough of the frozen code submission. should spend at least a few minutes explaining facets of the project, with an emphasis on the Java used.

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.border.Border;

public class JPanelWorldCampus extends JPanel implements ActionListener {

    JLabel jlWorldCampus, jlIntro, jlCharacterMod, jlLine;

    JButton jbL1, jbL2, jbL3, jbL4, jbL5, jbL6, jbL7, jbL8, jbL9, jbR1, jbR2, jbR3, jbR4, jbR5, jbR6, jbR7, jbR8, jbR9;

    JButton jbStart, jbScore, currentButton1, currentButton2, jbBack;

    String theme, difficulty;

    int buttonCounter, totalCounter, delay, score;

    Boolean left, right;

    Timer previewTimer;

    Border blackLine;

    public JPanelWorldCampus(String infTheme, String infDifficulty) {

       super();

       setLayout(null);

       theme = infTheme;

       difficulty = infDifficulty;

       left = true;

       right = true;

       jlWorldCampus = new JLabel("WORLD CAMPUS");

       jlWorldCampus.setBounds(new Rectangle(300, 20, 220, 20));

       add(jlWorldCampus);

       jlIntro = new JLabel("Match the colored squares for points");

       jlIntro.setBounds(new Rectangle(230, 180, 220, 20));

       add(jlIntro);

      

       jlCharacterMod = new JLabel();

       if (theme.equals("programming")){

           jlCharacterMod.setText("As a programmer you score double points");

           jlCharacterMod.setBounds(new Rectangle(220, 235, 400, 20));

       }

       if (theme.equals("football")){

           jlCharacterMod.setText("As a football player you have less time to preview the board");

           jlCharacterMod.setBounds(new Rectangle(170, 235, 400, 20));

       }

       if (theme.equals("math")){

           jlCharacterMod.setText("As a math student you have more time to preview the board");

           jlCharacterMod.setBounds(new Rectangle(175, 235, 400, 20));

       }

       add(jlCharacterMod);

       jbStart = new JButton("Start");

       jbStart.setBounds(new Rectangle(270, 300, 100, 40));

       jbStart.addActionListener(this);

       add(jbStart);

       jbScore = new JButton("Score: " + score);

       jbScore.setBounds(new Rectangle(255, 50, 100, 40));

       blackLine = BorderFactory.createLineBorder(Color.black);

       jlLine = new JLabel();

       jlLine.setBounds(new Rectangle(305, 110, 2, 310));

       jlLine.setBorder(blackLine);

       jbL1 = new JButton();

       jbL1.setBounds(new Rectangle(205, 150, 60, 40));

       jbL1.setBackground(Color.RED);

       jbL2 = new JButton();

       jbL2.setBounds(new Rectangle(205, 250, 60, 40));

       jbL2.setBackground(Color.CYAN);

       jbL3 = new JButton();

       jbL3.setBounds(new Rectangle(205, 350, 60, 40));

       jbL3.setBackground(Color.YELLOW);

       jbL4 = new JButton();

       jbL4.setBounds(new Rectangle(130, 150, 60, 40));

       jbL4.setBackground(Color.GREEN);

       jbL5 = new JButton();

       jbL5.setBounds(new Rectangle(130, 250, 60, 40));

       jbL5.setBackground(Color.BLUE);

       jbL6 = new JButton();

       jbL6.setBounds(new Rectangle(130, 350, 60, 40));

       jbL6.setBackground(Color.MAGENTA);

       jbL7 = new JButton();

       jbL7.setBounds(new Rectangle(55, 150, 60, 40));

       jbL7.setBackground(Color.WHITE);

       jbL8 = new JButton();

       jbL8.setBounds(new Rectangle(55, 250, 60, 40));

       jbL8.setBackground(Color.ORANGE);

       jbL9 = new JButton();

       jbL9.setBounds(new Rectangle(55, 350, 60, 40));

       jbL9.setBackground(Color.PINK);

       jbR1 = new JButton();

       jbR1.setBounds(new Rectangle(345, 150, 60, 40));

       jbR1.setBackground(Color.YELLOW);

       jbR2 = new JButton();

       jbR2.setBounds(new Rectangle(345, 250, 60, 40));

       jbR2.setBackground(Color.RED);

       jbR3 = new JButton();

       jbR3.setBounds(new Rectangle(345, 350, 60, 40));

       jbR3.setBackground(Color.CYAN);

       jbR4 = new JButton();

       jbR4.setBounds(new Rectangle(420, 150, 60, 40));

       jbR4.setBackground(Color.BLUE);

       jbR5 = new JButton();

       jbR5.setBounds(new Rectangle(420, 250, 60, 40));

       jbR5.setBackground(Color.GREEN);

       jbR6 = new JButton();

       jbR6.setBounds(new Rectangle(420, 350, 60, 40));

       jbR6.setBackground(Color.MAGENTA);

       jbR7 = new JButton();

       jbR7.setBounds(new Rectangle(495, 150, 60, 40));

       jbR7.setBackground(Color.ORANGE);

       jbR8 = new JButton();

       jbR8.setBounds(new Rectangle(495, 250, 60, 40));

       jbR8.setBackground(Color.PINK);

       jbR9 = new JButton();

       jbR9.setBounds(new Rectangle(495, 350, 60, 40));

       jbR9.setBackground(Color.WHITE);

       if(theme.equals("programming")){

           delay = 5000;

       }

       if(theme.equals("football")){

           delay = 3000;

       }

       if(theme.equals("math")){

           delay = 8000;

       }

       previewTimer = new Timer(delay, this);

       jbBack = new JButton("Back");

       jbBack.setBounds(new Rectangle(375, 50, 100, 40));

    }

    @Override

    public void actionPerformed(ActionEvent event) {

       Object obj = event.getSource();

       if (obj == jbStart) {

           if (difficulty.equals("easy")) {

               remove(jlIntro);

               remove(jlCharacterMod);

               remove(jbStart);

               add(jbL1);

               add(jbL2);

               add(jbL3);

               add(jbR1);

               add(jbR2);

               add(jbR3);

               add(jlLine);

               add(jbScore);

               previewTimer.start();

               validate();

               repaint();

           }

           if (difficulty.equals("medium")) {

               remove(jlIntro);

               remove(jlCharacterMod);

               remove(jbStart);

               add(jbL1);

               add(jbL2);

               add(jbL3);

               add(jbL4);

               add(jbL5);

               add(jbL6);

               add(jbR1);

               add(jbR2);

               add(jbR3);

               add(jbR4);

               add(jbR5);

               add(jbR6);

               add(jlLine);

               add(jbScore);

               previewTimer.start();

               validate();

               repaint();

           }

           if (difficulty.equals("hard")) {

               remove(jlIntro);

               remove(jlCharacterMod);

               remove(jbStart);

               add(jbL1);

               add(jbL2);

               add(jbL3);

               add(jbL4);

               add(jbL5);

               add(jbL6);

               add(jbL7);

               add(jbL8);

               add(jbL9);

               add(jbR1);

               add(jbR2);

               add(jbR3);

               add(jbR4);

               add(jbR5);

               add(jbR6);

               add(jbR7);

               add(jbR8);

               add(jbR9);

               add(jlLine);

               add(jbScore);

               previewTimer.start();

               validate();

               repaint();

           }

       }

       if (obj == previewTimer) {

           previewTimer.stop();

           jbL1.setContentAreaFilled(false);

           jbL1.addActionListener(this);

           jbL2.setContentAreaFilled(false);

           jbL2.addActionListener(this);

           jbL3.setContentAreaFilled(false);

           jbL3.addActionListener(this);

           jbL4.setContentAreaFilled(false);

           jbL4.addActionListener(this);

           jbL5.setContentAreaFilled(false);

           jbL5.addActionListener(this);

           jbL6.setContentAreaFilled(false);

           jbL6.addActionListener(this);

           jbL7.setContentAreaFilled(false);

           jbL7.addActionListener(this);

           jbL8.setContentAreaFilled(false);

           jbL8.addActionListener(this);

           jbL9.setContentAreaFilled(false);

           jbL9.addActionListener(this);

           jbR1.setContentAreaFilled(false);

           jbR1.addActionListener(this);

           jbR2.setContentAreaFilled(false);

           jbR2.addActionListener(this);

           jbR3.setContentAreaFilled(false);

           jbR3.addActionListener(this);

           jbR4.setContentAreaFilled(false);

           jbR4.addActionListener(this);

           jbR5.setContentAreaFilled(false);

           jbR5.addActionListener(this);

           jbR6.setContentAreaFilled(false);

           jbR6.addActionListener(this);

           jbR7.setContentAreaFilled(false);

           jbR7.addActionListener(this);

           jbR8.setContentAreaFilled(false);

           jbR8.addActionListener(this);

           jbR9.setContentAreaFilled(false);

           jbR9.addActionListener(this);

       }

       if (left.equals(true)) {

           if (obj == jbL1 || obj == jbL2 || obj == jbL3 || obj == jbL4 || obj == jbL5 || obj == jbL6 || obj == jbL7 || obj == jbL8 || obj == jbL9) {

               currentButton1 = (JButton) obj;

               currentButton1.setContentAreaFilled(true);

               currentButton1.setEnabled(false);

               left = false;

               buttonCounter = buttonCounter + 1;

           }

       }

       if (right.equals(true)) {

           if (obj == jbR1 || obj == jbR2 || obj == jbR3 || obj == jbR4 || obj == jbR5 || obj == jbR6 || obj == jbR7 || obj == jbR8 || obj == jbR9) {

               currentButton2 = (JButton) obj;

               currentButton2.setContentAreaFilled(true);

               currentButton2.setEnabled(false);

               right = false;

               buttonCounter = buttonCounter + 1;

           }

       }

       if (buttonCounter == 2) {

           if (currentButton1.getBackground() == currentButton2.getBackground()) {

               if (theme.equals("programming")){

                   score++;

               }

               score++;

               jbScore.setText("Score: " + score);

           }

           left = true;

           right = true;

           buttonCounter = 0;

           totalCounter++;

       }

       if (difficulty.equals("easy")) {

           if (totalCounter == 3) {

               add(jbBack);

               validate();

               repaint();

           }

       }

       if (difficulty.equals("medium")) {

           if (totalCounter == 6) {

               add(jbBack);

               validate();

               repaint();

           }

       }

       if (difficulty.equals("hard")) {

           if (totalCounter == 9) {

               add(jbBack);

               validate();

               repaint();

           }

       }

    }

    @Override

    public void paintComponent(Graphics g

    ) {

       super.paintComponent(g);

       Image myImage = Toolkit.getDefaultToolkit().getImage("images/background.jpg");

       g.drawImage(myImage, 0, 0, this);

    }

}

Please explain the code for me using xml or anything thank you

Explanation / Answer

The above program theme is : color matching game.

The main goal of this game is to match color tiles to gain points.

The game has three types of themes:

1.Programmer- you have 5 seconds to watch the tile and match the tiles.

2.Football player - you have 3 seconds to watch the tile and match the tiles.

3.Math student - you have 8 seconds to watch the tile and match the tiles.

The game has three levels:

1.easy - you will get 3*3 tile puzzle.

2.medium - you will get 6*6 tile puzzle.

3. hard - you will get 6*6 tile puzzle.

Based on the time and quicksolving and theme you will get the score accordingly.

Note: as you mentioned to write about how program works, I didnt checked if the program is working or not.

Hope this helps...

Thankyou.... :)