mirror of
https://github.com/Cpt-Adok/SNAKE.git
synced 2026-01-25 13:34:07 +00:00
Ajout de channel
This commit is contained in:
@@ -1,33 +1,71 @@
|
||||
package game;
|
||||
|
||||
import connexion.Channel;
|
||||
import display.Display;
|
||||
import environnements.Map;
|
||||
import personnages.Personnage;
|
||||
|
||||
|
||||
/**
|
||||
* cette classe permet en tout de tout lancer dans le jeu,
|
||||
* un tournoi local ou un tournoi multijoueur en ligne grâce
|
||||
* au site donnée par l'université.
|
||||
*
|
||||
* <p> Pour lancer en local, vous devez juste lancer le programme
|
||||
* en faisant :
|
||||
*
|
||||
* <pre><code>
|
||||
* new Terminal(new Map(...), new Personnage[] {...}).run();
|
||||
* </code></pre>
|
||||
*
|
||||
* Pour lancer en Multijoueur, vous devez lancer en faisant :
|
||||
*
|
||||
* <pre><code>
|
||||
* new Terminal(new Map(...), new Personnage[] {...}).run("channeluser", "channeladversaire");
|
||||
* </code></pre>
|
||||
*/
|
||||
public class Terminal {
|
||||
Map map;
|
||||
Personnage[] personnages;
|
||||
|
||||
private void placePersonnages() {
|
||||
private void placePersonnages(Personnage[] personnages) {
|
||||
for(Personnage personnage : personnages) {
|
||||
map.placePersonnages(personnage);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <p> Pour lancer en local, vous devez juste lancer le programme
|
||||
* en faisant :
|
||||
*
|
||||
* <pre><code>
|
||||
* new Terminal(new Map(...), new Personnage[] {...}).run();
|
||||
* </code></pre>
|
||||
*
|
||||
* Pour lancer en Multijoueur, vous devez lancer en faisant :
|
||||
*
|
||||
* <pre><code>
|
||||
* new Terminal(new Map(...), new Personnage[] {...}).run("channeluser", "channeladversaire");
|
||||
* </code></pre>
|
||||
*/
|
||||
public Terminal(Map map, Personnage[] personnages) {
|
||||
this.personnages = personnages;
|
||||
this.map = map;
|
||||
}
|
||||
|
||||
public void run(String channel) {
|
||||
public void run(String channel, String channelAdversaire) {
|
||||
int i = 0;
|
||||
Personnage[] personnageChannel = new Personnage[] {
|
||||
personnages[0],
|
||||
new Channel(map, channel, channelAdversaire)
|
||||
};
|
||||
|
||||
while(true) {
|
||||
for(Personnage personnage : personnages) {
|
||||
for(Personnage personnage : personnageChannel) {
|
||||
Display.clearTerminal();
|
||||
|
||||
map.placeObjects();
|
||||
placePersonnages();
|
||||
placePersonnages(personnageChannel);
|
||||
|
||||
Display.printInformation(i++, personnage);
|
||||
Display.printMap(map.addEdges());
|
||||
@@ -41,4 +79,27 @@ public class Terminal {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void run() {
|
||||
int i = 0;
|
||||
|
||||
while(true) {
|
||||
for(Personnage personnage : personnages) {
|
||||
Display.clearTerminal();
|
||||
|
||||
map.placeObjects();
|
||||
placePersonnages(personnages);
|
||||
|
||||
Display.printInformation(i++, personnage);
|
||||
Display.printMap(map.addEdges());
|
||||
|
||||
if(personnage.round(map, null)) {
|
||||
Display.clearTerminal();
|
||||
System.out.println(personnage.getName() + " à perdu!");
|
||||
return;
|
||||
}
|
||||
map.clearMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user