zwichencommit
This commit is contained in:
@ -10,23 +10,27 @@ import org.json.JSONObject;
|
|||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
|
import java.security.SecureRandom;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
import java.util.concurrent.ThreadLocalRandom;
|
||||||
|
|
||||||
public class dice extends ListenerAdapter {
|
public class dice extends ListenerAdapter {
|
||||||
|
|
||||||
private String prefixSr;
|
private String prefixSr;
|
||||||
private String prefixZitat;
|
private String prefixZitat;
|
||||||
|
private String prefixTest;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public dice() {
|
public dice() {
|
||||||
this.prefixSr = "!sr";
|
this.prefixSr = "!sr";
|
||||||
|
this.prefixTest = "!rollTest";
|
||||||
this.prefixZitat = "!zitat";
|
this.prefixZitat = "!zitat";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageReceived(MessageReceivedEvent event) {
|
public void onMessageReceived(MessageReceivedEvent event) {
|
||||||
if ((!event.getMessage().getContentRaw().startsWith(this.prefixSr) && !event.getMessage().getContentRaw().startsWith(this.prefixZitat)) || event.getChannelType() != ChannelType.TEXT) {
|
if ((!event.getMessage().getContentRaw().startsWith(this.prefixSr) && !event.getMessage().getContentRaw().startsWith(this.prefixZitat) && !event.getMessage().getContentRaw().startsWith(this.prefixTest)) || event.getChannelType() != ChannelType.TEXT) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,13 +38,78 @@ public class dice extends ListenerAdapter {
|
|||||||
if (!author.isBot()) {
|
if (!author.isBot()) {
|
||||||
if (event.getMessage().getContentRaw().startsWith(this.prefixSr))
|
if (event.getMessage().getContentRaw().startsWith(this.prefixSr))
|
||||||
this.roll(event);
|
this.roll(event);
|
||||||
|
if (event.getMessage().getContentRaw().startsWith(this.prefixTest))
|
||||||
|
this.rollTest(event);
|
||||||
if (event.getMessage().getContentRaw().startsWith(this.prefixZitat))
|
if (event.getMessage().getContentRaw().startsWith(this.prefixZitat))
|
||||||
this.zitat(event);
|
this.zitat(event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holt Kontostand ab
|
* rolltest
|
||||||
|
*
|
||||||
|
* @param event JDA Event
|
||||||
|
*/
|
||||||
|
private void rollTest(MessageReceivedEvent event) {
|
||||||
|
|
||||||
|
EmbedBuilder test = new EmbedBuilder();
|
||||||
|
test.setTitle("Das ist ein Test");
|
||||||
|
test.setColor(Color.red);
|
||||||
|
test.setDescription("Text " + event.getMember().getAsMention());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int[] verteilung = new int[6];
|
||||||
|
int[] verteilung2 = new int[6];
|
||||||
|
int[] verteilung3 = new int[6];
|
||||||
|
int dice1, dice2, dice3;
|
||||||
|
|
||||||
|
try {
|
||||||
|
String[] MsgParts_exl_Mention = event.getMessage().getContentRaw().split(" ");
|
||||||
|
int rounds = Integer.parseInt(MsgParts_exl_Mention[1]);
|
||||||
|
if(rounds <= 0) {
|
||||||
|
event.getChannel().sendMessage("Nope").queue();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for(int i = 0; i < rounds; i++) {
|
||||||
|
dice1 = new Random().nextInt(6);
|
||||||
|
dice2 = new SecureRandom().nextInt(6);
|
||||||
|
//dice3 = new ThreadLocalRandom().current().nextInt(6);
|
||||||
|
dice3 = ThreadLocalRandom.current().nextInt(0, 6);
|
||||||
|
verteilung[dice1]++;
|
||||||
|
verteilung2[dice2]++;
|
||||||
|
verteilung3[dice3]++;
|
||||||
|
}
|
||||||
|
for(int i = 0; i < 6; i++) {
|
||||||
|
float pro = verteilung[i]*100f/rounds;
|
||||||
|
test.addField(Integer.toString(i+1), Integer.toString(verteilung[i]) + " - " + String.format("%.2f", pro) + "%", true);
|
||||||
|
}
|
||||||
|
test.addBlankField(false);
|
||||||
|
for(int i = 0; i < 6; i++) {
|
||||||
|
float pro = verteilung2[i]*100f/rounds;
|
||||||
|
test.addField(Integer.toString(i+1), Integer.toString(verteilung2[i]) + " - " + String.format("%.2f", pro) + "%", true);
|
||||||
|
}
|
||||||
|
test.addBlankField(false);
|
||||||
|
for(int i = 0; i < 6; i++) {
|
||||||
|
float pro = verteilung3[i]*100f/rounds;
|
||||||
|
test.addField(Integer.toString(i+1), Integer.toString(verteilung3[i]) + " - " + String.format("%.2f", pro) + "%", true);
|
||||||
|
}
|
||||||
|
event.getChannel().sendMessage(test.build()).queue();
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (NumberFormatException e) {
|
||||||
|
event.getChannel().sendMessage("Nope").queue();
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
System.out.println("problem: " + e.getMessage());
|
||||||
|
} finally {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* rolltest
|
||||||
*
|
*
|
||||||
* @param event JDA Event
|
* @param event JDA Event
|
||||||
*/
|
*/
|
||||||
@ -53,25 +122,101 @@ public class dice extends ListenerAdapter {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int[] verteilung = new int[6];
|
int[] verteilung = new int[6];
|
||||||
int dice1;
|
int dice1;
|
||||||
|
int numberOdDice = 1;
|
||||||
|
int diceart = 6;
|
||||||
|
StringBuilder result = new StringBuilder("");
|
||||||
|
|
||||||
|
int hits = 0;
|
||||||
|
boolean glitches = false;
|
||||||
|
boolean critGlitches = false;
|
||||||
|
|
||||||
|
boolean edge = false;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String[] MsgParts_exl_Mention = event.getMessage().getContentRaw().split(" ");
|
if(event.getMessage().getContentRaw().startsWith(this.prefixSr+"+")) {
|
||||||
int rounds = Integer.parseInt(MsgParts_exl_Mention[1]);
|
edge = true;
|
||||||
if(rounds <= 0) {
|
}
|
||||||
event.getChannel().sendMessage("Nope").queue();
|
String[] MsgParts = event.getMessage().getContentRaw().split(" ", 2);
|
||||||
|
if(MsgParts.length < 2) {
|
||||||
|
event.getChannel().sendMessage(event.getMember().getAsMention() + " der " + this.prefixSr + " befehl benötigt einen Wert").queue();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for(int i = 0; i < rounds; i++) {
|
|
||||||
dice1 = new Random().nextInt(6);
|
if(MsgParts[1].trim().matches(".*[^0-9].*")) { // es wurden andere zeichen als Zahlen gefunden
|
||||||
|
if(MsgParts[1].trim().toLowerCase().replace(" ", "").matches("([0-9]*)[dw]([0-9].*)")) { // format besteh aus (Zahlen)d(Zahlen) oder (Zahlen)w(Zahlen)
|
||||||
|
String[] diceInterpreter = MsgParts[1].trim().toLowerCase().replace(" ", "").split("[wd]");
|
||||||
|
try {
|
||||||
|
diceart = Integer.parseInt(diceInterpreter[1]);
|
||||||
|
numberOdDice = Integer.parseInt(diceInterpreter[0]);
|
||||||
|
}
|
||||||
|
catch (NumberFormatException e) {
|
||||||
|
event.getChannel().sendMessage(event.getMember().getAsMention() + " Irgent was dummes ist passiert beim Verstehen von " + MsgParts[1].trim().toLowerCase()).queue();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
try {
|
||||||
|
numberOdDice = Integer.parseInt(MsgParts[1].trim().replace(" ", ""));
|
||||||
|
}
|
||||||
|
catch (NumberFormatException e) {
|
||||||
|
event.getChannel().sendMessage(event.getMember().getAsMention() + " Irgent was dummes ist passiert beim Verstehen von " + MsgParts[1].trim()).queue();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
if(MsgParts[1].trim().toLowerCase().replace(" ", "").matches("^([0-9]*\\+)?[0-9]*([dw][0-9]*)?(\\+[0-9]*)?")) { // format besteh aus (Zahlen)+(Zahlen)d(Zahlen) oder (Zahlen)d(Zahlen)+(Zahlen)
|
||||||
|
String[] diceInterpreter = MsgParts[1].trim().toLowerCase().replace(" ", "").split("\\+");
|
||||||
|
try {
|
||||||
|
diceart = Integer.parseInt(diceInterpreter[1]);
|
||||||
|
numberOdDice = Integer.parseInt(diceInterpreter[0]);
|
||||||
|
}
|
||||||
|
catch (NumberFormatException e) {
|
||||||
|
event.getChannel().sendMessage(event.getMember().getAsMention() + " Irgent was dummes ist passiert beim Verstehen von " + MsgParts[1].trim().toLowerCase()).queue();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(numberOdDice <= 0) {
|
||||||
|
event.getChannel().sendMessage(event.getMember().getAsMention() + " es darf kein Negativen Wurf geben").queue();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int bonusEdegeDice = 0;
|
||||||
|
for(int i = 0; i < numberOdDice+bonusEdegeDice; i++) {
|
||||||
|
dice1 = new Random().nextInt(diceart);
|
||||||
|
if(edge && dice1 == 5)
|
||||||
|
bonusEdegeDice++;
|
||||||
|
if(edge && dice1 >= 4) {
|
||||||
|
hits++;
|
||||||
|
}
|
||||||
verteilung[dice1]++;
|
verteilung[dice1]++;
|
||||||
|
result.append(dice1);
|
||||||
|
result.append(" ");
|
||||||
}
|
}
|
||||||
for(int i = 0; i < 6; i++) {
|
if (verteilung[0] >= (numberOdDice+bonusEdegeDice)/2) {
|
||||||
float pro = verteilung[i]*100f/rounds;
|
glitches = true;
|
||||||
test.addField(Integer.toString(i+1), Integer.toString(verteilung[i]) + " - " + String.format("%.2f", pro), true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(hits == 0) {
|
||||||
|
test.setColor(Color.red);
|
||||||
|
}
|
||||||
|
else if(glitches == true) {
|
||||||
|
test.setColor(Color.yellow);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
test.setColor(Color.green);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < diceart; i++) {
|
||||||
|
float pro = verteilung[i]*100f/numberOdDice;
|
||||||
|
test.addField(Integer.toString(i+1), Integer.toString(verteilung[i]) + " - " + String.format("%.2f", pro) + "%", true);
|
||||||
|
}
|
||||||
|
|
||||||
event.getChannel().sendMessage(test.build()).queue();
|
event.getChannel().sendMessage(test.build()).queue();
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -98,10 +243,10 @@ public class dice extends ListenerAdapter {
|
|||||||
quotes[3] = "zzzZZZZZzzZZ";
|
quotes[3] = "zzzZZZZZzzZZ";
|
||||||
quotes[4] = "piiiep";
|
quotes[4] = "piiiep";
|
||||||
quotes[5] = "grrrrr";
|
quotes[5] = "grrrrr";
|
||||||
quotes[6] = "ʕᵔᴥᵔʔ =*Auto translator*=> In meiner psychophysischen Konstituton manifestiert sich eine absolute Dominanz positiver Effekte für die Individualität Deiner Person. ";
|
//quotes[6] = "ʕᵔᴥᵔʔ =*Auto translator*=> In meiner psychophysischen Konstituton manifestiert sich eine absolute Dominanz positiver Effekte für die Individualität Deiner Person. ";
|
||||||
|
|
||||||
int dice = new Random().nextInt(700);
|
int dice = new Random().nextInt(600);
|
||||||
event.getChannel().sendMessage(quotes[dice%7]).queue();
|
event.getChannel().sendMessage(quotes[dice%6]).queue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user