Initial commit

This commit is contained in:
2021-01-21 14:33:35 -06:00
commit 16c607ec96
27 changed files with 3076 additions and 0 deletions
+175
View File
@@ -0,0 +1,175 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
/* Program Name: Slot Machine Simulator
* Author: Garritt McCune
* Date: 04/21/14
* Purpose: To simulate the function of a slot machine and determent the payout based on the number of matched fruit.
*/
namespace SlotMachineSimulator
{
public partial class mainForm : Form
{
//store the total payout and total inserted money
private decimal totalAmountInserted;
private decimal totalPayout;
public mainForm()
{
InitializeComponent();
}
private void spinButton_Click(object sender, EventArgs e)
{
//create a variable to store the user's input
decimal amountInserted = 0;
//begin by validating the user's input
if (Decimal.TryParse(amountInsertedTextBox.Text, out amountInserted))
{
//create a random object
Random rand = new Random();
//get the images for the slots at random
int pictureOne = rand.Next(fruitImageList.Images.Count);
int pictureTwo = rand.Next(fruitImageList.Images.Count);
int pictureThree = rand.Next(fruitImageList.Images.Count);
decimal payout;
//add to the total amount inserted to the machine
totalAmountInserted += amountInserted;
//check to see if any of the images match
payout = CheckForMatches(pictureOne, pictureTwo, pictureThree, amountInserted);
//add up the total amount of payout
totalPayout += payout;
//set the images according to the random index generated above
slotPicture1.Image = fruitImageList.Images[pictureOne];
slotPicture2.Image = fruitImageList.Images[pictureTwo];
slotPicture3.Image = fruitImageList.Images[pictureThree];
MessageBox.Show("Your payout: " + payout.ToString("C") + ".");
amountInsertedTextBox.Focus();
amountInsertedTextBox.SelectAll();
}
else
{
//display error and reset focus to the text box
MessageBox.Show("Please enter a valid amount.", "Invalid Amount");
amountInsertedTextBox.Focus();
amountInsertedTextBox.SelectAll();
}
}
private decimal CheckForMatches(decimal slotOne, decimal slotTwo, decimal slotThree, decimal amount)
{
//set the default payout
decimal payout = 0;
//check for any matches
if (slotOne == slotTwo || slotOne == slotThree)
{
if (slotOne == slotTwo && slotOne == slotThree)
{
//if all slots match multiply the amount by three
payout = amount * 3;
}
else
{
//if only two match multiply the amount by two
payout = amount * 2;
}
}
else if (slotTwo == slotOne || slotTwo == slotThree)
{
if (slotTwo == slotOne && slotTwo == slotThree)
{
//if all slots match multiply the amount by three
payout = amount * 3;
}
else
{
//if only two match multiply the amount by two
payout = amount * 2;
}
}
else if (slotThree == slotOne || slotThree == slotTwo)
{
if (slotThree == slotOne && slotThree == slotTwo)
{
//if all slots match multiply the amount by three
payout = amount * 3;
}
else
{
//if only two match multiply the amount by two
payout = amount * 2;
}
}
else
{
//if no matches are found, then the user has won nothing
payout = 0;
}
return payout;
}
private void exitButton_Click(object sender, EventArgs e)
{
//display the total payout and total amount of money inserted
MessageBox.Show(" You inserted a total of " + totalAmountInserted.ToString("C") + ".\n With a total payout of " + totalPayout.ToString("C") + ".", "Slot Machine Stats");
//close the application
Close();
}
private void exitFileMainMenu_Click(object sender, EventArgs e)
{
//display the total payout and total amount of money inserted
MessageBox.Show(" You inserted a total of " + totalAmountInserted.ToString("C") + ".\n With a total payout of " + totalPayout.ToString("C") + ".", "Slot Machine Stats");
//close the application
Close();
}
private void resetEditMainMenu_Click(object sender, EventArgs e)
{
//start by redoing the pictures
//create a random object again
Random rand = new Random();
//get the images for the slots at random
int index = rand.Next(fruitImageList.Images.Count);
int index2 = rand.Next(fruitImageList.Images.Count);
int index3 = rand.Next(fruitImageList.Images.Count);
//set the images according to the random index generated above
slotPicture1.Image = fruitImageList.Images[index];
slotPicture2.Image = fruitImageList.Images[index2];
slotPicture3.Image = fruitImageList.Images[index3];
//display the summary
MessageBox.Show("You inserted a total of " + totalAmountInserted.ToString("C") + ".\n With a total payout of " + totalPayout.ToString("C") + ".", "Slot Machine Stats");
//reset all the counters
totalPayout = 0;
totalAmountInserted = 0;
//clear the form
amountInsertedTextBox.Text = "";
amountInsertedTextBox.Focus();
amountInsertedTextBox.SelectAll();
}
}
}