From cc3f7e0d7921a2805d2796d7185823234ebea2e8 Mon Sep 17 00:00:00 2001 From: DJ Date: Wed, 30 Oct 2024 16:28:08 -0500 Subject: [PATCH] redoing note storage to 2d array --- src/build/raylib_game.wasm | Bin 94613 -> 94903 bytes src/raylib_game.c | 96 ++++++++++++++++++++++++++++++------- 2 files changed, 79 insertions(+), 17 deletions(-) diff --git a/src/build/raylib_game.wasm b/src/build/raylib_game.wasm index bb99b94a12b1bb304be3d9bef95538212e91cab4..50893b064d911788e925600aaad6452c10bdd50f 100644 GIT binary patch delta 13456 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 diff --git a/src/raylib_game.c b/src/raylib_game.c index 509bf0e..7a7892c 100644 --- a/src/raylib_game.c +++ b/src/raylib_game.c @@ -44,9 +44,31 @@ typedef enum { SCREEN_ENDING } GameScreen; +// typedef enum { +// C1, +// C2, +// C3, +// C4, +// C5 +// } octaves; + +int allNotes[5][7]; +/* +allNotes[0][0] lowest +allNotes[0][6] + +allNotes[5][0] highest +*/ +// all notes implicit 2D array [5][7] +//octave[0] rainbow[0] = red and C Color rainbow[7] = {RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE, VIOLET}; +int octaves[5] = { 0, 1, 2, 3, 4}; + +int note = 0; +int octave = 2; + +int change = 1; //connector -int note = 1; // TODO: Define your custom data types here @@ -65,7 +87,9 @@ static RenderTexture2D target = { 0 }; // Render texture to render our game //---------------------------------------------------------------------------------- static void UpdateDrawFrame(void); // Update and Draw one frame -static int getNote(int); +static int getNote(void); +static int nextNoteUp(int); +static int nextNoteDown(int); //------------------------------------------------------------------------------------ // Program main entry point @@ -123,14 +147,15 @@ void UpdateDrawFrame(void) // TODO: Update variables / Implement example logic at this point //---------------------------------------------------------------------------------- - if (IsKeyDown(KEY_UP)) { - getNote(-1); + if (IsKeyPressed(KEY_UP)) { + nextNoteUp(change); } - else if (IsKeyDown(KEY_DOWN)) { - getNote(1); - + else if (IsKeyPressed(KEY_DOWN)) { + if (!(getNote() == 0)) { + nextNoteDown(change); + } } - + // Draw //---------------------------------------------------------------------------------- // Render game screen to a texture, @@ -141,13 +166,13 @@ void UpdateDrawFrame(void) // TODO: Draw your game screen here DrawText("Welcome to raylib NEXT gamejam!", 150, 140, 30, BLACK); DrawRectangleLinesEx((Rectangle){ 0, 0, screenWidth, screenHeight }, 16, BLACK); - TraceLog(1, "Top Color: %i", getNote(0) + 1); - TraceLog(1, "Current Color: %i", getNote(0)); - TraceLog(1, "Bottom Color: %i", getNote(0) - 1); - DrawRectangle(0, 2 * (screenHeight/3), screenWidth, screenHeight/3, rainbow[getNote(0) - 1]); - DrawRectangle(0, (screenHeight/3), screenWidth, screenHeight/3, rainbow[getNote(0)]); - DrawRectangle(0, 0, screenWidth, screenHeight/3, rainbow[getNote(0) + 1]); - DrawCircle(screenWidth/2, screenHeight/2, 40, GRAY); + TraceLog(1, "Top Color: %i", getNote() + 1); + TraceLog(1, "Current Color: %i", getNote()); + TraceLog(1, "Bottom Color: %i", getNote() - 1); + DrawRectangle(0, 0, screenWidth, screenHeight/3, rainbow[nextNoteUp(change) + 1]); //upper note + DrawRectangle(0, (screenHeight/3), screenWidth, screenHeight/3, rainbow[getNote()]); //current note - middle + DrawRectangle(0, 2 * (screenHeight/3), screenWidth, screenHeight/3, rainbow[nextNoteDown(change)]); //lower note + DrawCircle(screenWidth/2, screenHeight/2, 40, LIGHTGRAY); EndTextureMode(); @@ -163,9 +188,46 @@ void UpdateDrawFrame(void) EndDrawing(); //---------------------------------------------------------------------------------- } +// void loadNotes() { +// for (int i = 0; i < allNotes[1][1].length; i++){ +// for (int j = 0; j < allNotes) +// } +// } //get current note -int getNote(int change) { - note += change; +int getNote() { return note % 7; +} + +int nextNoteUp(int change) { + //check octave. stop at [4][0] + if (octave == 4) { + note = 0; + } + else if (octave <= 3) { + note += change; + } + //check note. loop 0-6 + if (note > 6) { + note = note % 7; + if (octave == 3) { + octave = 4; + } + } + + return note; +} +int nextNoteDown(int change) { + //check bottom return bottom + if (octave == 0) { + note = 0; + } + else { + note -= change; + } + if (note < 0) { + note = note + 7; + } + return note; + } \ No newline at end of file