예제 #1
0
        public override void AddInstructions()
        {
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/IAmAFinalBoss.dat"));
            this.Add(TemporaryContent.GetTexture("1"));
            this.Add("???");
            this.Add("Do not pretend that you don't know.");
            this.Add(TemporaryContent.GetTexture("2"));
            this.AddRemStruct(typeof(Texture2D));
            this.Add(TemporaryContent.GetTexture("3"));
            this.Add("I like coffee with a lot of sugar!");
            this.Add(TemporaryContent.GetTexture("4"));
            this.Add(new Selection(0, 0, new string[] { "Pickle", "Yam", "Jam" }, Question: "Who do you like your flavour?"));

            Action a = () =>
            {
                switch (this.LastSelectionIndex)
                {
                case 0:
                    this.InstructionIndex = 0;
                    break;

                default:
                    break;
                }
            };

            this.Add(a);

            this.Add(TemporaryContent.GetTexture("5"));
            this.Add("I really do.");
            this.Add("Please do not take an offense to that.");
            this.Add("Because after all I win.");
        }
예제 #2
0
        public bool IsFestivalDay(int day, string season)
        {
            var key = day + season;
            var map = TemporaryContent?.Load <Dictionary <string, string> >(@"Data\Festivals\FestivalDates");

            return(map != null && map.ContainsKey(key));
        }
예제 #3
0
        public override void AddInstructions()
        {
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/GoFishing.dat"));
            this.Add(TemporaryContent.GetTexture("Scene4Header"));
            this.Add(TemporaryContent.GetTexture("GreatJob"));
            this.Add("Bob: Now, I\'ve rescued everyone.");
            this.Add("Everyone: Let\'s go home!");
            this.Add(TemporaryContent.GetTexture("PoleSwitched"));
            this.Add("Unbeknownst to all fish, destroying Project Poutine has a huge ramification for Earth. The destruction of Project Poutine has caused an unfathomable amount of damage on the Earth\'s magnetic poles causing the North pole and the South pole to switch rapidly.");
            this.Add("Many humans have died from the disasters following the magnetic pole shift and many supernatural, and simply weird phenomena happen. However, for most fish, things are looking good. With less human to hunt them down, the fishkind will thrive.");
            this.Add("However, for Bob the Fish and his fish parade will still need to face an oddity caused by the sudden pole shift before they can leave Canada.");
            this.Add(TemporaryContent.GetTexture("ThisIsMyStory"));
            this.Add("The exodus of fish are stopped by some weird texts. Only Bella understands the text because she used to be a human.");
            this.Add("Bob: What are these?");
            this.Add("Bella: These are English words. They describe the life of a person... And they are depressing... I feel so bad for the person...");
            this.Add("Bob: Who cares! Look! This game is supposed to be light-hearted. There\'s a ship called Project Poutine for crying out loud! This is not some depressing, pseudo-philosophical game.");
            this.Add("Bella: Please don\'t destroy the text at least! This message may mean something to other people.");
            this.Add(TemporaryContent.GetTexture("MyStoryHurts"));
            this.Add("Bella: Ouch! These texts actually hurt. I lost 10 HP for touching it! And my HP is not that high! And they are blocking our ways. How obnoxious!");
            this.Add("Bob: We are on the same page then!");

            this.Add(new Action(() => {
                this.NextState = new Level4();
            }));
        }
예제 #4
0
        public override void AddInstructions()
        {
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/GoFishing.dat"));
            this.Add(TemporaryContent.GetTexture("Scene2Header"));
            this.Add(TemporaryContent.GetTexture("Confrontation"));
            this.Add("Bob: Wow! The sea is empty. No fish during my way to Canada. Ah! Finally, some fish appear!");
            this.Add("Punk Fish: Finally, I\'ve been freed from the fish jail thank to a ship! Now, I am angry and evil; I am going to take you down!");
            this.Add("Bob: Chill bro!");

            this.Add(new Action(() => { this.NextState = new Level2(); }));
        }
예제 #5
0
        public override void AddInstructions()
        {
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/Bedsheet.dat"));
            this.Add(PersistentContent.GetTexture("Blank"));
            this.Add("???: To survive, you must face your worst nightmare!");
            this.Add(TemporaryContent.GetTexture("VS1"));

            this.Add(new Action(() => {
                this.NextState = new Boss1();
            }));
        }
