IBCS1 - 1718 - May

From WLCS

Wednesday (5/30/18)

Agenda:

  • Brick assignment
    • Design and implement a Brick class
    • Instance variables:
      • int x
      • int y
      • int w
      • int h
      • color c //we will go over this in class
      • boolean visible
    • Methods:
      • Brick() //constructor - sets all the instance variables to appropriate values
      • Brick(int x, int y, int w, int h, color c) //specific constructor - we will learn about this
      • display() //displays the brick if it is visible (true)
      • setVisible(boolean v) //set the visible instance variable to v
  • Demo your Brick in a new sketch using the main code below:
Brick b0;
Brick b1;
Brick b2;
Brick b3;
Brick b4;
int time = millis();

void setup()
{
  size(600, 600);
  b0 = new Brick(50, height/2, 100, 25, color(255, 0, 0));
  b1 = new Brick(150, height/2, 100, 25, color(128, 128, 0));
  b2 = new Brick(250, height/2, 100, 25, color(128, 128, 128));
  b3 = new Brick(350, height/2, 100, 25, color(0, 255, 0));
  b4 = new Brick(450, height/2, 100, 25, color(0, 255, 255));
  time = millis();
}

void draw()
{
  background(0);
  b0.display();
  b1.display();
  b2.display();
  b3.display();
  b4.display();
  if (millis() - time > 500)
  {
    b0.setVisible(false);
    b1.setVisible(false);
    b2.setVisible(false);
    b3.setVisible(false);
    b4.setVisible(false);
  }
  if(millis() - time > 1000)
  {
    time = millis();
    b0.setVisible(true);
    b1.setVisible(true);
    b2.setVisible(true);
    b3.setVisible(true);
    b4.setVisible(true);
  }
}

Wednesday - Friday (5/23/18 - 5/24/18)

Agenda:

  • Please complete Mr. Bui's End of Course Survey
  • Surprise!
    • Extra credit if...
  • Finish Paddle hitTop() walk through
  • Demonstrate and missing assignments
  • Design and implement a Brick class
    • What attributes would a Brick have?
    • What methods would a Brick have?

Thursday (5/17/18)

Warmup:

  • Implement the following methods in the Paddle class:
    • void moveLeft() - adjust the Paddle's x variable appropriately using dx
    • void moveRight() - adjust the Paddle's x variable appropriately using dx
    • void moveUp() - adjust the Paddle's y variable appropriately using dy
    • void moveDown() - adjust the Paddle's y variable appropriately using dy
  • Test out your methods by calling them using the keyboard in the main tab

Agenda:

  • Classes and objects review
  • Paddle hitTop() walk through

Tuesday (5/15/18)

Agenda:

  • If you were not here last class, please watch the linked video about Xerox PARC at home
  • Introduction Object-Oriented Programming
    • Ball class review
    • Complete and integrate the Paddle class. Demo this for credit
    • Create a new method in the Paddle class:
      • boolean hitTop(Ball b) - returns true if b collides with the top edge of the Paddle (we will discuss this more, but you can try to do it yourself). Return false otherwise

Wednesday - Friday (5/9/18 - 5/11/18)

Agenda:

  • Demo converted List Exercises
  • Xerox PARC, Apple, & Microsoft history
  • Processing Java arrays and bouncing ball
  • Introduction to Java classes and objects
    • Processing - Objects Tutorial
    • Define a Paddle class with the following instance variables and methods:
      • Instance variables (attributes):
        • int x
        • int y
        • int w
        • int h
      • Methods
        • Paddle() //constructor
        • display() //draws a rectangle using the Paddle's instance variables
        • moveMouse() //sets the x and y instance variables using the mouseX and mouseY variables
    • Add a Paddle to your program

Monday (5/7/18)

Agenda:

  • No Internet
  • Convert your Advanced Python List Exercises to use Java arrays
    • We will walked through the first two examples last class
    • Convert and be prepared to demo List Min/Max and Reverse

Tuesday - Thursday (5/1/18 - 5/3/18)

Agenda: