Advertisement
DevilLord

Untitled

Jul 25th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.86 KB | None | 0 0
  1. package org.redeagle.eaglebot.quizgame;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import net.dv8tion.jda.core.entities.Member;
  6. import net.dv8tion.jda.core.entities.TextChannel;
  7. import net.dv8tion.jda.core.entities.User;
  8. import net.dv8tion.jda.core.events.message.guild.GuildMessageReceivedEvent;
  9. import net.dv8tion.jda.core.hooks.ListenerAdapter;
  10. import net.dv8tion.jda.core.managers.GuildController;
  11.  
  12. public class QuizGameMain extends ListenerAdapter {
  13.     public static boolean START = false;
  14.     public static boolean CREATED = false;
  15.     public int curPlayer = 0;
  16.    
  17.     public ArrayList<String> playerList = new ArrayList();
  18.     public ArrayList<String> playerNames = new ArrayList();
  19.    
  20.     public String currentQuestion = "";
  21.    
  22.     public void onGuildMessageReceived(GuildMessageReceivedEvent event) {
  23.         String message = event.getMessage().getContentDisplay();
  24.         GuildController controller = event.getChannel().getGuild().getController();
  25.         TextChannel channel = event.getChannel();
  26.         Member sender = event.getMember();
  27.         User user = event.getAuthor();
  28.        
  29.         if(message.startsWith("!!qm")) {
  30.             String commands = message.split(" ")[0].substring(4);
  31.             switch(commands) {
  32.                 case "start":
  33.                     if(!CREATED) channel.sendMessage("Game tidak dibuat, **!!qm create**").complete();
  34.                     else if(message.length() <= 10) channel.sendMessage("!!qm start <jumlah quiz>").complete();
  35.                     else if(START) channel.sendMessage("Game lain sedang berlangsung.").complete();
  36.                     else if(curPlayer <= 2) channel.sendMessage("Kekurangan player !! Minimal 3 player\n**Current Player: ** " + curPlayer).complete();
  37.                     else if(Integer.parseInt(message.split(" ")[2]) > 15) channel.sendMessage("Maksimal 15 game").complete();
  38.                     else {
  39.                         channel.sendMessage("Game Start!").complete();
  40.                         START = true;
  41.                     }
  42.                     break;
  43.                 case "create":
  44.                     if(!CREATED && !START) {
  45.                         channel.sendMessage("Game Created").complete();
  46.                         CREATED = true;
  47.                     } else {
  48.                         channel.sendMessage("Game lain sedang berlangsung.");
  49.                     }
  50.                     break;
  51.                 case "join":
  52.                     if(CREATED) {
  53.                         boolean canJoin = true;
  54.                         loop:
  55.                         for(int i = 0; i < playerList.size();i++) {
  56.                             if(playerList.get(i).equals(user.getId())) {
  57.                                 canJoin = false;
  58.                                 break loop;
  59.                             }
  60.                         }
  61.                         if(canJoin) {
  62.                             channel.sendMessage("Joined to game!").complete();
  63.                             playerList.add(user.getId());
  64.                             playerNames.add(sender.getNickname());
  65.                         } else channel.sendMessage("Kamu telah bergabung dengan game!").complete();
  66.                     }
  67.                     else if(START) channel.sendMessage("Game lain sedang berlangsung.");
  68.                     else channel.sendMessage("Game tidak dibuat, **!!qm create**").complete();
  69.                     break;
  70.                 case "currentplayer":
  71.                     String msgToSend = "";
  72.                     for(String X : playerNames)
  73.                         msgToSend += X + ", ";
  74.                     channel.sendMessage(msgToSend.substring(0, msgToSend.length()-2)).complete();
  75.                     break;
  76.                 case "cp":
  77.                     String msgToSend2 = "";
  78.                     for(String X : playerNames)
  79.                         msgToSend2 += X + ", ";
  80.                     channel.sendMessage("Current Player : **" + curPlayer +"**\n" + msgToSend2.substring(0, msgToSend2.length()-2)).complete();
  81.                     break;
  82.                 case "question":
  83.                     channel.sendMessage(currentQuestion).complete();
  84.                     break;
  85.                 /*
  86.                  * TODO Game Mode
  87.                  * Mode Minus
  88.                  * Mode Time
  89.                  * Mode Bet
  90.                  * */
  91.                 case "gamemode":
  92.                     channel.sendMessage("Fitur belum diimplementasikan").complete();
  93.                     break;
  94.                 case "help":
  95.                     channel.sendMessage(
  96.                             "**!!qm create** - Buat game\n"+
  97.                             "**!!qm start** - Mulai game\n"+
  98.                             "**!!qm join** - Bergabung dengan game"+
  99.                             "**!!qm currentPlayer / cp** - Menampilkan player yang bergabung permainan"+
  100.                             "**!!qm question** - Menampilkan pertanyaan sekarang"
  101.                     ).complete();
  102.                     break;
  103.                 default:
  104.                     channel.sendMessage("**!!qm help**").complete();
  105.                     break;
  106.             }
  107.         }
  108.     }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement