From 3b1f3075e8e32bac89820d583a11e18c05dd704d Mon Sep 17 00:00:00 2001 From: JappaWakka Date: Sun, 28 May 2023 21:34:20 +0200 Subject: [PATCH] Added New Level Menu and Game Info stuff still need to test --- P3D/Content/Localization/Tokens_en.dat | 22 +++++- .../VoltorbFlip/Tutorial_AboutMemos.png | Bin 0 -> 2066 bytes .../Textures/VoltorbFlip/Tutorial_Hint.png | Bin 0 -> 2722 bytes .../VoltorbFlip/Tutorial_HowToPlay.png | Bin 0 -> 2151 bytes P3D/P3D.vbproj | 9 +++ P3D/Screens/VoltorbFlipScreen.vb | 71 ++++++++++++++++-- 6 files changed, 90 insertions(+), 12 deletions(-) create mode 100644 P3D/Content/Textures/VoltorbFlip/Tutorial_AboutMemos.png create mode 100644 P3D/Content/Textures/VoltorbFlip/Tutorial_Hint.png create mode 100644 P3D/Content/Textures/VoltorbFlip/Tutorial_HowToPlay.png diff --git a/P3D/Content/Localization/Tokens_en.dat b/P3D/Content/Localization/Tokens_en.dat index adaf27910..d6470670f 100644 --- a/P3D/Content/Localization/Tokens_en.dat +++ b/P3D/Content/Localization/Tokens_en.dat @@ -420,6 +420,16 @@ VoltorbFlip_QuitQuestion_Question_2,Coin(s).*Will you quit? VoltorbFlip_QuitQuestion_AnswerYes,Yes VoltorbFlip_QuitQuestion_AnswerNo,No +VoltorbFlip_BeforeNewLevel_Main_Question_1,Play Voltorb Flip Lv. +VoltorbFlip_BeforeNewLevel_Main_Question_2,? +VoltorbFlip_BeforeNewLevel_Main_Answer_Play,Play +VoltorbFlip_BeforeNewLevel_Main_Answer_GameInfo,Game Info +VoltorbFlip_BeforeNewLevel_Main_Answer_Quit,Quit +VoltorbFlip_BeforeNewLevel_GameInfo_Question,Which set of info? +VoltorbFlip_BeforeNewLevel_GameInfo_Answer_HowToPlay,How to Play +VoltorbFlip_BeforeNewLevel_GameInfo_Answer_Hint,Hint! +VoltorbFlip_BeforeNewLevel_GameInfo_Answer_AboutMemos,About Memos + VoltorbFlip_GameWon_1,Game clear!* received~ VoltorbFlip_GameWon_2,Coin(s)! @@ -444,10 +454,14 @@ VoltorbFlip_AfterGame_Lost,Too bad, you didn't win~any Coins!*Better luck next t VoltorbFlip_BeforeGame_FullCoinCase,Your Coin Case is already full! VoltorbFlip_BeforeGame_NoCoinCase,You don't have a Coin Case!~Come back when you have one! -VoltorbFlip_Tutorial_HowToPlay,Voltorb Flip is a game in which~you flip over cards to find~numbers hidden beneath them.*The cards are hiding the~numbers 1 through 3...~and Voltorb as well.*The first number you flip over~will give you that many Coins.*From then on, the next number~you find will multiply the~total amount of Coins you've~collected by that number.*If it's a 2, your total will~be multiplied by "x2".*If it's a 3, your total will~be multiplied by "x3".*But if you flip over a~Voltorb, it's game over.*When that happens, you'll lose~all the Coins you've collected~in the current level.*If you select "Quit", you'll~withdraw from the level.*If you get to a difficult~spot, you might want to end~the game early.*Once you've found all the~hidden 2 and 3 cards,~you've cleared the game.*Once you've flipped over~all these cards, then you'll~advance to the next level.*As you move up in levels,~you will be able to receive~more Coins. Do your best! -VoltorbFlip_Tutorial_Hint,The numbers at the side~of the board give you a clue~about the numbers hidden on~the backs of the cards.*The larger the number, the~more likely it is that there~are many large numbers hidden~in that row or column.*In the same way, you can tell~how many Voltorb are hidden~in the row or column.*Consider the hidden number~totals and the Voltorb~totals carefully as you~flip over cards. -VoltorbFlip_Tutorial_AboutMemos,Select "Open Memo" or~press [] to open~the Memo Window.*You can mark the cards with~the numbers 1 through 3,~but also with a Voltorb mark.*When you have an idea of the~numbers hidden on the back~of the cards, open the Memo~Window, choose the type of~mark you want to use with~the Mouse Wheel or the~Gamepad's Shoulder Buttons~and then press []~while highlighting the card~you want to mark.*If you want to remove a mark,~choose the type of mark you~want to remove with the~Mouse Wheel or the Gamepad's~Shoulder Buttons and then~press [] while~highlighting the card you~want to remove the mark from.*You can also use the~mouse to select a~mark type or a card. ---- +VoltorbFlip_Tutorial_HowToPlay_Message,Voltorb Flip is a game in which~you flip over cards to find~numbers hidden beneath them.*The cards are hiding the~numbers 1 through 3...~and Voltorb as well.*The first number you flip over~will give you that many Coins.*From then on, the next number~you find will multiply the~total amount of Coins you've~collected by that number.*If it's a 2, your total will~be multiplied by "x2".*If it's a 3, your total will~be multiplied by "x3".*But if you flip over a~Voltorb, it's game over.*When that happens, you'll lose~all the Coins you've collected~in the current level.*If you select "Quit", you'll~withdraw from the level.*If you get to a difficult~spot, you might want to end~the game early.*Once you've found all the~hidden 2 and 3 cards,~you've cleared the game.*Once you've flipped over~all these cards, then you'll~advance to the next level.*As you move up in levels,~you will be able to receive~more Coins. Do your best! +VoltorbFlip_Tutorial_Hint_Message,The numbers at the side~of the board give you a clue~about the numbers hidden on~the backs of the cards.*The larger the number, the~more likely it is that there~are many large numbers hidden~in that row or column.*In the same way, you can tell~how many Voltorb are hidden~in the row or column.*Consider the hidden number~totals and the Voltorb~totals carefully as you~flip over cards. +VoltorbFlip_Tutorial_AboutMemos_Message,Select "Open Memo" or~press [] to open~the Memo Window.*You can mark the cards with~the numbers 1 through 3,~but also with a Voltorb mark.*When you have an idea of the~numbers hidden on the back~of the cards, open the Memo~Window, choose the type of~mark you want to use with~the Mouse Wheel or the~Gamepad's Shoulder Buttons~and then press []~while highlighting the card~you want to mark.*If you want to remove a mark,~choose the type of mark you~want to remove with the~Mouse Wheel or the Gamepad's~Shoulder Buttons and then~press [] while~highlighting the card you~want to remove the mark from.*You can also use the~mouse to select a~mark type or a card. +VoltorbFlip_Tutorial_HowToPlay_Image1,If you flip the cards in this order, you'll collect: 3 x 1 x 2 x 1 x 3... A total of 18 Coins! And then... +VoltorbFlip_Tutorial_HowToPlay_Image2,If you select "Quit", you'll keep those 18 Coins. +VoltorbFlip_Tutorial_HowToPlay_Image3,But if you find Voltorb, you'll lose all your Coins! +VoltorbFlip_Tutorial_Hint_Image,By looking at the numbers on the sides of the cards, you can see the hidden number and Voltorb totals. +VoltorbFlip_Tutorial_AboutMemos_Image,Select "Open Memo" to open the Memo Window. Select the cards and press [] to add and [] to remove marks. Battle: --- main: diff --git a/P3D/Content/Textures/VoltorbFlip/Tutorial_AboutMemos.png b/P3D/Content/Textures/VoltorbFlip/Tutorial_AboutMemos.png new file mode 100644 index 0000000000000000000000000000000000000000..45e94907db82bcbe1b04d88db60e5571563fc001 GIT binary patch literal 2066 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 literal 0 HcmV?d00001 diff --git a/P3D/Content/Textures/VoltorbFlip/Tutorial_HowToPlay.png b/P3D/Content/Textures/VoltorbFlip/Tutorial_HowToPlay.png new file mode 100644 index 0000000000000000000000000000000000000000..e9408c59248e07026f65f497110833d82be0e606 GIT binary patch literal 2151 zcmbVOYgiL!7XD^PASSXTwgn*w@wVNKXs8-Ofto>}LbalT1yM-a6%av!az{zVD_9<+ zy7dM$uvLi)3MwsB!HHNeNCOe9qFe%Ue}aY>5QCFsKkPowy8XF7X3jV7%sJmV-+9mb z%;9xwSJ~2?=l}rQpg{i(03dJ)lr(F2*S@Hafo4Wh;HG2%7_+7?q_s;*LXe#j5S|hu ziAhQSdRH{?i%v++Oy-27q;8Fqa6%=Lgj+f}Ziz!4hx?sB)0ztE?oz|rP_ zX{x%V=F6s%^!<%*WJqqSHv*81-@B6(Vb)Xve4k}!>Mz&# z4GIV&V@M{rPEPy|d^+pR?y(g{m z=aw4uXIs$)uEC-$Z^(JyM;>ire7B|e_=&9JZ$HQG**sWdHf^@7rE+BEka73(m)Je8j@LHZRvpPH)x?_z3@sPg zjZ;qub845FS~|cMuW!7u%gW8$E^^ZO(G&x#R)By>OuHiQZT%pxgDjUH{@J`1@tN`F zL3DU3uRjRW68vEFkoB+QOGD=flsdjFQUEbijpfoz?BNIN%Uz_8Q>kga>`x2j#J1Pm zleebQCFXpqvGH|#zOA}e6S5k3Txmwn8tjNA+{ny9fy{M?_l#I?-LrY=OyMXz@0}{w z?CIth7&xSW6mchvDoq3^R1bc%O=_6jY5pq8I-zy5$odn)_zyXu2i4~;EK-w$Is=(c zEmZ}afBRq=d~;gJP__wI57`JSCJ#F6GVY~A$|cqHQI)6{q~KU(@5v4@-qe*5>ViLd zo7a&fa5;Fb_vlCa<)_@ro^~&>#Z`7Y19}3$-G3H5wGonT6m_b|To@w}6=z?z2Su(^ z4hZBp6ENXG{>cCeM6u~f{r?t!3irQzfaeUHh7lgJbD%SSRd2$!K0nPG`?iDv2WyPN zk*h?r@#QE+xJk^d0PLLh{bobjw_)Q<7J|VC3V7dKuk8(EQQjffN59s8C@tna_8Nq( z*nN9W-pAlqdj!r$?sC+F0L(Z_f)wGj(%MNBJIksvQt`m~%$3l>s9gP`w&8iitco&~ z?qpdjKi;%qU4ry^E)FUjfz0#ZBN_D)>^Md_Ri|bRW5boncB-<+803Al!YLm z0G1I!SN=6EQQGM7qRspy*3v8)-srk$Dk2poS$Ym^9qLAbo+>sH0d^zh)|`pQOd3Gd zNuX6#93iEa4mZ|c1^q(e$SM@ZTu$~WNA5=6JQ?izy7HK&zo~==ss@n1<@rVq=}|Ce zhVp0D`?b@p)alU8-w7e?o!{?i6y%5cClwFyDLsik^jJT3$;;D_(>ua}KYm|8fV#P; znjgT+WB~s)kfup=JOpreNQ2QY;+iADPW58hmPk5CNCtQJcYVI((H+wnfI0l3yIQEbG(f`v z7HgFxbUJ9a>W*yQ=pRB#2jh!@F<+LE5&nh`)hrHnz{?3wF(}x=pkwaR+RQZaPPg<_ z%g`p;iTNC$eh8pGUQ@}8ZQ4p^F=;v#AT}GffYK)9zUFP^Gtx+N6VjPrSPWWsTNVU0 z>{(GcPUDz5$uj`K|6CzIwqJM8&3dF`_^vl+B(8fK1Gj?Xo7 zM~1Q-nO-h9c?M@TJfQUpTLh@D9lCD(l5%7O<7T&)BuX{(nV-$TR-ne+#%SqmT9y<3 zBeQPyvjQtW!m8@;@8o27B`Ac|?gh((fH==eZI9rK=~xkKOmR!huu==)$CEt>l*XTc9mo19|B)ixlXPuhDbkjBZ$1lu P5 PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest diff --git a/P3D/Screens/VoltorbFlipScreen.vb b/P3D/Screens/VoltorbFlipScreen.vb index 58d021b3c..2909fa66f 100644 --- a/P3D/Screens/VoltorbFlipScreen.vb +++ b/P3D/Screens/VoltorbFlipScreen.vb @@ -21,6 +21,7 @@ Namespace VoltorbFlip Public Shared GameOrigin As New Vector2(CInt(windowSize.Width / 2 - GameSize.Width / 2 - 32), CInt(windowSize.Height / 2 - GameSize.Height / 2)) Public Shared BoardOrigin As New Vector2(GameOrigin.X + 32, GameOrigin.Y + 160) + Public Shared TutorialRectangle As New Rectangle(CInt(windowSize.Width / 2 - 512 / 2), CInt(windowSize.Height / 2 - 384 / 2), 512, 384) Private BoardCursorPosition As New Vector2(0, 0) Private BoardCursorDestination As New Vector2(0, 0) @@ -79,6 +80,8 @@ Namespace VoltorbFlip GameState = States.Opening GameOrigin = New Vector2(CInt(windowSize.Width / 2 - GameSize.Width / 2 - 32), CInt(windowSize.Height / 2 - _screenTransitionY)) BoardOrigin = New Vector2(GameOrigin.X + 32, GameOrigin.Y + 160) + TutorialRectangle = New Rectangle(CInt(windowSize.Width / 2 - 512 / 2), CInt(windowSize.Height / 2 - 384 / 2), 512, 384) + BoardCursorDestination = GetCursorOffset(0, 0) BoardCursorPosition = GetCursorOffset(0, 0) @@ -121,6 +124,7 @@ Namespace VoltorbFlip DrawHUD() DrawQuitButton() + DrawTutorial() ChooseBox.Draw() TextBox.Draw() @@ -233,6 +237,54 @@ Namespace VoltorbFlip End Sub + Private Sub DrawTutorial() + Dim mainBackgroundColor As Color = New Color(255, 255, 255) + If GameState = States.Closing Or GameState = States.Opening Then + mainBackgroundColor = New Color(255, 255, 255, CInt(255 * _interfaceFade)) + End If + + Dim FontColor As Color = New Color(0, 0, 0) + If GameState = States.Closing Or GameState = States.Opening Then + FontColor = New Color(0, 0, 0, CInt(255 * _interfaceFade)) + End If + + If GameState = States.NewLevelQuestion AndAlso NewLevelMenuIndex > 1 Then + Select Case NewLevelMenuIndex + Case 2 'How to Play + Dim TutorialString1 As String = Localization.GetString("VoltorbFlip_Tutorial_HowToPlay_Image1", "If you flip the cards in this order, you'll collect: 3 x 1 x 2 x 1 x 3... A total of 18 Coins! And then...") + Dim TutorialString2 As String = Localization.GetString("VoltorbFlip_Tutorial_HowToPlay_Image2", "If you select ""Quit"", you'll keep those 18 Coins.") + Dim TutorialString3 As String = Localization.GetString("VoltorbFlip_Tutorial_HowToPlay_Image3", "But if you find Voltorb, you'll lose all your Coins!") + + SpriteBatch.Draw(TextureManager.GetTexture("Textures\VoltorbFlip\Tutorial_HowToPlay"), New Rectangle(CInt(TutorialRectangle.X), CInt(TutorialRectangle.Y), TutorialRectangle.Width, TutorialRectangle.Height), mainBackgroundColor) + + SpriteBatch.DrawString(FontManager.MainFont, TutorialString1.CropStringToWidth(FontManager.MainFont, 1, 448), New Vector2(CInt(TutorialRectangle.X + 256 - FontManager.MainFont.MeasureString(TutorialString1.CropStringToWidth(FontManager.MainFont, 1, 448)).X / 2), CInt(TutorialRectangle.Y + 128 - FontManager.MainFont.MeasureString(TutorialString1.CropStringToWidth(FontManager.MainFont, 1, 448)).Y / 2)), FontColor) + SpriteBatch.DrawString(FontManager.MainFont, TutorialString2.CropStringToWidth(FontManager.MainFont, 1, 304), New Vector2(CInt(TutorialRectangle.X + 336 - FontManager.MainFont.MeasureString(TutorialString2.CropStringToWidth(FontManager.MainFont, 1, 304)).X / 2), CInt(TutorialRectangle.Y + 256 - FontManager.MainFont.MeasureString(TutorialString2.CropStringToWidth(FontManager.MainFont, 1, 304)).Y / 2)), FontColor) + SpriteBatch.DrawString(FontManager.MainFont, TutorialString3.CropStringToWidth(FontManager.MainFont, 1, 304), New Vector2(CInt(TutorialRectangle.X + 336 - FontManager.MainFont.MeasureString(TutorialString2.CropStringToWidth(FontManager.MainFont, 1, 304)).X / 2), CInt(TutorialRectangle.Y + 336 - FontManager.MainFont.MeasureString(TutorialString3.CropStringToWidth(FontManager.MainFont, 1, 304)).Y / 2)), FontColor) + + Case 3 'Hint + Dim TutorialString As String = Localization.GetString("VoltorbFlip_Tutorial_Hint_Image", "By looking at the numbers on the sides of the cards, you can see the hidden number and Voltorb totals.") + SpriteBatch.Draw(TextureManager.GetTexture("Textures\VoltorbFlip\Tutorial_Hints"), New Rectangle(CInt(TutorialRectangle.X), CInt(TutorialRectangle.Y), TutorialRectangle.Width, TutorialRectangle.Height), mainBackgroundColor) + + SpriteBatch.DrawString(FontManager.MainFont, TutorialString.CropStringToWidth(FontManager.MainFont, 1, 448), New Vector2(CInt(TutorialRectangle.X + 256 - FontManager.MainFont.MeasureString(TutorialString.CropStringToWidth(FontManager.MainFont, 1, 448)).X / 2), CInt(TutorialRectangle.Y + 320 - FontManager.MainFont.MeasureString(TutorialString.CropStringToWidth(FontManager.MainFont, 1, 448)).Y / 2)), FontColor) + + Case 4 'About Memos + Dim TutorialString As String = Localization.GetString("VoltorbFlip_Tutorial_AboutMemos_Image", "Select ""Open Memo"" to open the Memo Window. Select the cards and press [] to add and [] to remove marks.") + Dim ButtonTextTop As String = Localization.GetString("VoltorbFlip_MemoButton_Open_Line1", "Open") + Dim ButtonTextBottom As String = Localization.GetString("VoltorbFlip_MemoButton_Open_Line2", "Memos") + + SpriteBatch.Draw(TextureManager.GetTexture("Textures\VoltorbFlip\Tutorial_AboutMemos"), New Rectangle(CInt(TutorialRectangle.X), CInt(TutorialRectangle.Y), TutorialRectangle.Width, TutorialRectangle.Height), mainBackgroundColor) + + SpriteBatch.DrawString(FontManager.MainFont, TutorialString.CropStringToWidth(FontManager.MainFont, 1, 448), New Vector2(CInt(TutorialRectangle.X + 256 - FontManager.MainFont.MeasureString(TutorialString.CropStringToWidth(FontManager.MainFont, 1, 448)).X / 2), CInt(TutorialRectangle.Y + 304 - FontManager.MainFont.MeasureString(TutorialString.CropStringToWidth(FontManager.MainFont, 1, 448)).Y / 2)), FontColor) + + SpriteBatch.DrawString(FontManager.MainFont, ButtonTextTop, New Vector2(CInt(TutorialRectangle.X + 64 + MemoMenuSize.Width / 2 - FontManager.MainFont.MeasureString(ButtonTextTop).X / 2), CInt(TutorialRectangle.Y + 104)), FontColor) + SpriteBatch.DrawString(FontManager.MainFont, ButtonTextBottom, New Vector2(CInt(TutorialRectangle.X + 64 + MemoMenuSize.Width / 2 - FontManager.MainFont.MeasureString(ButtonTextBottom).X / 2), CInt(TutorialRectangle.Y + 104 + FontManager.MainFont.MeasureString(ButtonTextTop).Y)), FontColor) + + End Select + + End If + + End Sub + Private Sub DrawBoard() Dim mainBackgroundColor As Color = New Color(255, 255, 255) If GameState = States.Closing Or GameState = States.Opening Then @@ -690,6 +742,7 @@ TryAgain: Public Overrides Sub SizeChanged() GameOrigin = New Vector2(CInt(windowSize.Width / 2 - GameSize.Width / 2 - 32), CInt(windowSize.Height / 2 - _screenTransitionY)) BoardOrigin = New Vector2(GameOrigin.X + 32, GameOrigin.Y + 160) + TutorialRectangle = New Rectangle(CInt(windowSize.Width / 2 - 512 / 2), CInt(windowSize.Height / 2 - 384 / 2), 512, 384) BoardCursorDestination = GetCursorOffset(0, 0) BoardCursorPosition = GetCursorOffset(0, 0) End Sub @@ -1073,8 +1126,9 @@ TryAgain: If GameState = States.NewLevelQuestion Then Select Case NewLevelMenuIndex Case 0 'Main Menu - If Delay = 0 AndAlso TextBox.Showing = False Then - TextBox.Show("Play Voltorb Flip Lv." & " " & CurrentLevel.ToString & "?" & "%" & "Play" & "|" & "Game Info" & "|" & "Quit" & "%") + If Delay = 0 AndAlso TextBox.Showing = False AndAlso ChooseBox.Showing = False Then + ChooseBox.readyForResult = False + TextBox.Show(Localization.GetString("VoltorbFlip_BeforeNewLevel_Main_Question_1", "Play Voltorb Flip Lv.") & " " & CurrentLevel.ToString & Localization.GetString("VoltorbFlip_BeforeNewLevel_Main_Question_2", "?") & "%" & Localization.GetString("VoltorbFlip_BeforeNewLevel_Main_Answer_Play", "Play") & "|" & Localization.GetString("VoltorbFlip_BeforeNewLevel_Main_Answer_GameInfo", "Game Info") & "|" & Localization.GetString("VoltorbFlip_BeforeNewLevel_Main_Answer_Quit", "Quit") & "%") Delay = 5 End If If ChooseBox.readyForResult = True Then @@ -1088,8 +1142,9 @@ TryAgain: End Select End If Case 1 'Info Menu - If Delay = 0 AndAlso TextBox.Showing = False Then - TextBox.Show("Which set of info?" & "%" & "How to Play" & "|" & "Hint!" & "|" & "About Memos" & "%") + If Delay = 0 AndAlso TextBox.Showing = False AndAlso ChooseBox.Showing = False Then + ChooseBox.readyForResult = False + TextBox.Show(Localization.GetString("VoltorbFlip_BeforeNewLevel_GameInfo_Question", "Which set of info?") & "%" & Localization.GetString("VoltorbFlip_BeforeNewLevel_GameInfo_Answer_HowToPlay", "How to Play") & "|" & Localization.GetString("VoltorbFlip_BeforeNewLevel_GameInfo_Answer_Hint", "Hint!") & "|" & Localization.GetString("VoltorbFlip_BeforeNewLevel_GameInfo_Answer_AboutMemos", "About Memos") & "%") Delay = 5 End If If ChooseBox.readyForResult = True Then @@ -1104,19 +1159,19 @@ TryAgain: End If Case 2 'How to Play If Delay = 0 Then - TextBox.Show(Localization.GetString("VoltorbFlip_Tutorial_HowToPlay", "Voltorb Flip is a game in which~you flip over cards to find~numbers hidden beneath them.*The cards are hiding the~numbers 1 through 3...~and Voltorb as well.*The first number you flip over~will give you that many Coins.*From then on, the next number~you find will multiply the~total amount of Coins you've~collected by that number.*If it's a 2, your total will~be multiplied by ""x2"".*If it's a 3, your total will~be multiplied by ""x3"".*But if you flip over a~Voltorb, it's game over.*When that happens, you'll lose~all the Coins you've collected~in the current level.*If you select ""Quit"", you'll~withdraw from the level.*If you get to a difficult~spot, you might want to end~the game early.*Once you've found all the~hidden 2 and 3 cards,~you've cleared the game.*Once you've flipped over~all these cards, then you'll~advance to the next level.*As you move up in levels,~you will be able to receive~more Coins. Do your best!")) + TextBox.Show(Localization.GetString("VoltorbFlip_Tutorial_HowToPlay_Message", "Voltorb Flip is a game in which~you flip over cards to find~numbers hidden beneath them.*The cards are hiding the~numbers 1 through 3...~and Voltorb as well.*The first number you flip over~will give you that many Coins.*From then on, the next number~you find will multiply the~total amount of Coins you've~collected by that number.*If it's a 2, your total will~be multiplied by ""x2"".*If it's a 3, your total will~be multiplied by ""x3"".*But if you flip over a~Voltorb, it's game over.*When that happens, you'll lose~all the Coins you've collected~in the current level.*If you select ""Quit"", you'll~withdraw from the level.*If you get to a difficult~spot, you might want to end~the game early.*Once you've found all the~hidden 2 and 3 cards,~you've cleared the game.*Once you've flipped over~all these cards, then you'll~advance to the next level.*As you move up in levels,~you will be able to receive~more Coins. Do your best!")) NewLevelMenuIndex = 1 Delay = 5 End If Case 3 'Hint! If Delay = 0 Then - TextBox.Show(Localization.GetString("VoltorbFlip_Tutorial_Hint", "The numbers at the side~of the board give you a clue~about the numbers hidden on~the backs of the cards.*The larger the number, the~more likely it is that there~are many large numbers hidden~in that row or column.*In the same way, you can tell~how many Voltorb are hidden~in the row or column.*Consider the hidden number~totals and the Voltorb~totals carefully as you~flip over cards.")) + TextBox.Show(Localization.GetString("VoltorbFlip_Tutorial_Hint_Message", "The numbers at the side~of the board give you a clue~about the numbers hidden on~the backs of the cards.*The larger the number, the~more likely it is that there~are many large numbers hidden~in that row or column.*In the same way, you can tell~how many Voltorb are hidden~in the row or column.*Consider the hidden number~totals and the Voltorb~totals carefully as you~flip over cards.")) NewLevelMenuIndex = 1 Delay = 5 End If Case 4 'About Memos If Delay = 0 Then - TextBox.Show(Localization.GetString("VoltorbFlip_Tutorial_AboutMemos", "Select ""Open Memo"" or~press [] to open~the Memo Window.*You can mark the cards with~the numbers 1 through 3,~but also with a Voltorb mark.*When you have an idea of the~numbers hidden on the back~of the cards, open the Memo~Window, choose the type of~mark you want to use with~the Mouse Wheel or the~Gamepad's Shoulder Buttons~and then press []~while highlighting the card~you want to mark.*If you want to remove a mark,~choose the type of mark you~want to remove with the~Mouse Wheel or the Gamepad's~Shoulder Buttons and then~press [] while~highlighting the card you~want to remove the mark from.*You can also use the~mouse to select a~mark type or a card.")) + TextBox.Show(Localization.GetString("VoltorbFlip_Tutorial_AboutMemos_Message", "Select ""Open Memo"" or~press [] to open~the Memo Window.*You can mark the cards with~the numbers 1 through 3,~but also with a Voltorb mark.*When you have an idea of the~numbers hidden on the back~of the cards, open the Memo~Window, choose the type of~mark you want to use with~the Mouse Wheel or the~Gamepad's Shoulder Buttons~and then press []~while highlighting the card~you want to mark.*If you want to remove a mark,~choose the type of mark you~want to remove with the~Mouse Wheel or the Gamepad's~Shoulder Buttons and then~press [] while~highlighting the card you~want to remove the mark from.*You can also use the~mouse to select a~mark type or a card.")) NewLevelMenuIndex = 1 Delay = 5 End If @@ -1204,7 +1259,7 @@ TryAgain: CurrentCoins = 0 End If - GameState = States.Closing + GameState = States.NewLevelQuestion End Sub End Class