예제 #6
0
        public Test(GraphicsDevice gd)
        {
            test = new Selection(0, 0, new string[] { "Duck", "Fillet", "I just want to get out of here!", "LALA" },
                                 "Testington");
            Texture2DLoader tl = new Texture2DLoader(Main.ContentManager.RootDirectory + "/test.zip", true);

            tl.Load();
            AS = new AnimatedSprite(TemporaryContent.GetTexture("dragon"), 40, 40, 100);

            AS.Position = new Vector2(300, 300);
        }
예제 #7
0
        public override void AddInstructions()
        {
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/SpookyVision.dat"));
            this.Add(TemporaryContent.GetTexture("Boss2Banter"));
            this.Add("Killer Klown Phish: I am GOD! And I\'ve willed myself to be out from the prison! You must worship me! I require my offering in BLOOD!");
            this.Add("Bob: It looks more like someone has smashed your fish tank rather than the other way around.");
            this.Add("Killer Klown Phish: Die infidel! You don\'t belong in this world!");
            this.Add("Bob: You are going to kill me either way? Come at me, bro!");
            this.Add(TemporaryContent.GetTexture("VS2"));

            this.Add(new Action(() => {
                this.NextState = new Boss2();
            }));
        }
예제 #8
0
        public override void AddInstructions()
        {
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/GoFishing.dat"));
            this.Add(TemporaryContent.GetTexture("Scene3Header"));
            this.Add(TemporaryContent.GetTexture("AntagonistFound"));
            this.Add("Bob: Look at that nice boat!");
            this.Add("???: I am Project Poutine. I am more than a boat. I am the ultimate fish harvesting machine. Not only that, I am equipped with the state-of-the-art SONAR, high resolution GPS and the ISO-inspired management systems. I am also prepped to pleasure as well as for serious duty with 24/7 Internet, movie theaters and Turkish baths...");
            this.Add("Bob: Shut up! So you\'re that thingie that I have to break to rescue everyone.");
            this.Add("Project Poutine: Yes, but it won\'t be easy! Project Poutine Peripheries, go take down that stubborn fish!");

            this.Add(new Action(() => {
                this.NextState = new Level3();
            }));
        }
예제 #9
0
        public override void AddInstructions()
        {
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/NoClubbing.dat"));
            this.Add(TemporaryContent.GetTexture("AlmostThere"));
            this.Add("Bob: OK, that was obnoxious. I was supposed to feel emotional, but with images ripped from Wikipedia, it was hard to take those garbages seriously. Anyway, we should be out from the Canadian waterspace soon.");
            this.Add(TemporaryContent.GetTexture("OhNo"));
            this.Add("Mutant Baby Harp Seal: Hahaha! I like fish. I\'m going to eat you all!");
            this.Add("Bob: I taste like maple bacon jam. Come at me, bro!");
            this.Add(TemporaryContent.GetTexture("VS4"));

            this.Add(new Action(() => {
                this.NextState = new Boss4();
            }));
        }
예제 #10
0
        public override void AddInstructions()
        {
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/CheeseCurd.dat"));
            this.Add(TemporaryContent.GetTexture("AntagonistEngaged"));
            this.Add("Project Poutine: What? Impossible!");
            this.Add("Bob: Wow! You look smaller than I thought you\'d be!");
            this.Add("Project Poutine: I have the Special Physical Space Modification System which allows me to appear small. This is to avoid the Canadian Navy.");
            this.Add("Bob: So your plan is to be stealthy, huh? Then how come a random girl managed to get on board and send a broadcast?");
            this.Add("Project Poutine: Shut up! I have enough of you! I\'ll turn you into a frozen fish fillet!");
            this.Add(TemporaryContent.GetTexture("VS3"));

            this.Add(new Action(() => {
                this.NextState = new Boss3();
            }));
        }
예제 #11
0
        public override void AddInstructions()
        {
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/GoFishing.dat"));
            this.Add(TemporaryContent.GetTexture("GoodToGo"));
            this.Add("Bella: No more hindrance?");
            this.Add("Bob: Don't jinx it!");
            this.Add("Finally, the exodus of fish can leave the Canadian water. And they should be living more happily ever after since now, the mankind is suffering the polar shift. But a question remains:");
            this.Add(TemporaryContent.GetTexture("WhoIsThis"));
            this.Add("Who is that character in the tutorial section?");
            this.Add("Bob: I don\'t care. I\'m more irked by the fact that the final boss is a sprite from Wikipedia!");
            this.Add(TemporaryContent.GetTexture("Credits"));

            this.Add(new Action(() => {
                this.NextState = new Title();
            }));
        }
예제 #12
0
        public override void AddInstructions()
        {
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/GoFishing.dat"));
            this.Add(TemporaryContent.GetTexture("Scene1Header"));
            this.Add(TemporaryContent.GetTexture("Peace"));
            this.Add("After the event of the first game, the Sea of Japan is saved from any fishing activity. Mutant fish in the sea are now living in peace. However, in many parts of the world, fish are still suffering. One human girl wants to save the fish and so she has sent a message throughout the sea.");
            this.Add("The message says:");
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/Troublesome.dat"));
            this.Add(TemporaryContent.GetTexture("Transmission"));
            this.Add("Girl: And here is the definite proof of Project Poutine, the world\'s most fearsome fish harvesting equipment. I am relaying this to the Canadian Navy and for everyone on Earth to hear.");
            this.Add("Man: An intruder, eh?");
            this.Add("Girl: Oh no! I\'ve been caught.");
            this.Add("Man: Well well well! I\'m sorry that it has to come to this. Patrick, prepare the Kitty Gun!");
            this.Add("Patrick: Yes, boss. I won\'t screw up again this time!");
            this.Add("Girl: What am I becoming?");
            this.Add("Patrick: I\'m sorry. You are about to become a kitten. Every ship needs a kitten, you see. Do you like them cats, eh?");
            this.Add("Man: This is not a cat! Your gun has created another lame mutated cat thing!");
            this.Add("Patrick: Eh? I\'m sorry.");
            this.Add("Man: Throw this one overboard too, fella. I\'m sorry, kitty!");
            this.Add("Patrick: Sorry.");
            this.Add("Man: OK. With that gone, we now plan to invade Sea of Japan with our Project Poutine Peripherals! Tomorrow, we will capture 99% of the fish there!");
            this.Add(new Soundtrack(Main.ContentManager.RootDirectory + "/Songs/GoFishing.dat"));
            this.Add(TemporaryContent.GetTexture("BellaExplain"));
            this.Add("Bella, Bob\'s girlfriend used to be a human so she understands the message\'s meaning. According to the excessive uses of \'eh\' and \'sorry\' and a mentioning of poutine, she suspects that this message originates from Canada. Bella begs Bob, the world\'s most fearsome fish in the ocean to go to Canada to do something. But Bob refuses.");
            this.Add("Then all fish in the Sea of Japan are kidnapped except Bob. Now, Bob must go to Canada for real.");
            this.Add(TemporaryContent.GetTexture("Logo"));
            this.Add(TemporaryContent.GetTexture("Tutorial"));
            this.Add("The goal of the game is to get rid of the enemies on the screen. Use the ASWD keys (for left-handed people) or the direction keys (for right-handed people) to move around.");
            this.Add("Unlike in the previous game, the player will be firing on default. However, press Enter (for left-handed people) or Space (for right-handed people) to make bullets home to the nearest enemy.");
            this.Add("Enemies and bullets are now the same thing! So try to avoid touching the enemies as well as their bullets. On the other hand, you can also now shoot and destroy those pesky bullets!");
            this.Add("Beware that there will be no power ups in this game. In Canada, people tend to be conservative about the power ups.");
            this.Add("OK, let's try this out a little bit.");

            Action a = () => {
                this.NextState = new Level1();
            };

            this.Add(a);
        }
예제 #13
0
파일: Main.cs 프로젝트: husathap/Charlotte
 /// <summary>
 /// Change the current state.
 /// </summary>
 /// <param name="NewState"></param>
 public static void ChangeCurrentState(State.State NewState)
 {
     Main.SongPlayer.Close();
     TemporaryContent.Clear();
     CurrentState = NewState;
 }
예제 #14
0
        public override void AddInstructions()
        {
            this.Add(TemporaryContent.GetTexture("Exam"));
            this.Add("The Rentforth Maid And Servant Entry Exam:");
            this.Add("Test and assess the applicant in the areas of general knowledge. The test is graded on Pass/Fail basis. To get a pass, at least 50% must be obtained on the test.");
            this.Add(TemporaryContent.GetTexture("ExamQuiz"));

            this.Add(new Selection(0, 0, AssociatedPath: CollectedAnswers,
                                   Question: "[Pop. Culture] Who was the voice actress for Navi in the Legend of Zelda: The Ocarina of Time?",
                                   Choices: new string[] { "1. Kaori Mizuhashi",
                                                           "2. Aya Hirano",
                                                           "3. Emiri Katou",
                                                           "4. Rina Satou" }));

            this.Add(new Selection(0, 0, AssociatedPath: CollectedAnswers,
                                   Question: "[Math.] What is the symbol for addition operation?",
                                   Choices: new string[] { "1. +",
                                                           "2. -",
                                                           "3. *",
                                                           "4. %" }));

            this.Add(new Selection(0, 0, AssociatedPath: CollectedAnswers,
                                   Question: "[Sinology] What is the first dynasty in China?",
                                   Choices: new string[] { "1. Xia",
                                                           "2. Ming",
                                                           "3. Qing",
                                                           "4. Yuan" }));

            this.Add(new Selection(0, 0, AssociatedPath: CollectedAnswers,
                                   Question: "[IT] Which of these programs protect computer against virus?",
                                   Choices: new string[] { "1. Antivirus",
                                                           "2. Word Processor",
                                                           "3. Graphic Suite",
                                                           "4. Task Manager" }));

            this.Add(new Selection(0, 0, AssociatedPath: CollectedAnswers,
                                   Question: "Which of these phoneme group are made of nasal sounds?",
                                   Choices: new string[] { "1. \\m n\\",
                                                           "2. \\t d s\\",
                                                           "3. \\h\\",
                                                           "4. \\p b f\\" }));

            this.Add(new Selection(0, 0, AssociatedPath: CollectedAnswers,
                                   Question: "[Eng.] Which of the symbols signifies a question?",
                                   Choices: new string[] { "1. ?",
                                                           "2. !",
                                                           "3. $",
                                                           "4. #" }));

            this.Add(new Selection(0, 0, AssociatedPath: CollectedAnswers,
                                   Question: "[Pol. Sci.] Which Japanese prime minister never resigned?",
                                   Choices: new string[] { "1. Kosai Uchida",
                                                           "2. Junichiro Koizumi",
                                                           "3. Naoto Kan",
                                                           "4. Yoshihiko Noda" }));

            this.Add(new Selection(0, 0, AssociatedPath: CollectedAnswers,
                                   Question: "[Meteo.] What is a form of water?",
                                   Choices: new string[] { "1. Cloud",
                                                           "2. Wind",
                                                           "3. Jetstream",
                                                           "4. Humidex" }));

            this.Add(new Selection(0, 0, AssociatedPath: CollectedAnswers,
                                   Question: "[Eng. Hist.] Which of the English kings have the title the great?",
                                   Choices: new string[] { "1. Alfred",
                                                           "2. George I",
                                                           "3. Edward II",
                                                           "4. Boudica" }));

            this.Add(new Selection(0, 0, AssociatedPath: CollectedAnswers,
                                   Question: "[Cullinary] Which of the food recipe requires no heat?",
                                   Choices: new string[] { "1. Shaved Ice",
                                                           "2. Hamburger",
                                                           "3. Steak",
                                                           "4. Chowder" }));

            this.Add("The test is now over and Charlotte's score will be assessed.");

            this.Add(new Action(() =>
            {
                int score = 0;
                int i     = 0;

                while (i < 10)
                {
                    if (CollectedAnswers[i].Item2 == AnswerKey[i])
                    {
                        score++;
                    }
                    i++;
                }

                if (score < 5)
                {
                    Main.ChangeCurrentState(new GameOver("Charlotte has failed the test and hence not qualified to work as a maid. The plot as it is can no longer continue."));
                }
            }
                                ));

            this.Add("Congrats! Charlotte has passed the test and may work as a Rentforth maid.");

            this.Add(new Action(() => {
                Properties.Settings.Default.Temp = "2";
                this.NextState = new SaveLoadScreen(new Scene3(), true);
            }));
        }