Files
KittyBot/src/commands/CommandBetBeans.java
T

158 lines
3.0 KiB
Java

package commands;
import java.util.Random;
import core.Command;
import core.LocStrings;
import dataStructures.*;
public class CommandBetBeans extends Command
{
public CommandBetBeans(KittyRole level, KittyRating rating) { super(level, rating); }
@Override
public String getHelpText() { return LocStrings.stub("BetBeansInfo"); }
@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.send(LocStrings.stub("BetBeansLowBet"));
return;
}
}
catch (NumberFormatException e)
{
res.send(LocStrings.stub("BetBeansNotValid"));
return;
}
if(user.getBeans() < bet)
{
res.send(LocStrings.stub("BetBeansNotEnough"));
return;
}
user.changeBeans(-bet);
int [] slots = getSlots();
call += slotString(slots);
slots = sort(slots);
win = getWinning(slots);
res.send(call);
if(win == 0)
{
res.send(LocStrings.stub("BetBeansLose"));
guild.beans.add(bet);
return;
}
user.changeBeans(bet*win);
guild.beans.subtract(bet*win);
res.send(String.format(LocStrings.stub("BetBeansWin"), "" + (bet*win)));
}
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 = 2;
if(counter == 4)
winning = 10;
if(counter == 5)
winning = 1000;
}
return winning;
}
private int[] getSlots()
{
Random gen = new Random();
int[] nums = new int[5];
for (int i = 0; i < nums.length; i++)
{
nums[i] = Math.abs(gen.nextInt() % 7) + 1;
System.out.println(nums [i]);
}
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;
case 6:
slotHearts += ":black_heart:";
break;
case 7:
slotHearts += ":broken_heart:";
break;
}
}
return slotHearts;
}
}