Initial Commit

Initial commit of project.
This commit is contained in:
Alex Stewart
2019-03-09 01:21:44 -08:00
parent e54e9653ed
commit 13420951b1
124 changed files with 5883 additions and 0 deletions
+146
View File
@@ -0,0 +1,146 @@
package commands;
import core.Command;
import dataStructures.*;
public class CommandBetBeans extends Command
{
public CommandBetBeans(KittyRole level, KittyRating rating) { super(level, rating); }
@Override
public String HelpText() { return "Allows you to bet your beans, set your amount after the command! Warning: House always wins!"
+ "\nSets of 3 will get 5x, 4 will get 10x, and 5 will get 1000x"; }
@Override
public void OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res)
{
String call = "";
int bet = 0;
int win = 0;
try
{
bet = Integer.parseInt(input.args);
if(bet < 50)
{
res.Call("Please bet with at least 50 beans!");
return;
}
}
catch (NumberFormatException e)
{
res.Call("That's not a valid bet!");
return;
}
if(user.GetBeans() < bet)
{
res.Call("You don't have enough beans!");
return;
}
user.ChangeBeans(-bet);
int [] slots = getSlots();
call += slotString(slots);
slots = sort(slots);
win = getWinning(slots);
res.Call(call);
if(win == 0)
{
res.Call("Sorry, you didn't win, try again!");
return;
}
user.ChangeBeans(bet*win);
res.Call("You won " + (bet*win) + " beans!");
}
private int getWinning(int [] slots)
{
int winning = 0;
int counter = 1;
for(int j = 0; j < slots.length - 1; j++)
{
if(slots[j] == slots[j+1])
counter++;
else
counter = 1;
if(counter == 3)
winning = 5;
if(counter == 4)
winning = 10;
if(counter == 5)
winning = 1000;
}
return winning;
}
private int[] getSlots()
{
int[] nums = new int[5];
for (int i = 0; i < nums.length; i++)
{
nums[i] = (int) (Math.random() * 5) + 1;
}
return nums;
}
private int [] sort(int [] nums)
{
int [] sorted = new int [nums.length];
int smallest= Integer.MAX_VALUE;
int index = 0;
for(int i = 0; i < sorted.length; i++)
{
for(int j = 0; j < nums.length; j++)
{
if(nums[j] < smallest)
{
index = j;
smallest = nums[j];
}
}
sorted[i] = smallest;
smallest = Integer.MAX_VALUE;
nums[index] = Integer.MAX_VALUE;
}
return sorted;
}
private String slotString(int [] slots)
{
String slotHearts = "";
for(int i = 0; i < slots.length; i++)
{
switch(slots[i])
{
case 1:
slotHearts += ":heart:";
break;
case 2:
slotHearts += ":yellow_heart:";
break;
case 3:
slotHearts += ":green_heart:";
break;
case 4:
slotHearts += ":blue_heart:";
break;
case 5:
slotHearts += ":purple_heart:";
break;
}
}
return slotHearts;
}
}