Difference between revisions of "IB Computer Science 1"

From WLCS
(Friday (4/7/17))
(43 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Friday (4/7/17) ==
+
== Friday - Wednesday (6/9/17 - 6/14/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Emoji Assignment
+
* Turn in final exam exemption slips
*# Add a new mood to your Emoji class
+
* Turn in any missing assignments
*# In the main setup() and draw(), create multiple Emoji objects of different sizes, colors, and moods at different locations on the screen.
+
** Completed Breakout
*# Display and demo your program to Mr. Bui
+
** Flowcharts
* Ping w/ Objects
+
** IA: Criterion A
*# Convert your Ping game so that it uses objects
+
* Work on anything productive
*# Create a new sketch named PingWithObjects
+
** You could even finish your summer assignment before the summer!
*# Copy and paste your Ball class into a new tab in the sketch (separate classes should be in separate tabs)
+
* Final Exam Review Guide
*# Create a new class in a new tab named Paddle
+
** Review everything on the [https://docs.google.com/a/apsva.us/document/d/1NTBIKn4uxQmuIKDXWoQDboF_YNkCBaKrz2-gjf3dTxA/edit?usp=sharing Python vs. Java Reference] in your Google Drive
*# Move the Ping paddle attribute variables to the Paddle class
+
** Values, types, variables
*# Create a default constructor in the Paddle class
+
*** [[Media:ValuesTypesVariables.ppt]]
*# Add methods moveLeft() and moveRight() to the Paddle class
+
** Math operations
*# Complete and demo the PingWithObjects conversion
+
** Logical and comparison operations
 +
*** [[Media:BooleanLogic.ppt]]
 +
*** [[Logical operators assignment]]
 +
*** [[Comparison operators assignment]]
 +
** Functions (Methods)
 +
*** [[Media:JavaMethods.pptx]]
 +
*** function definition
 +
*** function header
 +
*** function body
 +
*** function call
 +
*** function parameters
 +
** if-statements
 +
** if-else statements
 +
** while loops
 +
** for loops
 +
** strings
 +
*** [[Media:JavaStrings_Basic.ppt]]
 +
** arrays
 +
*** [[Media:JavaArrays_Basic.ppt]]
  
== Wednesday - Thursday (4/5/17 - 4/6/17) ==
+
== Monday - Thursday (6/5/17 - 6/8/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Introduction to Objects Review
+
* IB Summer Assignment will be working on IA: Criterion B
** Emoji class walk-through
+
** [[IBCS2 Summer Assignment]]
* Object & Class Rules
+
* Final exam exemption slips due by June 12th (or asap)
*# Separate classes in separate tabs or files
+
* Rock-Paper-Scissors Flowchart Assignment
*# Capitalize class names (e.g. Ball, Emoji)
+
** Flowcharts - [[Media:Flowcharts.ppt]]
*# Remember to indent!
+
** Create a flowchart for the Rock-Paper-Scissors game using [https://www.draw.io/ draw.io]
*# Order of sections:  
+
** Submit a pdf of your flowchart via Google Classroom (due Wednesday (6/7/17))  
*#* attributes
+
* Complete and demo Breakout
*#* constructors
+
* Work on Internal Assessment
*#* methods
 
*# All class constructors and methods can access attributes
 
*# Use common sense to organize which code happens in which methods (i.e. each method has a specific purpose, and it should only worry about that purpose)
 
* Default constructor vs "specific" constructors
 
** [https://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html Oracle Java Constructor Tutorial]
 
* Ping w/ Objects
 
*# Convert your Ping game so that it uses objects
 
*# Create a new sketch named PingWithObjects
 
*# Copy and paste your Ball class into a new tab in the sketch (separate classes should be in separate tabs)
 
*# Create a new class in a new tab named Paddle
 
*# Move the Ping paddle attribute variables to the Paddle class
 
*# Create a default constructor in the Paddle class
 
*# Add methods moveLeft() and moveRight() to the Paddle class
 
*# Complete and demo the PingWithObjects conversion
 
  
== Monday - Tuesday (4/3/17 - 4/4/17) ==
+
== Thursday - Friday (6/1/17 - 6/2/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Complete and demo [https://docs.google.com/document/d/1ZoXB12Md1zbG_liXn1yfIDosZ2p9i2ZqqsU4Hx8WV5A/edit?usp=sharing OOP: My First Object]
+
* Complete and demo Breakout
* Challenge: Create the Multiple Bouncing Balls using an array of Ball objects
+
* Work on Internal Assessment
* Ping w/ Objects
 
*# Convert your Ping game so that it uses objects
 
*# Create a new sketch named PingWithObjects
 
*# Copy and paste your Ball class into a new tab in the sketch (separate classes should be in separate tabs)
 
*# Create a new class in a new tab named Paddle
 
*# Move the Ping paddle attribute variables to the Paddle class
 
*# Create a default constructor in the Paddle class
 
*# Add methods moveLeft() and moveRight() to the Paddle class
 
*# Complete and demo the PingWithObjects conversion
 
  
== Thursday - Friday (3/30/17 - 3/31/17) ==
+
== Tuesday - Wednesday (5/30/17 - 5/31/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Demo!
+
* Complete and demo Breakout
** Pong w/ arrays and multiple balls
+
* Work on Internal Assessment
** Gravity Launcher w/ arrays and multiple balls
 
* Introduction to Object-Oriented Programming (OOP)
 
** History! ... Xerox PARC ... Apple ... Microsoft
 
*** [https://www.youtube.com/watch?v=J33pVRdxWbw Xerox PARC Excerpt from "Triumph of the Nerds"]
 
** Complete  [https://docs.google.com/document/d/1ZoXB12Md1zbG_liXn1yfIDosZ2p9i2ZqqsU4Hx8WV5A/edit?usp=sharing OOP: My First Object]
 
  
== Thursday - Wednesday (3/23/17 - 3/29/17) ==
+
== Monday (5/29/17) ==
 +
* Memorial Day
 +
 
 +
== Friday (5/26/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Complete and demo Pong w/ arrays and multiple balls
+
* Java 20Q Assessment
* Complete and demo Gravity Launcher w/ arrays and multiple balls
+
* Complete Breakout
 +
* Turn in Internal Assessment: Criterion A: Planning
 +
** E-mail Mr. Bui if you need an extension
  
== Tuesday - Wednesday (3/21/17 - 3/22/17) ==
+
== Friday - Thursday (5/19/17 - 5/25/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Demo missing assignments
+
* Assignments thus far:
** [https://docs.google.com/document/d/1RCVlD8xOl4mzuIm2kxQUtyccOOJa_6bBFVa3S57Sj_E/edit?usp=sharing Project: Simple Paint]
+
** Emoji
** [https://docs.google.com/document/d/1xRSA_Ti8l5002jcAftcUtCTdujCojghzoTpUZwJvHQ4/edit?usp=sharing Animation: Bouncing Ball]
+
** Ping w/ Objects (Classes)
** [https://docs.google.com/document/d/1NyUifJyiIxKupLXLLlbIcLB4SUCB_mLQs4GyhSaMSIw/edit?usp=sharing Project: Ping (1-player Pong)]
+
** Preliminary Breakout (only needs bottom brick collision)
** [https://docs.google.com/document/d/1g5aP7hBogJYCDSdURtG0SfG3CY-q7aLtYyGilZaQcSM/edit?usp=sharing Media: Loading & Playing Sounds]
+
* Current assignment:
* Convert [https://docs.google.com/document/d/1VGe4BcieqEgXfBAW_kA6gDd5a243rIItHGfV9jXLRfo/edit?usp=sharing Project: Pong (Mouse vs Keyboard)] to Java AND use arrays so that there are multiple balls on the screen
+
** Breakout w/ collisions on left, right, and tops of bricks
** You must change the gameplay!  If a ball passes a player's paddle, then give that person a point. When there are no more balls on the screen, then the player with fewer points wins.
+
** Multiple lives
** Note: If you do not have the Python code, then just get a copy from somebody who does
+
** Game over when there are no more lives
** key is a char, so you need to use single quotes
+
** Win screen when there are no more bricks
** hit() function must be edited to accept an input parameter i
+
* Internal Assessment: Criterion A: Planning
* Convert [https://docs.google.com/document/d/1wCZWJbwxWv6xqrbuQOKC8jgqdNdVUzSKE4L6UC-yX2s/edit?usp=sharing Animation: Gravity Ball with Mouse Launcher] to Java AND use arrays so that there are multiple balls (of different sizes) launched
+
** [[Internal Assessment]]
** Note: If you do not have the Python code, then just get a copy from somebody who does
+
** [[Media:IBCS_InternalAssessmentChecklist.doc]]
** Challenge: Give each ball a different radius. Correlate the initial energy for each particular ball to the radius
+
** [http://ibpublishing.ibo.org/live-exist/rest/app/tsm.xql?doc=d_4_comsc_tsm_1201_1_e&part=4&chapter=5 IA Criteria Rubrics]
 +
** [https://ibpublishing.ibo.org/live-exist/rest/app/tsm.xql?doc=d_4_comsc_tsm_1201_2_e&part=4&chapter=7 IA Examples]
 +
** Criterion A Overview - due '''Friday (5/26/17)''' via Google Classroom
 +
*** Explicitly state your client
 +
*** Explicitly state your advisor
 +
*** Define and describe the problem or unanswered question (175-250 words)  
 +
*** Explicitly reference to documentation or evidence that a client was consulted (e.g. interview notes, transcription, or e-mail thread)
 +
*** Justify your proposed product (175-250 words)
 +
*** List (bulleted sentences/phrases) your success criteria (functionality requirements)
 +
* Workplace Readiness Skills Assessment - '''Date TBD'''
 +
** Common-sense workplace questions
 +
** 1 hour - 100 multiple choice
 +
** [https://www.quia.com/quiz/1865016.html Practice WRS Test]
  
== Wednesday - Monday (3/15/17 - 3/20/17) ==
+
== Monday - Thursday (5/15/17 - 5/18/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Demo missing assignments
+
* Complete the [http://nova.mce.cc/ NVCC Dual Enrollment Evaluation]
** [https://docs.google.com/document/d/1RCVlD8xOl4mzuIm2kxQUtyccOOJa_6bBFVa3S57Sj_E/edit?usp=sharing Project: Simple Paint]
+
* Complete [https://docs.google.com/forms/d/1dCcfJnCaczrBzeQoagJsZMZxidRFEdI-s4E6h_DJqAM/viewform End-of-Course Survey]
** [https://docs.google.com/document/d/1xRSA_Ti8l5002jcAftcUtCTdujCojghzoTpUZwJvHQ4/edit?usp=sharing Animation: Bouncing Ball]
+
** Summary results will be shown when all students have finished
** [https://docs.google.com/document/d/1NyUifJyiIxKupLXLLlbIcLB4SUCB_mLQs4GyhSaMSIw/edit?usp=sharing Project: Ping (1-player Pong)]
+
* Complete and demonstrate the preliminary Breakout game with the Brick[] array
* Demo Java converted [https://docs.google.com/document/d/1g5aP7hBogJYCDSdURtG0SfG3CY-q7aLtYyGilZaQcSM/edit?usp=sharing Media: Loading & Playing Sounds]
+
** Displays bricks, paddle, and ball
* Arrays in Java (~Lists)
+
** Ball collides with both paddles and bottom of bricks
** [[Media:JavaArrays_Basic.ppt]]
+
** Bricks disappear upon collision
** Use of the [] brackets
+
* Once you have completed and demonstrated the preliminary Breakout game, continue implementing the following features:
** Explicit declaration
+
** Collisions with left, right, and tops of bricks
** Implicit declaration
+
** Multiple lives
*** Primitive types
+
** Game over when there are no more lives
*** Complex types
+
** Win screen when there are no more bricks
** Multiple bouncing balls - create a version of the bouncing balls program in Java that uses arrays and has multiple balls moving on the screen
 
* Convert [https://docs.google.com/document/d/1VGe4BcieqEgXfBAW_kA6gDd5a243rIItHGfV9jXLRfo/edit?usp=sharing Project: Pong (Mouse vs Keyboard)] to Java AND use arrays so that there are multiple balls on the screen
 
** You must change the gameplay!  If a ball passes a player's paddle, then give that person a point.  When there are no more balls on the screen, then the player with fewer points wins.
 
** Note: If you do not have the Python code, then just get a copy from somebody who does
 
** key is a char, so you need to use single quotes
 
** hit() function must be edited to accept an input parameter i
 
* Convert [https://docs.google.com/document/d/1wCZWJbwxWv6xqrbuQOKC8jgqdNdVUzSKE4L6UC-yX2s/edit?usp=sharing Animation: Gravity Ball with Mouse Launcher] to Java AND use arrays so that there are multiple balls (of different sizes) launched
 
** Note: If you do not have the Python code, then just get a copy from somebody who does
 
  
== Tuesday (3/14/17) ==
+
== Thursday - Friday (5/11/17 - 5/12/17) ==
* Winter Storm Stella Snow Day
 
 
 
== Friday - Monday (3/10/17 - 3/13/17) ==
 
 
'''Agenda:'''
 
'''Agenda:'''
* Job opportunity w/ Mrs. Carolyn Carlson (non-profit consulting)
+
* Complete the [http://nova.mce.cc/ NVCC Dual Enrollment Evaluation]
* Convert and demo your Python code for the following programs to Java:
+
* Complete and demonstrate the preliminary Breakout game with the Brick[] array
** [https://docs.google.com/document/d/1RCVlD8xOl4mzuIm2kxQUtyccOOJa_6bBFVa3S57Sj_E/edit?usp=sharing Project: Simple Paint]
+
** Displays bricks, paddle, and ball
** [https://docs.google.com/document/d/1xRSA_Ti8l5002jcAftcUtCTdujCojghzoTpUZwJvHQ4/edit?usp=sharing Animation: Bouncing Ball]
+
** Ball collides with both paddles and bricks
** [https://docs.google.com/document/d/1NyUifJyiIxKupLXLLlbIcLB4SUCB_mLQs4GyhSaMSIw/edit?usp=sharing Project: Ping (1-player Pong)]
+
** Bricks disappear upon collision
* Complex Java Types
 
** Declaration of complex types and objects
 
** Object instantiation w/ '''new''' keyword
 
** Convert as a class:  [https://docs.google.com/document/d/13zLTnm_mxURSFxEWJ24MUBOAK1Y6jbfk8NxL-wS_U7g/edit?usp=sharing Media: Loading & Displaying Images]
 
** Convert yourself: [https://docs.google.com/document/d/1g5aP7hBogJYCDSdURtG0SfG3CY-q7aLtYyGilZaQcSM/edit?usp=sharing Media: Loading & Playing Sounds]
 
  
== Wednesday - Thursday (3/8/17 - 3/9/17) ==
+
== Monday - Wednesday (5/8/17 - 5/10/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* [http://arlingtonva.libcal.com/event/3006500 Teen Tech Help @ Central Library, Thursday (3/9/17), 3:30-5pm]
+
* Complete the preliminary Breakout game with the Brick[] array
* Job opportunity w/ Mrs. Carolyn Carlson (non-profit consulting)
 
* Python -> Java Review
 
** Add looping (while, for) to Java notes
 
* Convert your Python code for the following programs to Java:
 
**[https://docs.google.com/document/d/1RCVlD8xOl4mzuIm2kxQUtyccOOJa_6bBFVa3S57Sj_E/edit?usp=sharing Project: Simple Paint]
 
** [https://docs.google.com/document/d/1xRSA_Ti8l5002jcAftcUtCTdujCojghzoTpUZwJvHQ4/edit?usp=sharing Animation: Bouncing Ball]
 
** [https://docs.google.com/document/d/1NyUifJyiIxKupLXLLlbIcLB4SUCB_mLQs4GyhSaMSIw/edit?usp=sharing Project: Ping (1-player Pong)]
 
** [https://docs.google.com/document/d/13zLTnm_mxURSFxEWJ24MUBOAK1Y6jbfk8NxL-wS_U7g/edit?usp=sharing Media: Loading & Displaying Images]
 
*** Hint: Can you determine the type names for the image variables?
 
** [https://docs.google.com/document/d/1g5aP7hBogJYCDSdURtG0SfG3CY-q7aLtYyGilZaQcSM/edit?usp=sharing Media: Loading & Playing Sounds]
 
*** Hint: Can you determine the type names for the sound variables?
 
  
== Monday - Tuesday (3/6/17 - 3/7/17) ==
+
== Thursday - Friday (5/4/17 - 5/5/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* [http://arlingtonva.libcal.com/event/3006500 Teen Tech Help @ Central Library, Thursday (3/9/17), 3:30-5pm]
+
* Interim grades are posting. Assignments thus far:
* Job opportunity w/ Mrs. Carolyn Carlson (non-profit consulting)
+
** Emoji
* Python -> Java
+
** Ping w/ Classes/Objects
** Python vs. Java Reference
+
** Breakout/BrickBreaker Warmup
** Java syntax differences
+
** Preliminary Breakout w/ Brick[] (array)
* Convert the following Processing labs from Python to Java
+
* Work on Breakout w/ Brick[] array
** [https://docs.google.com/document/d/1-TyjK48PtO_dgBDLRxKOk8zvOReC_A5196skWzCI0wk/edit?usp=sharing Processing Lab 1: My First Sketch]
 
** [https://docs.google.com/document/d/1Rlt_UvfeGlMgN3upOR4rF9-M9w72CfH3aJbot_6_Tk0/edit?usp=sharing Processing House Assignment]
 
** [https://docs.google.com/document/d/1yxestu4zbLljylbwmSUnskOcwiTnwf-wOTFvyHF1xoo/edit?usp=sharing Processing My First Animation]
 
** [https://docs.google.com/document/d/1RCVlD8xOl4mzuIm2kxQUtyccOOJa_6bBFVa3S57Sj_E/edit?usp=sharing Processing Project: Simple Paint]
 
*** You will need to complete and demo Simple Paint's conversion for credit
 
** [https://docs.google.com/document/d/1xRSA_Ti8l5002jcAftcUtCTdujCojghzoTpUZwJvHQ4/edit?usp=sharing Animation: Bouncing Ball]
 
*** You will need to complete and demo Bouncing Ball's conversion for credit
 
  
== Wednesday - Friday (3/1/17 - 3/3/17) ==
+
== Tuesday - Wednesday (5/2/17 - 5/3/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* [http://arlingtonva.libcal.com/event/3006500 Teen Tech Help @ Central Library, Thursday (3/9/17), 3:30-5pm]
+
* What you should have as of now:
** Volunteer to help adults solve their tech problems
+
** A BrickClassTest that defines a Brick class and declares and sets up a Brick[] (array)
** Easy service hours!
+
** The draw() should loop through the Brick[] and display each brick
** Mr. Bui will provide pizza
+
* Today, you should:
* Job opportunity w/ Mrs. Carolyn Carlson (non-profit consulting)
+
*# Create a new sketch named BrickBreaker or Breakout
** Part-time paid opportunity through her firm
+
*# Copy over the Brick class and its setup and display code
** Need for MS Excel skills, with occasional Adobe Photoshop
+
*# Copy over your Ball and Paddle from Ping
** Prepare a resume and e-mail it to Mr. Bui to apply.  He will forward all resumes to Mrs. Carlson
+
*# Go through the code and clean it up, making any necessary changes
* File Reading/Writing (Input/Output) Review:
+
*# Add a new function named checkBrickBottomCollision(Brick br, Ball ba)
** [https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files Python File Methods/Functions]
+
*#* It should check if a Ball ba collides with a Brick br's bottom edge, return true and false accordingly
** [https://docs.python.org/3.6/library/stdtypes.html#string-methods Python String Methods/Functions]
+
* Demonstrate your preliminary BrickBreaker/Breakout game for credit
 
 
* Complete the File R/W (I/O) Exercises:
 
*# Read a file with first and last names of people. Extract all their initials, such that first and last initials are combined per person (Paul Bui -> PB). Write/Output that list of initials to a file
 
*# Write a program that generates a textfile with 10000 random numbers from 0-100
 
*# Read a file with 10000 random numbers from 0 to 100.  Print out the frequency of each of the numbers (Hint: Use a list to track the frequencies)
 
  
 
== Archives ==
 
== Archives ==
 +
* [[IBCS1 - 1617 - April]]
 +
* [[IBCS1 - 1617 - March]]
 
* [[IBCS1 - 1617 - February]]
 
* [[IBCS1 - 1617 - February]]
 
* [[IBCS1 - 1617 - January]]
 
* [[IBCS1 - 1617 - January]]

Revision as of 08:44, 12 June 2017

Friday - Wednesday (6/9/17 - 6/14/17)

Agenda:

Monday - Thursday (6/5/17 - 6/8/17)

Agenda:

  • IB Summer Assignment will be working on IA: Criterion B
  • Final exam exemption slips due by June 12th (or asap)
  • Rock-Paper-Scissors Flowchart Assignment
    • Flowcharts - Media:Flowcharts.ppt
    • Create a flowchart for the Rock-Paper-Scissors game using draw.io
    • Submit a pdf of your flowchart via Google Classroom (due Wednesday (6/7/17))
  • Complete and demo Breakout
  • Work on Internal Assessment

Thursday - Friday (6/1/17 - 6/2/17)

Agenda:

  • Complete and demo Breakout
  • Work on Internal Assessment

Tuesday - Wednesday (5/30/17 - 5/31/17)

Agenda:

  • Complete and demo Breakout
  • Work on Internal Assessment

Monday (5/29/17)

  • Memorial Day

Friday (5/26/17)

Agenda:

  • Java 20Q Assessment
  • Complete Breakout
  • Turn in Internal Assessment: Criterion A: Planning
    • E-mail Mr. Bui if you need an extension

Friday - Thursday (5/19/17 - 5/25/17)

Agenda:

  • Assignments thus far:
    • Emoji
    • Ping w/ Objects (Classes)
    • Preliminary Breakout (only needs bottom brick collision)
  • Current assignment:
    • Breakout w/ collisions on left, right, and tops of bricks
    • Multiple lives
    • Game over when there are no more lives
    • Win screen when there are no more bricks
  • Internal Assessment: Criterion A: Planning
    • Internal Assessment
    • Media:IBCS_InternalAssessmentChecklist.doc
    • IA Criteria Rubrics
    • IA Examples
    • Criterion A Overview - due Friday (5/26/17) via Google Classroom
      • Explicitly state your client
      • Explicitly state your advisor
      • Define and describe the problem or unanswered question (175-250 words)
      • Explicitly reference to documentation or evidence that a client was consulted (e.g. interview notes, transcription, or e-mail thread)
      • Justify your proposed product (175-250 words)
      • List (bulleted sentences/phrases) your success criteria (functionality requirements)
  • Workplace Readiness Skills Assessment - Date TBD

Monday - Thursday (5/15/17 - 5/18/17)

Agenda:

  • Complete the NVCC Dual Enrollment Evaluation
  • Complete End-of-Course Survey
    • Summary results will be shown when all students have finished
  • Complete and demonstrate the preliminary Breakout game with the Brick[] array
    • Displays bricks, paddle, and ball
    • Ball collides with both paddles and bottom of bricks
    • Bricks disappear upon collision
  • Once you have completed and demonstrated the preliminary Breakout game, continue implementing the following features:
    • Collisions with left, right, and tops of bricks
    • Multiple lives
    • Game over when there are no more lives
    • Win screen when there are no more bricks

Thursday - Friday (5/11/17 - 5/12/17)

Agenda:

  • Complete the NVCC Dual Enrollment Evaluation
  • Complete and demonstrate the preliminary Breakout game with the Brick[] array
    • Displays bricks, paddle, and ball
    • Ball collides with both paddles and bricks
    • Bricks disappear upon collision

Monday - Wednesday (5/8/17 - 5/10/17)

Agenda:

  • Complete the preliminary Breakout game with the Brick[] array

Thursday - Friday (5/4/17 - 5/5/17)

Agenda:

  • Interim grades are posting. Assignments thus far:
    • Emoji
    • Ping w/ Classes/Objects
    • Breakout/BrickBreaker Warmup
    • Preliminary Breakout w/ Brick[] (array)
  • Work on Breakout w/ Brick[] array

Tuesday - Wednesday (5/2/17 - 5/3/17)

Agenda:

  • What you should have as of now:
    • A BrickClassTest that defines a Brick class and declares and sets up a Brick[] (array)
    • The draw() should loop through the Brick[] and display each brick
  • Today, you should:
    1. Create a new sketch named BrickBreaker or Breakout
    2. Copy over the Brick class and its setup and display code
    3. Copy over your Ball and Paddle from Ping
    4. Go through the code and clean it up, making any necessary changes
    5. Add a new function named checkBrickBottomCollision(Brick br, Ball ba)
      • It should check if a Ball ba collides with a Brick br's bottom edge, return true and false accordingly
  • Demonstrate your preliminary BrickBreaker/Breakout game for credit

Archives