From 1c0c7c6fa8cbc2c20f4a25457b934c61ffe4ec43 Mon Sep 17 00:00:00 2001 From: AShifter Date: Tue, 7 Mar 2017 18:53:41 -0700 Subject: [PATCH] Added ShiftLotto Added ShiftLotto. It's a new shiftorium upgrade that lets you make (and lose) codepoints FAST. --- ShiftOS.WinForms/Applications/ShiftLetters.cs | 5 +- .../Applications/ShiftLotto.Designer.cs | 202 ++++++++++++++++++ ShiftOS.WinForms/Applications/ShiftLotto.cs | 116 ++++++++++ ShiftOS.WinForms/Applications/ShiftLotto.resx | 128 +++++++++++ ShiftOS.WinForms/Resources/Shiftorium.txt | 14 ++ ShiftOS.WinForms/ShiftOS.WinForms.csproj | 9 + 6 files changed, 472 insertions(+), 2 deletions(-) create mode 100644 ShiftOS.WinForms/Applications/ShiftLotto.Designer.cs create mode 100644 ShiftOS.WinForms/Applications/ShiftLotto.cs create mode 100644 ShiftOS.WinForms/Applications/ShiftLotto.resx diff --git a/ShiftOS.WinForms/Applications/ShiftLetters.cs b/ShiftOS.WinForms/Applications/ShiftLetters.cs index f1c1d22..d11f6f6 100644 --- a/ShiftOS.WinForms/Applications/ShiftLetters.cs +++ b/ShiftOS.WinForms/Applications/ShiftLetters.cs @@ -50,7 +50,7 @@ namespace ShiftOS.WinForms.Applications "shiftorium", "codepoints", "shiftletters", "shops", "mud", "notification", "namechanger", "skinning", "skinloader", "calculator", "fileskimmer", "lua", "shiftnet", "terminal", "textpad"}; List contributorsWordlist = new List { "philipadams", "carverh", "computelinux", "lempamo", - "wowmom", "michaeltheshifter", "arencclc", "therandommelon", "pfg", "craftxbox"}; + "wowmom", "michaeltheshifter", "arencclc", "therandommelon", "pfg", "craftxbox", "ashifter"}; List osWordlist = new List { @@ -90,7 +90,8 @@ namespace ShiftOS.WinForms.Applications "vienna", "whistler", "windowsxp", - "windowsforworkgroups" + "windowsforworkgroups", + "shiftos" }; public ShiftLetters() diff --git a/ShiftOS.WinForms/Applications/ShiftLotto.Designer.cs b/ShiftOS.WinForms/Applications/ShiftLotto.Designer.cs new file mode 100644 index 0000000..3af5d38 --- /dev/null +++ b/ShiftOS.WinForms/Applications/ShiftLotto.Designer.cs @@ -0,0 +1,202 @@ +namespace ShiftOS.WinForms.Applications +{ + partial class ShiftLotto + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ShiftLotto)); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.button1 = new System.Windows.Forms.Button(); + this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.cpUpDown = new System.Windows.Forms.NumericUpDown(); + this.difUpDown = new System.Windows.Forms.NumericUpDown(); + this.label1 = new System.Windows.Forms.Label(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.label7 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.cpUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.difUpDown)).BeginInit(); + this.SuspendLayout(); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(19, 49); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(376, 39); + this.label2.TabIndex = 2; + this.label2.Text = resources.GetString("label2.Text"); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(35, 122); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(60, 13); + this.label3.TabIndex = 3; + this.label3.Text = "Codepoints\r\n"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(319, 122); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(47, 13); + this.label4.TabIndex = 4; + this.label4.Text = "Difficulty"; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(22, 164); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(369, 23); + this.button1.TabIndex = 6; + this.button1.Text = "Go!"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // label5 + // + this.label5.Location = new System.Drawing.Point(120, 136); + this.label5.Name = "label5"; + this.label5.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.label5.Size = new System.Drawing.Size(173, 23); + this.label5.TabIndex = 7; + this.label5.Text = "0 CP"; + this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(173, 122); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(74, 13); + this.label6.TabIndex = 8; + this.label6.Text = "You could win"; + // + // cpUpDown + // + this.cpUpDown.Location = new System.Drawing.Point(22, 138); + this.cpUpDown.Maximum = new decimal(new int[] { + 10000000, + 0, + 0, + 0}); + this.cpUpDown.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.cpUpDown.Name = "cpUpDown"; + this.cpUpDown.Size = new System.Drawing.Size(92, 20); + this.cpUpDown.TabIndex = 9; + this.cpUpDown.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + // + // difUpDown + // + this.difUpDown.Location = new System.Drawing.Point(299, 138); + this.difUpDown.Minimum = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.difUpDown.Name = "difUpDown"; + this.difUpDown.Size = new System.Drawing.Size(92, 20); + this.difUpDown.TabIndex = 10; + this.difUpDown.Value = new decimal(new int[] { + 10, + 0, + 0, + 0}); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(147, 20); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(115, 13); + this.label1.TabIndex = 11; + this.label1.Text = "Welcome to ShiftLotto!"; + // + // timer1 + // + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // + // label7 + // + this.label7.Location = new System.Drawing.Point(22, 190); + this.label7.Name = "label7"; + this.label7.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.label7.Size = new System.Drawing.Size(369, 23); + this.label7.TabIndex = 12; + this.label7.Text = "Current CP: 0 CP"; + this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // ShiftLotto + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.label7); + this.Controls.Add(this.label1); + this.Controls.Add(this.difUpDown); + this.Controls.Add(this.cpUpDown); + this.Controls.Add(this.label6); + this.Controls.Add(this.label5); + this.Controls.Add(this.button1); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Name = "ShiftLotto"; + this.Size = new System.Drawing.Size(419, 252); + ((System.ComponentModel.ISupportInitialize)(this.cpUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.difUpDown)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.NumericUpDown cpUpDown; + private System.Windows.Forms.NumericUpDown difUpDown; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Timer timer1; + private System.Windows.Forms.Label label7; + } +} diff --git a/ShiftOS.WinForms/Applications/ShiftLotto.cs b/ShiftOS.WinForms/Applications/ShiftLotto.cs new file mode 100644 index 0000000..a070d43 --- /dev/null +++ b/ShiftOS.WinForms/Applications/ShiftLotto.cs @@ -0,0 +1,116 @@ +/* + * MIT License + * + * Copyright (c) 2017 Michael VanOverbeek and ShiftOS devs + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using ShiftOS.Engine; + +namespace ShiftOS.WinForms.Applications +{ + [Launcher("ShiftLotto", true, "al_shiftlotto", "Games")] + [RequiresUpgrade("shiftlotto")] + [WinOpen("shiftlotto")] + public partial class ShiftLotto : UserControl, IShiftOSWindow + { + public ShiftLotto() + { + InitializeComponent(); + } + + public void OnLoad() + { + timer1.Start(); + } + + + public void OnSkinLoad() + { + + } + + public bool OnUnload() + { + return true; + } + + public void OnUpgrade() + { + + } + + // The Dynamic Display + private void timer1_Tick(object sender, EventArgs e) + { + int codePoints = Convert.ToInt32(Math.Round(cpUpDown.Value, 0)); + int difficulty = Convert.ToInt32(Math.Round(difUpDown.Value, 0)); + label5.Text = codePoints * difficulty + " CP"; + label7.Text = "Current CP: " + SaveSystem.CurrentSave.Codepoints.ToString() + " CP"; + } + + private void button1_Click(object sender, EventArgs e) + { + // Convert the NumericUpDown to Int + int codePoints = Convert.ToInt32(Math.Round(cpUpDown.Value, 0)); + int difficulty = Convert.ToInt32(Math.Round(difUpDown.Value, 0)); + + // Create Random Ints + Random rnd = new Random(); + + // Set their highest possible number to Difficulty + int guessedNumber = rnd.Next(0, difficulty); + int winningNumber = rnd.Next(0, difficulty); + + // Multiply CodePoints * Difficulty + int jackpot = codePoints * difficulty; + + // Test the random ints + if (guessedNumber == winningNumber) + { + // If you win + + // Add Codepoints + SaveSystem.TransferCodepointsFrom("shiftlotto", jackpot); + + // Infobox + Infobox.Show("YOU WON!", "Good Job! " + jackpot.ToString() + " CP has been added to your account. "); + } + else + { + // If you fail + + // Remove Codepoints + SaveSystem.TransferCodepointsToVoid(jackpot); + + // Infobox + Infobox.Show("YOU FAILED!", "Sorry! " + jackpot.ToString() + " CP has been removed from your account."); + } + } + } +} \ No newline at end of file diff --git a/ShiftOS.WinForms/Applications/ShiftLotto.resx b/ShiftOS.WinForms/Applications/ShiftLotto.resx new file mode 100644 index 0000000..4664613 --- /dev/null +++ b/ShiftOS.WinForms/Applications/ShiftLotto.resx @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ShiftLotto lets you to turn a few codepoints into a FOURTUNE! All you need to +do is bet a certain amount of codepoints, set a difficulty, and try your luck. + There have been many winners - Will you be one too? + + + 17, 17 + + \ No newline at end of file diff --git a/ShiftOS.WinForms/Resources/Shiftorium.txt b/ShiftOS.WinForms/Resources/Shiftorium.txt index 841a24e..3de7214 100644 --- a/ShiftOS.WinForms/Resources/Shiftorium.txt +++ b/ShiftOS.WinForms/Resources/Shiftorium.txt @@ -125,6 +125,20 @@ Description: "Want to adjust the volume of ShiftOS's audio? This upgrade will let you." }, + //SHIFTLOTTO UPGRADES + { + Name: "ShiftLotto", + Cost: 200, + Dependencies: null, + Description: "Are you feeling lucky? Spend some money on this upgrade! If you have any left, go ahead and bet your money in ShiftLotto!" + }, + { + Name: "AL ShiftLotto", + Cost: 150, + Dependencies: "app_launcher;shiftlotto", + Description: "This upgrade allows you to find ShiftLotto in your App Launcher." + }, + // COLOR DEPTH AND DITHERING { diff --git a/ShiftOS.WinForms/ShiftOS.WinForms.csproj b/ShiftOS.WinForms/ShiftOS.WinForms.csproj index 7f728d5..2c36f6c 100644 --- a/ShiftOS.WinForms/ShiftOS.WinForms.csproj +++ b/ShiftOS.WinForms/ShiftOS.WinForms.csproj @@ -166,6 +166,12 @@ Shifter.cs + + UserControl + + + ShiftLotto.cs + UserControl @@ -335,6 +341,9 @@ Shifter.cs + + ShiftLotto.cs + Shiftnet.cs