forked from IF-LK-2020/wordle
75 lines
1.8 KiB
Java
75 lines
1.8 KiB
Java
import java.util.HashMap;
|
|
|
|
/**
|
|
* Server für das WORDLE Spiel.
|
|
*/
|
|
public class WordleServer extends Server {
|
|
|
|
public static final int DEFAULT_PORT = 1000;
|
|
|
|
public static void main( String[] args ) {
|
|
new WordleServer();
|
|
}
|
|
|
|
|
|
private DatabaseConnector db;
|
|
|
|
private HashMap<String,User>users;
|
|
private Query query;
|
|
|
|
|
|
public WordleServer() {
|
|
this(DEFAULT_PORT);
|
|
}
|
|
|
|
public WordleServer( int pPort ) {
|
|
super(pPort);
|
|
query = new Query();
|
|
db = new DatabaseConnector("", 0, "wordle.db", "", "");
|
|
users = new HashMap<>();
|
|
}
|
|
|
|
@Override
|
|
public void processNewConnection( String pClientIP, int pClientPort ) {
|
|
String connectionID= pClientIP +":"+ Integer.toString(pClientPort);
|
|
User u = new User(connectionID);
|
|
users.put(connectionID,u);
|
|
send(pClientIP,pClientPort,"+OK Verbindung zum Wordle Server erfolgreich aufgebaut");
|
|
u.setState(1);
|
|
|
|
}
|
|
|
|
@Override
|
|
public void processClosingConnection( String pClientIP, int pClientPort ) {
|
|
|
|
|
|
}
|
|
|
|
@Override
|
|
public void processMessage( String pClientIP, int pClientPort, String pMessage ) {
|
|
String conectionID = pClientIP + ":" + Integer.toString(pClientPort);
|
|
User u = users.get(conectionID);
|
|
|
|
if(pMessage.equals("QUIT")) {
|
|
send(pClientIP, pClientPort, "+OK Bye");
|
|
close();
|
|
} else {
|
|
send(pClientIP,pClientPort,"-ERR Command not valid in this state");
|
|
}
|
|
switch(u.getState()){
|
|
case 1:
|
|
//Anmeldephase
|
|
break;
|
|
case 2:
|
|
//Spielphase
|
|
break;
|
|
case 3:
|
|
//Zwischenphase(Angemeldet)
|
|
break;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
}
|