]> git.cworth.org Git - empires-server/commitdiff
lmno: Add a new method to create a game with a specific ID value
authorCarl Worth <cworth@cworth.org>
Tue, 7 Jul 2020 12:57:32 +0000 (05:57 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 7 Jul 2020 12:57:32 +0000 (05:57 -0700)
This create_game_with_id method will be helpful in pre-allocating
a game for convenien in the development of flempires.

lmno.js

diff --git a/lmno.js b/lmno.js
index 569d33d620244371488a64bcdca10b8804602b72..b971bcb6332e4292fa8848b3325461307ac4b18c 100644 (file)
--- a/lmno.js
+++ b/lmno.js
@@ -129,10 +129,9 @@ class LMNO {
     return [...Array(4)].map(() => LMNO.letters.charAt(Math.floor(Math.random() * LMNO.letters.length))).join('');
   }
 
-  create_game(engine_name) {
-    do {
-      var id = this.generate_id();
-    } while (id in this.games);
+  create_game_with_id(engine_name, id) {
+    if (this.games[id])
+      return null;
 
     const engine = engines[engine_name];
 
@@ -142,6 +141,14 @@ class LMNO {
 
     return game;
   }
+
+  create_game(engine_name) {
+    do {
+      var id = this.generate_id();
+    } while (id in this.games);
+
+    return this.create_game_with_id(engine_name, id);
+  }
 }
 
 /* Some letters we don't use in our IDs: