]> git.cworth.org Git - lmno.games/commitdiff
Simplify tile dealing from the bag
authorCarl Worth <cworth@cworth.org>
Sun, 8 Mar 2026 12:21:49 +0000 (08:21 -0400)
committerCarl Worth <cworth@cworth.org>
Sun, 8 Mar 2026 12:45:57 +0000 (08:45 -0400)
No longer require multiple people to request a letter. Instead, any person
can draw a new letter from the bag as long as no letter reveal is currently
in progress.

anagrams/anagrams.jsx

index baf63da70f5722ccb15b181f9169c7c014dfbaec..e76267cd6bff2b57b5fb58827c35bc2b5852471b 100644 (file)
@@ -108,8 +108,6 @@ class Game extends React.Component {
       scores: {},
       /* Bag */
       bag_remaining: null,
-      letter_request_votes: 0,
-      letter_request_needed: 0,
       /* Claim state */
       claiming: false,
       claim_active: false,      /* true if I'm the active claimer */
@@ -198,8 +196,7 @@ class Game extends React.Component {
       center,
       tile_positions: positions,
       revealing,
-      bag_remaining: remaining,
-      letter_request_votes: 0
+      bag_remaining: remaining
     });
 
     /* Animate: each second, show the number with a fade from full
@@ -236,13 +233,6 @@ class Game extends React.Component {
     this.setState({ bag_remaining: data.remaining });
   }
 
-  receive_letter_request(data) {
-    this.setState({
-      letter_request_votes: data.votes,
-      letter_request_needed: data.needed
-    });
-  }
-
   receive_player_words(data) {
     this.setState({ player_words: data });
   }
@@ -375,8 +365,8 @@ class Game extends React.Component {
     }
   }
 
-  async request_letter() {
-    await fetch_post_json("request-letter");
+  async deal_letter() {
+    await fetch_post_json("deal-letter");
   }
 
   async start_claim() {
@@ -723,16 +713,10 @@ class Game extends React.Component {
 
         <button className="bag-btn"
                 disabled={state.bag_remaining === 0 || !!state.claim_player}
-                onClick={() => this.request_letter()}>
+                onClick={() => this.deal_letter()}>
           <span className="bag-icon">&#x1F45C;</span>
           {state.bag_remaining !== null ? state.bag_remaining : "?"}
         </button>
-
-        {state.letter_request_votes > 0 && state.bag_remaining > 0 ? (
-          <span className="status">
-            {state.letter_request_votes}/{state.letter_request_needed} want a letter
-          </span>
-        ) : null}
       </div>
     );
   }