public StrategicRegression regress(StrategicSimulationObserver observer) { StrategicMultiAgentSystem simulation = observer.getStrategicSimulation(); MutableStrategicMultiAgentSystem reducedSimulation = new DefaultStrategicMultiAgentSystem(simulation.getName(), simulation.getDescription()); for (Player p : simulation.players()) { reducedSimulation.addPlayer(p); Set<Action> actions = new HashSet<Action>(); for (Action a : simulation.getActions(p)) { actions.add(actionConverter.get(p).get(a)); } reducedSimulation.putActions(p, actions); } BasicStatsStrategicSimulationObserver reducedObserver = new BasicStatsStrategicSimulationObserverImpl(reducedSimulation); for (Outcome outcome : Games.traversal(simulation)) { Outcome convertedOutcome = convertOutcome(outcome); for (Payoff p : observer.getObservations(outcome)) { reducedObserver.observe(convertedOutcome, p); } } return new EquivalentStrategyStrategicRegression( new SimpleStrategicRegressionFactory().regress(reducedObserver).getStrategicGame(), actionConverter); }
public static void leave(Player player) { if (player == null) return; if (!get().getPlayers().containsKey(player)) return; player.teleport(Games.getSpec()); player.getInventory().setContents(HPlayer.get(player.getName()).getInventory("splegg")); player .getInventory() .setArmorContents(HPlayer.get(player.getName()).getInventory("splegg_armour")); message(ChatColor.YELLOW + player.getName() + ChatColor.WHITE + " left the game"); }
private Outcome convertOutcome(Outcome outcome) { Player[] players = outcome.players().toArray(new Player[0]); Action[] actions = new Action[players.length]; for (int i = 0; i < players.length; i++) { actions[i] = actionConverter.get(players[i]).get(outcome.getAction(players[i])); } return Games.createOutcome(players, actions); }
public static void die(Player player) { get().getPlayers().remove(player.getName()); Utilities.skipRespawn(player); player.teleport(Games.getSpec()); message(ChatColor.YELLOW + player.getName() + ChatColor.WHITE + " died"); if (get().getPlayers().size() < 2) { for (String players : get().getPlayers().keySet()) { Player target = Bukkit.getPlayer(players); if (target == null) return; target.teleport(Games.getSpec()); Bukkit.broadcastMessage( ChatColor.BLUE + "Game - " + ChatColor.YELLOW + players + ChatColor.WHITE + " won " + ChatColor.LIGHT_PURPLE + "Splegg"); Money.addMoney(target, 2000); } } }
public static void end(StopReason reason) { if (reason == StopReason.INSUFFICIENT_PLAYERS) { for (String players : get().getPlayers().keySet()) { Player player = Bukkit.getPlayer(players); if (player != null) { player.teleport(Games.getSpec()); player.getInventory().clear(); player.getInventory().setContents(HPlayer.get(player.getName()).getInventory("splegg")); player .getInventory() .setArmorContents(HPlayer.get(player.getName()).getInventory("splegg_armour")); M.v( "Game", ChatColor.YELLOW + "Splegg " + ChatColor.WHITE + "cancelled, less than 2 players"); } } get().getPlayers().clear(); } if (reason == StopReason.GAME_FINISH) {} }
public void commandAction(Command c, Displayable d) { if (c == nazad) { games.showWin(backScr); } else if (c == OK) { int i = this.getSelectedIndex(); if (i == 1) { chassiS = 0.81; // рврв System.out.println("" + chassiS); playerScr.player.chassiS = chassiS; } else if (i == 0) { chassiS = 0.8; System.out.println("" + chassiS); playerScr.player.chassiS = chassiS; } else if (i == 2) { chassiS = 0.79; System.out.println("" + chassiS); playerScr.player.chassiS = chassiS; } } }
public static Game get() { return Games.get("splegg"); }
public static void playGame(GamesFactory factory) { Games g = factory.getGames(); g.play(); }
public void run() { BufferedReader MessageIn = null; PrintWriter MessageOut = null; System.out.println( "Client accepté à l'adresse : " + myClientSocket.getInetAddress().getHostName()); try { MessageIn = new BufferedReader(new InputStreamReader(myClientSocket.getInputStream())); MessageOut = new PrintWriter(new OutputStreamWriter(myClientSocket.getOutputStream())); while (m_bRunThread) { String Messageclient = MessageIn.readLine(); System.out.println( "Client " + myClientSocket.getInetAddress().getHostName() + " envoie :" + Messageclient); String[] Message = Messageclient.split("XIX"); /* * Préviens que le serveur est fermé. * Problème actuel * Le message n'est pas reçu par le client. */ if (!ServerOn) { System.out.println("Le serveur est fermé"); MessageOut.println("Le serveur est fermé"); MessageOut.flush(); m_bRunThread = false; } if (Messageclient.equalsIgnoreCase("quit")) // Déconnecter le client { m_bRunThread = false; System.out.println( "Déconnecte le client : " + myClientSocket.getInetAddress().getHostName()); } /* * Ferme le serveur * Problème actuel * Necessite de le faire 2 fois * (Se connecter, envoyer "end" qui déconnecte et se reconnecter pour renvoyer "end" */ else if (Messageclient.equalsIgnoreCase("end")) { m_bRunThread = false; System.out.println( "Déconnecte le client : " + myClientSocket.getInetAddress().getHostName()); ServerOn = false; } /* * Vérification de l'existence d'un joueur dans la BDD * Fournir un message du format * ConnectXIXNomjoueurXIXMdpJoueur */ else if (Message[0].equalsIgnoreCase("Connect")) // Authentification { if (Message[1] != null && Message[2] != null) { if (Test1.Authentification(Message[1], Message[2])) { System.out.println("Authentification réussite"); MessageOut.println("Vous êtes Izual, Bienvenue"); MessageOut.flush(); } else { System.out.println("Authentification échouée"); MessageOut.println( "Pas de compte existant à ce Login ou erreur dans le mot de passe"); MessageOut.flush(); } } else { System.out.println("Message Connect incomplet"); } } /* * Connexion à une autre BDD * Fournir un message du format * BddXIXNomdelaBdd */ else if (Message[0].equalsIgnoreCase("Bdd")) { if (Test1.ConnexionBdd(Message[1])) { System.out.println("Connexion à une autre BDD"); MessageOut.println("Vous vous êtes bien connecté à une Bdd"); MessageOut.flush(); } else { System.out.println("Connexion Bdd échouée"); MessageOut.println("Bdd inexistante"); MessageOut.flush(); } } /* * En phase de test * Créé une partie avec pour nom "Test8" * Fournir un message du format * StartGameXIXNomjoueur1XIXNomjoueur2 */ else if (Message[0].equalsIgnoreCase("StartGame")) { if (Test1.VerifPlayer(Message[1]) && Test1.VerifPlayer(Message[2])) { Player p1 = new Player(Message[1]); Player p2 = new Player(Message[2]); Game g1 = new Game(p1, "Test8"); Test1.Matchmaking(p1.getName(), g1.getGameName()); g1.addPlayer(p2); Test1.StartMatch(p2.getName(), g1.getGameName()); Games.add(g1); System.out.println("Partie crée"); } } /* * En phase de test * Donne le nombre de partie en cours * Ne renvoie pas les parties de la BDD * Fournir un message du format * TestGames */ else if (Message[0].equalsIgnoreCase("TestGames")) { System.out.println(Games.get(0).getGameName()); System.out.println(Games.get(0).getHost()); if (Games.isEmpty()) System.out.println("Aucune Game n'existe"); else System.out.println("Il y a " + Games.size() + " parties en ce moment"); } else { MessageOut.println("La commande : " + Messageclient + " n'est pas reconnue"); MessageOut.flush(); } } } catch (Exception e) { e.printStackTrace(); } finally { // Ferme proprement try { MessageIn.close(); MessageOut.close(); myClientSocket.close(); System.out.println("Stop"); } catch (IOException ioe) { ioe.printStackTrace(); } } }