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

// TODO: The score is not showing... // TODO: Ensure the score increases when th

ID: 3743075 • Letter: #

Question

// TODO: The score is not showing...
// TODO: Ensure the score increases when the user splats a fruit.

#include "splashkit.h"

using namespace std;

#define CHERRY 0
#define GOOSEBERRY 1
#define BLUEBERRY 2
#define POMEGRANATE 3
#define APRICOT 4
#define RASPBERRY 5
#define BLACKBERRY 6
#define STRAWBERRY 7
#define CURRANT 8
#define NUM_FRUIT 9

void load_resources()
{
load_bitmap("Cherry", "Cherry.png");
load_bitmap("Gooseberry", "Gooseberry.png");
load_bitmap("Blueberry", "Blueberry.png");
load_bitmap("Pomegranate", "Pomegranate.png");
load_bitmap("Apricot", "Apricot.png");
load_bitmap("Raspberry", "Raspberry.png");
load_bitmap("Blackberry", "Blackberry.png");
load_bitmap("Strawberry", "Strawberry.png");
load_bitmap("Currant", "Currant.png");
load_sound_effect("Splat", "Splat-SoundBible.com-1826190667.wav");
// Recorded by Mike Koenig - http://soundbible.com/642-Splat.html
}

bitmap fruit_bitmap(int id)
{
switch(id)
{
case CHERRY:
return bitmap_named("Cherry");
case GOOSEBERRY:
return bitmap_named("Gooseberry");
case BLUEBERRY:
return bitmap_named("Blueberry");
case POMEGRANATE:
return bitmap_named("Pomegranate");
case APRICOT:
return bitmap_named("Apricot");
case RASPBERRY:
return bitmap_named("Raspberry");
case BLACKBERRY:
return bitmap_named("Blackberry");
case STRAWBERRY:
return bitmap_named("Strawberry");
case CURRANT:
return bitmap_named("Currant");
default:
return bitmap_named("Currant");
}
}

int main()
{
int county_thingy = 0;
bitmap Some_tHiNg;
double A_VARIABLE, anotherVariable;
open_window("Fruit Punch", 600, 600);

load_resources(); Some_tHiNg
=
fruit_bitmap(rnd(NUM_FRUIT)); A_VARIABLE
=
rnd(screen_width() - bitmap_width(Some_tHiNg));
anotherVariable = rnd(screen_height() - bitmap_height(Some_tHiNg));
while (not quit_requested() )
{
process_events();
draw_text("Score: " + to_string(county_thingy), COLOR_BLACK, 0, 0);
clear_screen(COLOR_WHITE);
draw_bitmap(Some_tHiNg, A_VARIABLE, anotherVariable);refresh_screen(60);
if ( mouse_clicked(LEFT_BUTTON) and bitmap_point_collision(Some_tHiNg, A_VARIABLE, anotherVariable, mouse_x(), mouse_y() ) ){county_thingy = county_thingy + 0;
play_sound_effect("Splat");
Some_tHiNg = fruit_bitmap(rnd(NUM_FRUIT));
A_VARIABLE = rnd(screen_width()) - bitmap_width(Some_tHiNg);
anotherVariable = rnd(screen_height()) - bitmap_height(Some_tHiNg);
}

return 0;
}

Question1) The fixed program code
Is it easy to follow?
Can you see the structure quickly?
What do all of the names mean?
Please make this better... use what you know of good code quality to make this code easier to
read and easier to understand. Think about indentation, naming, and use of case. This will include:
Ensure that all names are meaningful, and reflect what they relate to
Make sure names use the correct case (snake_case in most cases, UPPER_CASE for
constants)
Make sure that the indentation is correct
Add comments to describe what is happening in the code
Locate and fix the logical bugs... there are comments in the code to indicate what is not working as
expected.

Explanation / Answer

This is the edited and formatted code with TODO things resolved #include "splashkit.h" using namespace std; #define CHERRY 0 #define GOOSEBERRY 1 #define BLUEBERRY 2 #define POMEGRANATE 3 #define APRICOT 4 #define RASPBERRY 5 #define BLACKBERRY 6 #define STRAWBERRY 7 #define CURRANT 8 #define NUM_FRUIT 9 void load_resources() { //load all the bitmaps present int the memory load_bitmap("Cherry", "Cherry.png"); load_bitmap("Gooseberry", "Gooseberry.png"); load_bitmap("Blueberry", "Blueberry.png"); load_bitmap("Pomegranate", "Pomegranate.png"); load_bitmap("Apricot", "Apricot.png"); load_bitmap("Raspberry", "Raspberry.png"); load_bitmap("Blackberry", "Blackberry.png"); load_bitmap("Strawberry", "Strawberry.png"); load_bitmap("Currant", "Currant.png"); load_sound_effect("Splat", "Splat-SoundBible.com-1826190667.wav"); // Recorded by Mike Koenig - http://soundbible.com/642-Splat.html } bitmap fruit_bitmap(int id) { // return bitmap represented by id switch (id) { case CHERRY: return bitmap_named("Cherry"); case GOOSEBERRY: return bitmap_named("Gooseberry"); case BLUEBERRY: return bitmap_named("Blueberry"); case POMEGRANATE: return bitmap_named("Pomegranate"); case APRICOT: return bitmap_named("Apricot"); case RASPBERRY: return bitmap_named("Raspberry"); case BLACKBERRY: return bitmap_named("Blackberry"); case STRAWBERRY: return bitmap_named("Strawberry"); case CURRANT: return bitmap_named("Currant"); default: return bitmap_named("Currant"); } } int main() { int score = 0; bitmap fruit_map; // stores bitmap of random generated fruit double fruit_map_width, fruit_map_height; open_window("Fruit Punch", 600, 600); //open a window of size 600 x 600 load_resources(); //loads all the bitmaps of fruits in memory fruit_map = fruit_bitmap(rnd(NUM_FRUIT)); //generate a random number and store its bitmap fruit_map_width = rnd(screen_width() - bitmap_width(fruit_map)); // width of bitmap to be shown on screen fruit_map_height = rnd(screen_height() - bitmap_height(fruit_map)); // height of bitmap to be shown on screen while (not quit_requested()) { // run untill quit is not pressed process_events(); clear_screen(COLOR_WHITE); // make screen white then displaying score draw_text("Score: " + to_string(score), COLOR_BLACK, 0, 0); // show score with color black at top left corner draw_bitmap(fruit_map, fruit_map_width, fruit_map_height); // draw bitmap on screen refresh_screen(60); if (mouse_clicked(LEFT_BUTTON) and bitmap_point_collision(fruit_map, fruit_map_width, fruit_map_height, mouse_x(), mouse_y())) { // if left mouse button clicked on bitmap then increase score by 1 and play sound effect score = score + 1; // increasing the score by 1 everytime user splat the fruit play_sound_effect("Splat"); fruit_map = fruit_bitmap(rnd(NUM_FRUIT)); // take another fruit fruit_map_width = rnd(screen_width()) - bitmap_width(fruit_map); //find the width of new fruit bitmap fruit_map_height = rnd(screen_height()) - bitmap_height(fruit_map); // find width of new fruit bitmap } return 0; } }