static void state_render(bitmap_t* buffer){ eeds_render_bitmap(score_bg, buffer, 0, 0); char message[30]; sprintf(message, "PERFECT! %4.i", score_perfect); Font_render(font_small, buffer, message, 5, 15, 9); sprintf(message, "Great! %4.i", score_great); Font_render(font_small, buffer, message, 5, 57, 9); sprintf(message, "O.K. %4.i", score_OK); Font_render(font_small, buffer, message, 5, 97, 9); int miss = total_notes - score_perfect - score_great - score_OK; sprintf(message, "Miss %4.i", miss); Font_render(font_small, buffer, message, 5, 137, 9); int score = score_perfect * 8 + score_great * 5 + score_OK * 3 + miss * -2; Font_render(font_small, buffer, "Score:", 180, 107, 9); sprintf(message, "%8.i", score); Font_render(font_small, buffer, message, 180, 137, 9); sprintf(message, "Best combo: %i", score_greatest_combo); Font_render(font_large, buffer, message, 5, 175, 11); Font_render(font_large, buffer, "GREAT, YOU ROCK!", 5, 205, 11); }
static void state_render(bitmap_t* buffer){ if(need_to_draw_song_bg){ eeds_render_bitmap(song_bg, buffer, 0, 0); need_to_draw_song_bg = 0; } eeds_render_bitmap(game_bg, buffer, 64, 0); for(int i=0;i<n_notes;i++){ eeds_render_bitmap(note_sprite, buffer, 72 + notes[i].column * 50, notes[i].y); } if(key[KEY_A]){ eeds_render_bitmap(note_sprite, buffer, 72 + 0 * 50, 29); } if(key[KEY_S]){ eeds_render_bitmap(note_sprite, buffer, 72 + 1 * 50, 29); } if(key[KEY_D]){ eeds_render_bitmap(note_sprite, buffer, 72 + 2 * 50, 29); } if(key[KEY_F]){ eeds_render_bitmap(note_sprite, buffer, 72 + 3 * 50, 29); } if(accuracy_feedback != NULL && feedback_counter > 0){ Font_render(font_small, buffer, accuracy_feedback, 120, 4, 9); } if(score_combo > 3){ char combo_score[30]; sprintf(combo_score, "%i combo!", score_combo); Font_render(font_large, buffer, combo_score, 80, 100, 9); } }