Skip to content
Snippets Groups Projects
Commit 65012f39 authored by Leonard's avatar Leonard
Browse files

planet name generator

parent 265cf82e
No related branches found
No related tags found
No related merge requests found
...@@ -8,7 +8,7 @@ import lombok.Setter; ...@@ -8,7 +8,7 @@ import lombok.Setter;
import java.io.*; import java.io.*;
import java.net.Socket; import java.net.Socket;
import java.util.UUID; import java.util.*;
public class ClientHandler implements Runnable { public class ClientHandler implements Runnable {
...@@ -59,7 +59,9 @@ public class ClientHandler implements Runnable { ...@@ -59,7 +59,9 @@ public class ClientHandler implements Runnable {
@Setter @Setter
private boolean gameActive = true; private boolean gameActive = true;
/** Map seed */ /**
* Map seed
*/
private int seed; private int seed;
/** /**
...@@ -67,6 +69,23 @@ public class ClientHandler implements Runnable { ...@@ -67,6 +69,23 @@ public class ClientHandler implements Runnable {
*/ */
private User user; private User user;
/**
* Planet name array
*/
private String[] names = {"MERCURY", "VENUS", "EARTH", "MARS", "JUPITER", "SATURN", "URANUS", "NEPTUN", "PLUTO", "AUGUSTUS",
"SIRIUS", "HOMESTREAD", "ALPHA CENTAURI", "GLIESE", "404 NOT FOUND", "KEPLER", "TOI", "USCO1621b","OGLE","WASP","WENDELSTEIN"
,"EPIC","ARION","DIMIDIUM","GALILEO","DAGON","SMETRIOS","THESTIAS","SAMH","SAFFAR","ARBER","MADRIU","AWASIS","DITSO"};
/**
* Planet name list
*/
private List<String> planetNames;
/**
* Used planet names list
*/
private List<String> usedPlanetNames = new ArrayList<>();
/** /**
* Constructor * Constructor
* *
...@@ -94,6 +113,7 @@ public class ClientHandler implements Runnable { ...@@ -94,6 +113,7 @@ public class ClientHandler implements Runnable {
@Override @Override
public void run() { public void run() {
System.out.println("\n========== HANDLER RUNNING ==========\n"); System.out.println("\n========== HANDLER RUNNING ==========\n");
planetNames.addAll(Arrays.asList(names));
// ==================== LOGIN ==================== // ==================== LOGIN ====================
try { try {
this.username = receive.readLine().replace("[LOGIN]:", ""); this.username = receive.readLine().replace("[LOGIN]:", "");
...@@ -106,6 +126,7 @@ public class ClientHandler implements Runnable { ...@@ -106,6 +126,7 @@ public class ClientHandler implements Runnable {
this.user = serverServiceCommunicator.getUserService().getUser(username); this.user = serverServiceCommunicator.getUserService().getUser(username);
if (user.isFirstGame()) { if (user.isFirstGame()) {
send.println("[NEW-GAME]"); send.println("[NEW-GAME]");
// ==================== Overworld Creation ====================
Overworld overworld = new Overworld(UUID.randomUUID().hashCode(), UUID.randomUUID().hashCode(), username); Overworld overworld = new Overworld(UUID.randomUUID().hashCode(), UUID.randomUUID().hashCode(), username);
this.seed = overworld.getSeed(); this.seed = overworld.getSeed();
//TODO PLANET CREATION, ADD TO OVERWORLD //TODO PLANET CREATION, ADD TO OVERWORLD
...@@ -156,4 +177,21 @@ public class ClientHandler implements Runnable { ...@@ -156,4 +177,21 @@ public class ClientHandler implements Runnable {
send.println("[EXCEPTION]:[LOGIN]:[USERNAME]:" + username); send.println("[EXCEPTION]:[LOGIN]:[USERNAME]:" + username);
} }
} }
/**
* Get a new planet name
*
* @param names - planet names
* @param usedNames - the already used planet names
* @param seed - the world seed
* @return an unused planet name
*/
private String getPlanetName(List<String> names, List<String> usedNames, int seed) {
Random random = new Random(seed);
String newName = names.get(random.nextInt(names.size()));
if (usedNames.contains(newName)) {
getPlanetName(names, usedNames, seed);
}
return newName;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment