#include using namespace olc; std::string STORY_TEXT1=R"(ERROR CODE -1: Transmission Failed. Lost Receiving Target Location. GPSNAV-17 - UNABLE TO LOCATE GPSNAV-18 - UNABLE TO LOCATE GPSNAV-22 - UNABLE TO LOCATE GPSNAV-26 - UNABLE TO LOCATE GPSNAV-31 - UNABLE TO LOCATE GPSNAV-33 - UNABLE TO LOCATE GPSNAV-35 - UNABLE TO LOCATE Press any key to continue.)"; std::string STORY_TEXT2=R"( SEASONS -of- LONELINESS)"; std::string STORY_TEXT3=R"(ERROR CODE -4: Transmission Failed. Unable to Retrieve Launch Data. GPSNAV-17 - FAILED. GPSNAV-18 - UNABLE TO LOCATE GPSNAV-22 - UNABLE TO LOCATE GPSNAV-26 - UNABLE TO LOCATE GPSNAV-31 - UNABLE TO LOCATE GPSNAV-33 - UNABLE TO LOCATE GPSNAV-35 - UNABLE TO LOCATE Press any key to continue.)"; std::string STORY_TEXT4=R"(Unable to hang on, )"; std::string STORY_TEXT5=R"( lets out their last breath before collapsing for eternity...? Press any key to continue.)"; std::string STORY_TEXT6=R"(ERROR CODE -4: Transmission Failed. Unable to Retrieve Launch Data. GPSNAV-17 - FAILED. GPSNAV-18 - FAILED. GPSNAV-22 - FAILED. GPSNAV-26 - FAILED. GPSNAV-31 - FAILED. GPSNAV-33 - UNABLE TO LOCATE GPSNAV-35 - UNABLE TO LOCATE Press any key to continue.)"; std::string STORY_TEXT7=R"(ERROR CODE -1: Transmission Successful. Awaiting Reply... GPSNAV-17 - X96.19947Y19.48290Z-959.39100 GPSNAV-18 - X96.04916Y19.39924Z-944.39555 GPSNAV-22 - X96.94411Y20.00035Z-947.88330 GPSNAV-26 - X95.82266Y19.77421Z-957.00837 GPSNAV-31 - X95.73999Y21.48399Z-931.17830 GPSNAV-33 - X93.13879Y26.55591Z-947.29905 GPSNAV-35 - X97.00396Y24.13482Z-950.47210 Transferring Beacon Signal... Press any key to continue.)"; std::string CREDITS_TEXT=R"( F I N . PGE javidx9 G A M E sigonasr2 THANKS TO ALL OLC COMMUNITY MEMBERS FOR MOTIVATION AND SUPPORT M A D E FOR olc::CodeJam 2022! )"; std::string THANKS_TEXT=R"( Thanks for Playing!)"; std::string STORY_DIALOG[]={R"( ??? RAIN CYCLE COMMENCING)", //0 R"( $PLAYER Oh thank goodness, and just in time too!)", //1 R"( CompU-16770 RAIN CYCLE ENDING. NEXT RAIN CYCLE DUE IN 17 TERRA REVOLUTIONS.)", //2 R"( $PLAYER Time to collect these crops!)", //3 R"( $PLAYER Looks like a good time to go out too! Oxygen levels are at a good reading. Just going to do a quick system log...)",//4 R"( CompU-16770 )",//5 R"( $PLAYER The winds must have kicked in early this morning. Better go outside and work on R.O.V.E.R..)",//6 R"( $PLAYER I almost have the receiving unit repaired, I just need another good vein of silicon and we can finish this.)",//7 R"( $PLAYER Hmmm...)",//8 R"( $PLAYER So those dust columns only form around large hole deposits. This is usually where volcanic activity subsides, and usually dense rich in minerals!)",//9 R"( $PLAYER We'll head there. I recall seeing some volcanic rock North-East of here.)",//10 R"( $PLAYER What a great harvest!)",//11 R"( CompU-16770 Authenticated. Record successfully logged.)",//12 R"( R.O.V.E.R. 2001 < No response... >)",//13 R"( Silicon resources acquired!!)",//14 R"( $PLAYER Now I can finally repair the Receiver! Better head back to the site.)",//15 R"( $PLAYER Please let this work...)",//16 R"( $PLAYER Perfect! Now to see if it will detect anything.)",//17 R"( $PLAYER Huh, it still doesn't work. At least the signaling is fixed. Maybe it'll work tomorrow...)",//18 R"( $PLAYER I'll go inside and get some rest in the meantime.)",//19 R"( $PLAYER Ugh..Why now?)",//20 R"( $PLAYER Of course now would be a GREAT time for an invasion.)",//21 R"( $PLAYER I'd better be careful, this ain't no ordinary monster... And what's with that weird sigil on its body..?)",//22 R"( $PLAYER Urgh...Not good, but looks like I'm safe for now. Now then...)",//23 R"( $PLAYER Time to use Petal Storm! It allows me to regenerate health while setting up seeds!)",//24 R"( $PLAYER Then I'll be able to use Hurricane powers in order to grow them, nourishing me and dealing additional damage!)",//25 R"( $PLAYER What a rough fight... Oh yeah! R.O.V.E.R! I should check if things are better!)",//26 R"( R.O.V.E.R. 2001 SIGNS INDICATE TRACES OF SILICON LOCATION ::: SOUTHWEST)",//27 R"( $PLAYER Perfect! We can improve the tracking ability by collecting more of these! Then hopefully the signal will become strong enough...)",//28 R"( $PLAYER Well that was simpl-... Eh?)",//29 R"( $PLAYER Worms? Don't think they're here to play either.)",//30 R"( $PLAYER Alright! Another one done. Oh! It's responding!)",//31 R"( R.O.V.E.R. 2001 SIGNS INDICATE TRACES OF SILICON LOCATION ::: EAST)",//32 R"( $PLAYER Hopefully no more ambushes... (Or maybe I'll just jinx myself.))",//33 R"( $PLAYER Another one down... Back to R.O.V.E.R. then.)",//34 R"( $PLAYER Alright, is it finally enough...?)",//35 R"( $PLAYER Really not enough huh? Unfortunate... It looks like I have to let it recharge now too. Guess I'll take a break inside the dome.)",//36 R"( This message left intentionally blank)",//37 R"( $PLAYER (It was only a few weeks ago, that I started to realize...))",//38 R"( $PLAYER R.O.V.E.R., that hunk of metal sitting outside, was not from this planet. A curious writing on its nameplate had the words "S-VOYAGER 1999" from a group of "Earth inhabitants")",//39 R"( $PLAYER My weather reference books indicate that this group is indeed from a far away source. And the book probably is too. This just confirms it.)",//40 R"( $PLAYER I have been living alone here, for at least 400 terra cycles. I haven't considered that other lifeforms would still be alive since all that's here are a bunch of nasty bugs.)",//41 R"( $PLAYER That's why... That's why I want to repair R.O.V.E.R. It's my only hope of communication. My only chance to relieve myself of this loneliness.)",//42 R"( $PLAYER If I could see these beautiful landscapes, and experience others who have learned and mastered weather powers like mine... That would be the dream.)",//43 R"( $PLAYER I studied carefully and learned everything there is to know about how weather works on this planet. The Planet of Hope. My future...)",//44 R"( $PLAYER Hopefully R.O.V.E.R. is calibrated now!)",//45 R"( R.O.V.E.R. 2001 SIGNS INDICATE TRACES OF SILICON LOCATION ::: NORTH)",//46 R"( $PLAYER This is it. Once I collect this one we can finally get a powerful enough signal (Finally!))",//47 R"( $PLAYER What? Of course there's more of them.)",//48 R"( R.O.V.E.R. Bzt! Initiating tracking location program...)",//49 R"( $PLAYER Oh god! An actual transportation shuttle underneath here this whole time! I can't believe it!)",//50 R"( $PLAYER I can finally get off this planet, once and for all.)",//51 R"( $PLAYER I should probably stock up on food and supplies before leaving. Once I board, I won't be able to return.)",//52 R"( Y.Y ATTENTION! INTRUDERS DETECTED ON BOARD THE SHIP!)",//53 R"( $PLAYER Intruders...? There's not a soul in sigh-)",//54 R"( Y.Y BEGINNING IMMEDIATE DETAINING PROCEDURES.)",//55 R"( $PLAYER Wait- I'M THE INTRUDER?!)",//56 R"( Y.Y PREPARE TO BE ELIMINATED.)",//57 R"( $PLAYER ...)",//58 R"( $PLAYER Are we good now?)",//59 R"( Y.Y Bzt...Krr...)",//60 R"( A.A -- BEGIN TRANSFORMATION SEQUENCE --)",//61 R"( A.A HUMAN! IF YOU TRULY DESERVE TO LEAVE THIS PLANET, THEN PROVE IT TO US. SHOW US YOU ARE WORTHY.)",//62 R"( R.O.V.E.R. 2001 Save Human.)",//63 R"( $PLAYER R.O.V.E.R can fly?! That's awesome! Thanks for saving me...)",//64 R"( $PLAYER Next destination... Home. My True Home!)",//65 }; Pixel TILE_COLORS[]={ Pixel(112, 88, 64), //0 DIRT Pixel(60, 97, 49), //1 GRASS Pixel(30, 84, 87), //2 WATER Pixel(180, 191, 209), //3 MARBLE Pixel(112, 88, 64), //4 WALL (DIRT) Pixel(33, 12, 28), //5 Volcanic Ground Pixel(118, 180, 181), //6 Slate Pixel(179, 69, 41),//7 Heated Floor };