From 4df5fddc5c071452036597b9d17283f8cd129ea5 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 6 May 2021 01:44:39 +0000 Subject: [PATCH 1/3] finish something I was forgetting about. Almost done! --- .../discord_bot_example/Bot.java | 11 +- .../jointheleague/modules/CompareBrand.java | 102 ++++++++++++++++++ .../org/jointheleague/modules/MazeGame.java | 2 +- 3 files changed, 111 insertions(+), 4 deletions(-) create mode 100644 src/main/java/org/jointheleague/modules/CompareBrand.java diff --git a/src/main/java/org/jointheleague/discord_bot_example/Bot.java b/src/main/java/org/jointheleague/discord_bot_example/Bot.java index 06e330bf..41410acf 100644 --- a/src/main/java/org/jointheleague/discord_bot_example/Bot.java +++ b/src/main/java/org/jointheleague/discord_bot_example/Bot.java @@ -47,9 +47,9 @@ public void connect(boolean printInvite) { api.addMessageCreateListener(dl); helpListener.addHelpEmbed(dl.getHelpEmbed()); - CurrencyConverter cc = new CurrencyConverter(channelName); - api.addMessageCreateListener(cc); - helpListener.addHelpEmbed(cc.getHelpEmbed()); +// CurrencyConverter cc = new CurrencyConverter(channelName); +// api.addMessageCreateListener(cc); +// helpListener.addHelpEmbed(cc.getHelpEmbed()); ToDoList list = new ToDoList(channelName); api.addMessageCreateListener(list); @@ -143,10 +143,15 @@ public void connect(boolean printInvite) { UnbeatableRockPaperScissors rps = new UnbeatableRockPaperScissors(channelName); api.addMessageCreateListener(rps); helpListener.addHelpEmbed(rps.getHelpEmbed()); + Depression depress = new Depression(channelName); api.addMessageCreateListener(depress); helpListener.addHelpEmbed(depress.getHelpEmbed()); + CompareBrand cb = new CompareBrand(channelName); + api.addMessageCreateListener(cb); + helpListener.addHelpEmbed(cb.getHelpEmbed()); + //old way to add listeners api.addMessageCreateListener(helpListener); diff --git a/src/main/java/org/jointheleague/modules/CompareBrand.java b/src/main/java/org/jointheleague/modules/CompareBrand.java new file mode 100644 index 00000000..02f496ad --- /dev/null +++ b/src/main/java/org/jointheleague/modules/CompareBrand.java @@ -0,0 +1,102 @@ +package org.jointheleague.modules; + +import org.javacord.api.event.message.MessageCreateEvent; +import org.jointheleague.modules.pojo.HelpEmbed; + +import net.aksingh.owmjapis.api.APIException; + +public class CompareBrand extends CustomMessageCreateListener { + Car[] cars = {new Car("Acura ILX", 5, 201, 26100), new Car("Acura MDX", 7, 2090, 46900), new Car("Acura TLX", 5, 272, 37500), new Car("Acura RDX", 5, 272, 38400), + new Car("Alfa Romeo Stelvio", 5, 280, 42350), new Car("Alfa Romeo Giulia", 5, 280, 42350), + new Car("Audi Q3", 5, 228, 34000), new Car("Audi Q5", 5, 362, 43300), new Car("Audi Q7", 7, 335, 54950), new Car("Audi Q8", 5, 335, 68200), new Car("Audi E-Tron", 5, 402, 65900), new Car("Audi A3", 5, 184, 33300), new Car("Audi A4", 5, 261, 39100), new Car("Audi A5", 5, 261, 44000), new Car("Audi A6", 5, 335, 54900), new Car("Audi A7", 5, 335, 69200), new Car("Audi A8", 5, 453, 86500), + new Car("BMW X1", 5, 228, 35400), new Car("BMW X2", 5, 228, 36600), new Car("BMW X3", 5, 248, 43000), new Car("BMW X4", 5, 245, 51600), new Car("BMW X5", 5, 335, 59400), new Car("BMW X6", 5, 335, 65050), new Car("BMW X7", 5, 335, 74900), new Car("BMW 2", 5, 228, 35900) + }; + String possibilities = ""; + private static final String COMMAND = "/compare"; + public CompareBrand(String channelName) { + super(channelName); + helpEmbed = new HelpEmbed(COMMAND, + "Type /compare and followed by budget/seats/horsepower followed by a parameter. you can do all 3 at once. Ex: /compare horsepower 2 seats 1 budget 200000"); + } + + @Override + public void handle(MessageCreateEvent event) throws APIException { + // TODO Auto-generated method stub + String[] str = event.getMessageContent().split(" "); + int budget = 0; + boolean hasBudget = false; + int seats = 0; + boolean hasSeats = false; + int horsepower = 0; + boolean hasHorsies = false; + if (str[0].equals(COMMAND)) { + for (int i = 0; i < str.length; i++) { + if (str[i].contains("budget")) { + budget = Integer.parseInt(str[i + 1]); + hasBudget = true; + } else if (str[i].contains("seats")) { + seats = Integer.parseInt(str[i + 1]); + hasSeats = true; + } else if (str[i].contains("horsepower")) { + horsepower = Integer.parseInt(str[i + 1]); + hasHorsies = true; + } + } + } + boolean hpMet = false; + boolean budgetMet = false; + boolean seatsMet = false; + for (int i = 0; i < cars.length; i++) { + if (hasBudget) { + budgetMet = cars[i].checkPrice(budget); + } + if (hasHorsies) { + hpMet = cars[i].checkHp(horsepower); + } + if (hasSeats) { + seatsMet = cars[i].checkSeats(seats); + } + + if ((budgetMet || !hasBudget) && (hpMet || !hasHorsies) && (seatsMet || !hasSeats)) { + event.getChannel().sendMessage(cars[i] + " contends"); + } + } + + } +} +// TODO: Find 2021 car brand models and write down a few's seats, and +// horsepower, cost and put into a text file + +class Car { + int seats = 0; + int hp = 0; + int price = 0; + String name = ""; + Car(String name, int seats, int horsePower, int price) { + this.seats = seats; + hp = horsePower; + this.price = price; + this.name = name; + } + + public boolean checkHp(int hpLimit) { + if (hp <= hpLimit) { + return true; + } + return false; + } + + public boolean checkSeats(int seatLimit) { + if (seats <= seatLimit) { + return true; + } + return false; + } + + public boolean checkPrice(int priceLimit) { + if (price <= priceLimit) { + return true; + } + return false; + } +} \ No newline at end of file diff --git a/src/main/java/org/jointheleague/modules/MazeGame.java b/src/main/java/org/jointheleague/modules/MazeGame.java index 76e1f77c..f4578587 100644 --- a/src/main/java/org/jointheleague/modules/MazeGame.java +++ b/src/main/java/org/jointheleague/modules/MazeGame.java @@ -30,7 +30,7 @@ public void handle(MessageCreateEvent event) throws APIException { System.out.println("Heard message: " + event.getMessageContent()); if (event.getMessageContent().contains(COMMAND) && !event.getMessageAuthor().isBotUser()) { if (event.getMessageContent().contains("start") || event.getMessageContent().contains("load")) { - String target = event.getMessageContent().substring(11).strip(); + String target = event.getMessageContent().substring(11).trim(); try { if(!target.equalsIgnoreCase("upload")) { From 93484fff8670d52a402e25ea98ec318efe467957 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 13 May 2021 00:38:09 +0000 Subject: [PATCH 2/3] finished Compare Brand. --- .../jointheleague/modules/CompareBrand.java | 55 +++++++++++++------ 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/jointheleague/modules/CompareBrand.java b/src/main/java/org/jointheleague/modules/CompareBrand.java index 02f496ad..2dcf509e 100644 --- a/src/main/java/org/jointheleague/modules/CompareBrand.java +++ b/src/main/java/org/jointheleague/modules/CompareBrand.java @@ -6,13 +6,25 @@ import net.aksingh.owmjapis.api.APIException; public class CompareBrand extends CustomMessageCreateListener { - Car[] cars = {new Car("Acura ILX", 5, 201, 26100), new Car("Acura MDX", 7, 2090, 46900), new Car("Acura TLX", 5, 272, 37500), new Car("Acura RDX", 5, 272, 38400), - new Car("Alfa Romeo Stelvio", 5, 280, 42350), new Car("Alfa Romeo Giulia", 5, 280, 42350), - new Car("Audi Q3", 5, 228, 34000), new Car("Audi Q5", 5, 362, 43300), new Car("Audi Q7", 7, 335, 54950), new Car("Audi Q8", 5, 335, 68200), new Car("Audi E-Tron", 5, 402, 65900), new Car("Audi A3", 5, 184, 33300), new Car("Audi A4", 5, 261, 39100), new Car("Audi A5", 5, 261, 44000), new Car("Audi A6", 5, 335, 54900), new Car("Audi A7", 5, 335, 69200), new Car("Audi A8", 5, 453, 86500), - new Car("BMW X1", 5, 228, 35400), new Car("BMW X2", 5, 228, 36600), new Car("BMW X3", 5, 248, 43000), new Car("BMW X4", 5, 245, 51600), new Car("BMW X5", 5, 335, 59400), new Car("BMW X6", 5, 335, 65050), new Car("BMW X7", 5, 335, 74900), new Car("BMW 2", 5, 228, 35900) - }; + Car[] cars = { new Car("Acura ILX", 5, 201, 26100), new Car("Acura MDX", 7, 2090, 46900), + new Car("Acura TLX", 5, 272, 37500), new Car("Acura RDX", 5, 272, 38400), + new Car("Alfa Romeo Stelvio", 5, 280, 42350), new Car("Alfa Romeo Giulia", 5, 280, 42350), + new Car("Audi Q3", 5, 228, 34000), new Car("Audi Q5", 5, 362, 43300), new Car("Audi Q7", 7, 335, 54950), + new Car("Audi Q8", 5, 335, 68200), new Car("Audi E-Tron", 5, 402, 65900), new Car("Audi A3", 5, 184, 33300), + new Car("Audi A4", 5, 261, 39100), new Car("Audi A5", 5, 261, 44000), new Car("Audi A6", 5, 335, 54900), + new Car("Audi A7", 5, 335, 69200), new Car("Audi A8", 5, 453, 86500), new Car("BMW X1", 5, 228, 35400), + new Car("BMW X2", 5, 228, 36600), new Car("BMW X3", 5, 248, 43000), new Car("BMW X4", 5, 245, 51600), + new Car("BMW X5", 5, 335, 59400), new Car("BMW X6", 5, 335, 65050), new Car("BMW X7", 5, 335, 74900), + new Car("BMW 2", 5, 228, 35900) }; String possibilities = ""; private static final String COMMAND = "/compare"; + int budget = 0; + boolean hasBudget = false; + int seats = 0; + boolean hasSeats = false; + int horsepower = 0; + boolean hasHorsies = false; + public CompareBrand(String channelName) { super(channelName); helpEmbed = new HelpEmbed(COMMAND, @@ -23,12 +35,12 @@ public CompareBrand(String channelName) { public void handle(MessageCreateEvent event) throws APIException { // TODO Auto-generated method stub String[] str = event.getMessageContent().split(" "); - int budget = 0; - boolean hasBudget = false; - int seats = 0; - boolean hasSeats = false; - int horsepower = 0; - boolean hasHorsies = false; + budget = 0; + hasBudget = false; + seats = 0; + hasSeats = false; + horsepower = 0; + hasHorsies = false; if (str[0].equals(COMMAND)) { for (int i = 0; i < str.length; i++) { if (str[i].contains("budget")) { @@ -42,10 +54,17 @@ public void handle(MessageCreateEvent event) throws APIException { hasHorsies = true; } } + + event.getChannel().sendMessage(printCar()); } + + } + + public String printCar() { boolean hpMet = false; boolean budgetMet = false; boolean seatsMet = false; + String matches = ""; for (int i = 0; i < cars.length; i++) { if (hasBudget) { budgetMet = cars[i].checkPrice(budget); @@ -56,12 +75,11 @@ public void handle(MessageCreateEvent event) throws APIException { if (hasSeats) { seatsMet = cars[i].checkSeats(seats); } - - if ((budgetMet || !hasBudget) && (hpMet || !hasHorsies) && (seatsMet || !hasSeats)) { - event.getChannel().sendMessage(cars[i] + " contends"); - } + if ((budgetMet || !hasBudget) && (hpMet || !hasHorsies) && (seatsMet || !hasSeats)) { + matches += cars[i].toString() + "\n"; + } } - + return matches; } } // TODO: Find 2021 car brand models and write down a few's seats, and @@ -72,6 +90,7 @@ class Car { int hp = 0; int price = 0; String name = ""; + Car(String name, int seats, int horsePower, int price) { this.seats = seats; hp = horsePower; @@ -99,4 +118,8 @@ public boolean checkPrice(int priceLimit) { } return false; } + + public String toString() { + return name; + } } \ No newline at end of file From 9206a894feba5b36e90152f204f952371384bf95 Mon Sep 17 00:00:00 2001 From: Samson Date: Wed, 16 Jun 2021 18:12:16 -0700 Subject: [PATCH 3/3] fixed needed changes --- .../jointheleague/modules/CompareBrand.java | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/jointheleague/modules/CompareBrand.java b/src/main/java/org/jointheleague/modules/CompareBrand.java index 2dcf509e..48c3fceb 100644 --- a/src/main/java/org/jointheleague/modules/CompareBrand.java +++ b/src/main/java/org/jointheleague/modules/CompareBrand.java @@ -24,6 +24,7 @@ public class CompareBrand extends CustomMessageCreateListener { boolean hasSeats = false; int horsepower = 0; boolean hasHorsies = false; + boolean matchess = false; public CompareBrand(String channelName) { super(channelName); @@ -42,22 +43,38 @@ public void handle(MessageCreateEvent event) throws APIException { horsepower = 0; hasHorsies = false; if (str[0].equals(COMMAND)) { + if(event.getMessageContent().contains("help") && str.length == 2) { + event.getChannel().sendMessage("Type /compare and followed by budget/seats/horsepower followed by a parameter. you can do all 3 at once. Ex: /compare horsepower 2 seats 1 budget 200000"); + } for (int i = 0; i < str.length; i++) { - if (str[i].contains("budget")) { - budget = Integer.parseInt(str[i + 1]); - hasBudget = true; - } else if (str[i].contains("seats")) { + if (str[i].contains("budget") && str.length > 2 && !event.getMessageContent().contains("help")) { + try { + budget = Integer.parseInt(str[i + 1]); + hasBudget = true; + } catch(Exception bad) { + event.getChannel().sendMessage("The budget should only include numbers!"); + } + } else if (str[i].contains("seats") && str.length > 2 && !event.getMessageContent().contains("help")) { + try { seats = Integer.parseInt(str[i + 1]); hasSeats = true; - } else if (str[i].contains("horsepower")) { + } catch(Exception no) { + event.getChannel().sendMessage("seats aren't letters! They are numerical!"); + } + } else if (str[i].contains("horsepower") && str.length > 2 && !event.getMessageContent().contains("help")) { + try { horsepower = Integer.parseInt(str[i + 1]); hasHorsies = true; + } catch(Exception e) { + event.getChannel().sendMessage("horsepower should only be explained in numbers >:("); + } } } - event.getChannel().sendMessage(printCar()); + if(matchess == false) { + event.getChannel().sendMessage("your search results didn't pull anything up. Horse power should be no less than 350, seats no less than 6, and budget no less than around 34000"); + } } - } public String printCar() { @@ -79,6 +96,11 @@ public String printCar() { matches += cars[i].toString() + "\n"; } } + if(!matches.isEmpty()) { + matchess = true; + } else { + matchess = false; + } return matches; } }