Uses accompanying Basket, Objects and Fruit libraries to create Fruit Basket game. If an object is caught, points are added; if an object in missed, a 'life' is lost.
Dependents: Game_Controller_Project
Catch_Model.cpp
- Committer:
- Nathanj94
- Date:
- 2017-03-21
- Revision:
- 3:fc9133faec7a
- Parent:
- 2:8410e09b77aa
- Child:
- 4:84e29254b988
File content as of revision 3:fc9133faec7a:
#include "Catch_Model.h" Catch_Model::Catch_Model() { } Catch_Model::~Catch_Model() { } void Catch_Model::init(int basket_y, int basket_width, int objects_speed) { _basket_y = basket_y; _basket_width = basket_width; _objects_speed = objects_speed; _basket.Basket_init(_basket_y, _basket_width); _objects.Objects_init(_objects_speed); } void Catch_Model::input(Gamepad &pad) { _d = pad.get_direction(); _mag = pad.get_mag(); } void Catch_Model::update(N5110 &lcd, Gamepad &pad) { check_basket_catch(lcd, pad); check_basket_miss(lcd, pad); print_score(lcd); _basket.Basket_move(_d, _mag); _objects.Objects_move(); } void Catch_Model::draw(N5110 &lcd) { _basket.Basket_draw(lcd); _objects.Objects_draw(lcd); } void Catch_Model::check_basket_catch(N5110 &lcd, Gamepad &pad) { int b_x_pos = _basket.get_Basket_x(); int b_y_pos = _basket.get_Basket_y(); int o_x_pos = _objects.get_Objects_x(); int o_y_pos = _objects.get_Objects_y(); if( (o_y_pos >= b_y_pos) && (o_x_pos > b_x_pos) && (o_x_pos <= (b_x_pos + 5)) ) { _objects.Objects_undraw(lcd); _basket.Basket_score(); _objects.Objects_init(_objects_speed); } } void Catch_Model::check_basket_miss(N5110 &lcd, Gamepad &pad) { int b_x_pos = _basket.get_Basket_x(); int b_y_pos = _basket.get_Basket_y(); int o_x_pos = _objects.get_Objects_x(); int o_y_pos = _objects.get_Objects_y(); if (o_y_pos > b_y_pos) { _objects.Objects_undraw(lcd); _objects.Objects_init(_objects_speed); } } void Catch_Model::print_score(N5110 &lcd) { char buffer[14]; int score = _basket.get_Basket_score(); int print_score = sprintf(buffer, "SCORE: %2d", score); if (print_score <= 14) { lcd.printString(buffer,0,0); lcd.refresh(); } }