From 3412d5c52c274f25a2048d503d45eb45821eb72b Mon Sep 17 00:00:00 2001
From: Carl Worth <cworth@cworth.org>
Date: Tue, 7 Jul 2020 05:57:32 -0700
Subject: [PATCH] lmno: Add a new method to create a game with a specific ID
 value

This create_game_with_id method will be helpful in pre-allocating
a game for convenien in the development of flempires.
---
 lmno.js | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/lmno.js b/lmno.js
index 569d33d..b971bcb 100644
--- 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:
-- 
2.45.2