Difference between revisions of "AP Computer Science"
From WLCS
(→Friday (1/10/20)) |
(→Friday (1/10/20)) |
||
Line 2: | Line 2: | ||
'''Agenda:''' | '''Agenda:''' | ||
* Demonstrate a Brick Breaker game that uses arrays of objects | * Demonstrate a Brick Breaker game that uses arrays of objects | ||
− | ** | + | ** Only one row of Bricks will give you partial credit |
− | ** [][] two-dimensional array of objects gives you full credit | + | ** [][] two-dimensional array of objects gives you full credit (or a [] one-dimensional array able to track multiple rows) |
** Challenge: implement a two-dimensional grid of Bricks using a single dimensional array (Hint: You determine row and column number from the object's index and how many Bricks are in a row) | ** Challenge: implement a two-dimensional grid of Bricks using a single dimensional array (Hint: You determine row and column number from the object's index and how many Bricks are in a row) | ||
* ButtonGrid --> Simple [http://minesweeperonline.com/ Minesweeper] | * ButtonGrid --> Simple [http://minesweeperonline.com/ Minesweeper] |
Revision as of 09:31, 10 January 2020
Contents
Friday (1/10/20)
Agenda:
- Demonstrate a Brick Breaker game that uses arrays of objects
- Only one row of Bricks will give you partial credit
- [][] two-dimensional array of objects gives you full credit (or a [] one-dimensional array able to track multiple rows)
- Challenge: implement a two-dimensional grid of Bricks using a single dimensional array (Hint: You determine row and column number from the object's index and how many Bricks are in a row)
- ButtonGrid --> Simple Minesweeper
- We will first create a single Button object that can be pressed in and out (pressed and depressed)
- What appropriate characteristics (instance variables) should we have for a Button?
- What appropriate behaviors (methods) should we have for a Button?
- We will then create a row of Button objects that can be pressed in and out
- We will then create a simple grid of Button objects on the screen
- We will first create a single Button object that can be pressed in and out (pressed and depressed)
- Design and implement a simple version of Minesweeper
- What do you want to call each of the objects on the screen?
- What instance variables should they have?
- What methods should they have?
- What variables or data structures are necessary for our game?
- What steps are necessary to setup and initialize the game?
- How do you lose? and check for this?
- How do you win? and check for this?
Wednesday (1/8/20)
Warmup:
- Take out a piece of paper
- Draft the layout of one or more rows of Brick
- Include the x-y coordinates of each Brick
- Include the dimensions of the window, each Brick, and any gaps
- Number each Brick from 0, 1, 2, etc. horizontally (top-most left Brick is 0)
- Find a pattern!
Agenda:
- for-loop initialization tricks
- Two-dimensional for-loop tricks
- boolean checkWin(Brick[] bricks) method
- What are the different ways to determine if a we have cleared all the Brick objects?
- Re-implement Brick Breaker such that it utilizes an array of Brick objects
- Be sure to create a new sketch and do *not* to lose or overwrite your old program
- Implement a one row of Brick in your object arrays Brick Breaker
- Implement and demonstrate a multi-row Brick Breaker game that has winning and losing
Monday (1/6/20)
Agenda:
- Re-familiarize yourself with everything
- CSTA/ACM Cutler-Bell Scholarship
- Object-oriented programming review
- Brick Breaker (bad) demo and debrief
- null keyword review
- Arrays of objects
- Object array instantiation (creation)
- Object array initialization
- Object array usage
- Iteration through an object array
- for-loop initialization tricks
- Two-dimensional for-loop tricks
- Re-implement Brick Breaker such that it utilizes an array of Brick objects
- Be sure to create a new sketch and do *not* to lose or overwrite your old program