diff --git a/PuzzlePlayer/BlackJack.cs b/PuzzlePlayer/BlackJack.cs index e31b77cf42bef4e15bd00a43ef3090819716b3f7..c9dc833fe0ed4134e1c4c92f3050f225d3b30489 100644 --- a/PuzzlePlayer/BlackJack.cs +++ b/PuzzlePlayer/BlackJack.cs @@ -1,8 +1,11 @@ using Microsoft.VisualBasic.Devices; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Drawing; +using System.IO; using System.Linq; +using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; @@ -15,13 +18,20 @@ namespace PuzzlePlayer_Namespace Game, // play the game Result, // see te result and then restart } + + struct Card + { + string name; // for drawing the card, needs to be in format num_of_kind + int value; // value of the card + int value2; // some cards have two values + } + internal class BlackJack : Form { BJSTATE state; int money; - int deploydMoney = 0; - const string DIR = @"..\..\..\Resources\BlackJack\"; - FontFamily BJFont = FontFamily.GenericSansSerif; + int deployedMoney = 0; + readonly FontFamily BJFont = FontFamily.GenericSansSerif; Size screen = Screen.PrimaryScreen.WorkingArea.Size; @@ -30,6 +40,8 @@ namespace PuzzlePlayer_Namespace Panel GamePanel; Panel ResultPanel; + List<Card> cards; + (int,string,Color)[] chipInfo = { (5,"5",Color.Gray), (25, "25", Color.Blue), (50, "50", Color.Green), (100, "100", Color.DarkCyan), (500, "500", Color.Purple), (1000, "1K", Color.Red), (5000, "5K", Color.Orange), (10000, "10K", Color.Gold) }; public object Int { get; private set; } @@ -56,11 +68,11 @@ namespace PuzzlePlayer_Namespace //Setup #region SetupPanel SetupPanel = new Panel(); - SetupPanel.Size = new Size(screen.Width/2,screen.Height);// /4 + SetupPanel.Size = new Size(screen.Width/2,screen.Height); SetupPanel.Location = new Point(screen.Width / 4, 0); //DefaultPanel.BackColor = Color.Blue; //DEBUG - SetupPanel.Paint += DefaultPaint; + SetupPanel.Paint += Setup_Paint; //money buttons int goofyIndex = 0; //dw @@ -92,7 +104,7 @@ namespace PuzzlePlayer_Namespace dealButton.BackColor = Color.DodgerBlue; dealButton.Click += (object o, EventArgs e) => { - if (deploydMoney == 0) + if (deployedMoney == 0) return; SetupPanel.Hide(); GamePanel.Show(); @@ -106,7 +118,13 @@ namespace PuzzlePlayer_Namespace //Game #region GamePanel GamePanel = new Panel(); - GamePanel.BackColor = Color.AliceBlue; //DEBUG + GamePanel.Paint += Game_Paint; + GamePanel.Size = new Size((int)(screen.Width / 1.5), screen.Height); + GamePanel.Location = new Point((screen.Width - GamePanel.Size.Width)/2, 0); + GamePanel.BackColor = Color.Red; //DEBUG + + + GamePanel.Hide(); //Hide until the game state is reached Controls.Add(GamePanel); #endregion @@ -128,7 +146,7 @@ namespace PuzzlePlayer_Namespace if(money >= chip.Item1) { - deploydMoney += chip.Item1; + deployedMoney += chip.Item1; money -= chip.Item1; } Invalidate(true); @@ -142,34 +160,37 @@ namespace PuzzlePlayer_Namespace Font moneyFont = new Font(BJFont, screen.Width/50, FontStyle.Bold); g.DrawString("Money: " + money.ToString(), moneyFont, Brushes.Black, new PointF(0,0)); + /* switch(state) // paint according to the current state { case BJSTATE.Setup: //Setup_Paint(g); break; case BJSTATE.Game: - Game_Paint(g); + //Game_Paint(g); break; case BJSTATE.Result: - Result_Paint(g); + //Result_Paint(g); break; - } + }*/ } - private void DefaultPaint(object sender, PaintEventArgs e) + private void Setup_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; + // draw deployd money // Might update this to butiful chipss - string s = "Deployd Money: " + deploydMoney.ToString(); + string s = "Deployd Money: " + deployedMoney.ToString(); Font deplMoneyFont = new Font(BJFont, SetupPanel.Width / 20, FontStyle.Bold); SizeF pf = g.MeasureString(s, deplMoneyFont); PointF p = new PointF(SetupPanel.Width / 2 - pf.Width / 2, SetupPanel.Height / 2); g.DrawString(s, deplMoneyFont, Brushes.Black, p); } - private void Game_Paint(Graphics g) + private void Game_Paint(object sender, PaintEventArgs e) { - + Graphics g = e.Graphics; + DrawCard(g, new Point(0, 0), 200, "9_of_spades"); } private void Result_Paint(Graphics g) @@ -204,8 +225,8 @@ namespace PuzzlePlayer_Namespace private void DrawCard(Graphics g, Point pos, int width, string cardName) //cardName needs to be in format: num_of_kind { - Image img = Image.FromFile(DIR + "cards/" + cardName + ".png"); //img is 500x726 - g.DrawImage(img, pos.X,pos.Y,width, (float)(width*1.4)); + Image img = SettingForm.GetEmbeddedImage("BlackJack.cards." + cardName + ".png"); + g.DrawImage(img, pos.X, pos.Y, width, (float)(width * 1.4)); //img is 500x726 } } } diff --git a/PuzzlePlayer/PuzzlePlayer.cs b/PuzzlePlayer/PuzzlePlayer.cs index 4c663b459708220e7aae0c1d7d2a48065d415009..b9d14b88f22c093067b32182f29586aef7c4a8e6 100644 --- a/PuzzlePlayer/PuzzlePlayer.cs +++ b/PuzzlePlayer/PuzzlePlayer.cs @@ -96,10 +96,10 @@ namespace PuzzlePlayer_Namespace // Add a button for each puzzle type for (int i = 0; i < puzzleForms.Count; i++) { - string image = "../../..//Resources/" + $"{puzzleForms[i].puzzleType}"; + string image = puzzleForms[i].puzzleType; - Image normalImage = Image.FromFile(image + ".jpg"); - Image grayImage = Image.FromFile(image + "Gray.jpg"); + Image normalImage = SettingForm.GetEmbeddedImage(image + ".jpg"); // Image.FromFile(image + ".jpg"); + Image grayImage = SettingForm.GetEmbeddedImage(image + "Gray.jpg"); // Set the name of the button RoundedButton button = new RoundedButton @@ -172,7 +172,7 @@ namespace PuzzlePlayer_Namespace blackJackButton.Margin = new Padding(10); blackJackButton.Height = 345; blackJackButton.Width = 345; - blackJackButton.Image = Image.FromFile("../../..//Resources/bj.jpg"); + blackJackButton.Image = SettingForm.GetEmbeddedImage("bj.jpg"); blackJackButton.FlatStyle = FlatStyle.Flat; blackJackButton.Font = SettingForm.mainFont; blackJackButton.Click += (object o, EventArgs e) => { diff --git a/PuzzlePlayer/PuzzlePlayer.csproj b/PuzzlePlayer/PuzzlePlayer.csproj index e8d89af5c73afe40d77806ab543081326456247e..761b306d36a073e000909f7e90e49e2e9c23ab57 100644 --- a/PuzzlePlayer/PuzzlePlayer.csproj +++ b/PuzzlePlayer/PuzzlePlayer.csproj @@ -9,4 +9,128 @@ <ImplicitUsings>disable</ImplicitUsings> </PropertyGroup> + <ItemGroup> + <None Remove="Resources\Binary.jpg" /> + <None Remove="Resources\BinaryGray.jpg" /> + <None Remove="Resources\bj.jpg" /> + <None Remove="Resources\BlackJack\cards\10_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\10_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\10_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\10_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\2_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\2_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\2_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\2_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\3_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\3_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\3_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\3_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\4_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\4_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\4_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\4_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\5_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\5_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\5_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\5_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\6_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\6_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\6_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\6_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\7_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\7_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\7_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\7_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\8_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\8_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\8_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\8_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\9_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\9_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\9_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\9_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\ace_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\ace_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\ace_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\ace_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\jack_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\jack_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\jack_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\jack_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\king_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\king_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\king_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\king_of_spades.png" /> + <None Remove="Resources\BlackJack\cards\queen_of_clubs.png" /> + <None Remove="Resources\BlackJack\cards\queen_of_diamonds.png" /> + <None Remove="Resources\BlackJack\cards\queen_of_hearts.png" /> + <None Remove="Resources\BlackJack\cards\queen_of_spades.png" /> + <None Remove="Resources\Maze.jpg" /> + <None Remove="Resources\MazeGray.jpg" /> + <None Remove="Resources\Sudoku.jpg" /> + <None Remove="Resources\SudokuGray.jpg" /> + </ItemGroup> + + <ItemGroup> + <EmbeddedResource Include="Resources\Binary.jpg" /> + <EmbeddedResource Include="Resources\BinaryGray.jpg" /> + <EmbeddedResource Include="Resources\bj.jpg" /> + <EmbeddedResource Include="Resources\BlackJack\cards\10_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\10_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\10_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\10_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\2_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\2_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\2_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\2_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\3_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\3_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\3_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\3_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\4_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\4_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\4_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\4_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\5_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\5_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\5_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\5_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\6_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\6_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\6_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\6_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\7_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\7_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\7_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\7_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\8_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\8_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\8_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\8_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\9_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\9_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\9_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\9_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\ace_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\ace_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\ace_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\ace_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\jack_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\jack_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\jack_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\jack_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\king_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\king_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\king_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\king_of_spades.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\queen_of_clubs.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\queen_of_diamonds.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\queen_of_hearts.png" /> + <EmbeddedResource Include="Resources\BlackJack\cards\queen_of_spades.png" /> + <EmbeddedResource Include="Resources\Maze.jpg" /> + <EmbeddedResource Include="Resources\MazeGray.jpg" /> + <EmbeddedResource Include="Resources\Sudoku.jpg" /> + <EmbeddedResource Include="Resources\SudokuGray.jpg" /> + </ItemGroup> + </Project> \ No newline at end of file diff --git a/PuzzlePlayer/SettingForm.cs b/PuzzlePlayer/SettingForm.cs index 3f499c4c95040ebcdffc6b2f7f63daf492505b3c..0b9fc16703fac7fa5b1db99f9876bf9f134d0721 100644 --- a/PuzzlePlayer/SettingForm.cs +++ b/PuzzlePlayer/SettingForm.cs @@ -2,6 +2,8 @@ using System.Collections.Generic; using System.Diagnostics; using System.Drawing; +using System.IO; +using System.Reflection; using System.Windows.Forms; namespace PuzzlePlayer_Namespace @@ -222,5 +224,14 @@ namespace PuzzlePlayer_Namespace } } } + + public static Image GetEmbeddedImage(string imageWithExtention) + { + string imagePath = "PuzzlePlayer_Namespace.Resources." + imageWithExtention; + Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(imagePath); + Image img = Image.FromStream(stream); + stream.Dispose(); + return img; + } } }