├── README.md ├── src ├── 0.jpg ├── 1.jpg ├── 2.jpg ├── 3.jpg ├── 4.jpg ├── 5.jpg ├── 6.jpg ├── setUpTests.js ├── index.css ├── index.js ├── App.test.js ├── App.js ├── App.css ├── Hangman.css ├── Hangman.js ├── registerServiceWorker.js └── words.js ├── public ├── favicon.ico ├── manifest.json └── index.html └── package.json /README.md: -------------------------------------------------------------------------------- 1 | # hangmangame 2 | HangMan during colt steele react projects 3 | -------------------------------------------------------------------------------- /src/0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NimeshJohari02/hangmangame/HEAD/src/0.jpg -------------------------------------------------------------------------------- /src/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NimeshJohari02/hangmangame/HEAD/src/1.jpg -------------------------------------------------------------------------------- /src/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NimeshJohari02/hangmangame/HEAD/src/2.jpg -------------------------------------------------------------------------------- /src/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NimeshJohari02/hangmangame/HEAD/src/3.jpg -------------------------------------------------------------------------------- /src/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NimeshJohari02/hangmangame/HEAD/src/4.jpg -------------------------------------------------------------------------------- /src/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NimeshJohari02/hangmangame/HEAD/src/5.jpg -------------------------------------------------------------------------------- /src/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NimeshJohari02/hangmangame/HEAD/src/6.jpg -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NimeshJohari02/hangmangame/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /src/setUpTests.js: -------------------------------------------------------------------------------- 1 | import { configure } from "enzyme"; 2 | import Adapter from "enzyme-adapter-react-16"; 3 | 4 | configure({ adapter: new Adapter() }); 5 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css?family=Coming+Soon"); 2 | 3 | body { 4 | margin: 0; 5 | padding: 0; 6 | font-family: "Coming Soon", cursive; 7 | } 8 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import './index.css'; 4 | import App from './App'; 5 | import registerServiceWorker from './registerServiceWorker'; 6 | 7 | ReactDOM.render(, document.getElementById('root')); 8 | registerServiceWorker(); 9 | -------------------------------------------------------------------------------- /src/App.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | it('renders without crashing', () => { 6 | const div = document.createElement('div'); 7 | ReactDOM.render(, div); 8 | ReactDOM.unmountComponentAtNode(div); 9 | }); 10 | -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import "./App.css"; 3 | import Hangman from "./Hangman"; 4 | 5 | class App extends Component { 6 | render() { 7 | return ( 8 |
9 | 10 |
11 | ); 12 | } 13 | } 14 | 15 | export default App; 16 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | .App { 2 | text-align: center; 3 | height: 100vh; 4 | display: flex; 5 | align-items: center; 6 | justify-content: center; 7 | background: url("https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/intermediary/f/61f7685f-47e5-49a0-b5cb-ca6b8cab4228/drok89-a7a2a550-ba87-40a6-9701-b635550d55b3.jpg"); 8 | background-position: center center; 9 | } 10 | -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hangman", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "react": "^16.11", 7 | "react-dom": "^16.4.1", 8 | "react-scripts": "1.1.4" 9 | }, 10 | "scripts": { 11 | "start": "react-scripts start", 12 | "build": "react-scripts build", 13 | "test": "react-scripts test --env=jsdom", 14 | "eject": "react-scripts eject" 15 | }, 16 | "devDependencies": { 17 | "enzyme": "^3.8.0", 18 | "enzyme-adapter-react-16": "^1.7.1", 19 | "enzyme-to-json": "^3.3.5" 20 | } 21 | } -------------------------------------------------------------------------------- /src/Hangman.css: -------------------------------------------------------------------------------- 1 | .Hangman { 2 | width: 400px; 3 | color: black; 4 | text-align: center; 5 | zoom: 1.3; 6 | } 7 | 8 | .Hangman img { 9 | border: 10px solid white; 10 | box-shadow: 0 10px 30px rgba(0, 0, 0, 0.27), 11 | 0 0 40px rgba(0, 0, 0, 0.06) inset; 12 | } 13 | 14 | .Hangman h1 { 15 | font-size: 4rem; 16 | font-weight: 100; 17 | margin-bottom: 0.1em; 18 | margin-top: 0; 19 | } 20 | 21 | .Hangman-word { 22 | letter-spacing: 1em; 23 | margin: 0.4em -1em 0.2em 0; 24 | font-size: 2rem; 25 | } 26 | 27 | .Hangman-btns { 28 | text-align: center; 29 | display: inline-block; 30 | width: 250px; 31 | margin-top: 0; 32 | } 33 | 34 | .Hangman button { 35 | border: none; 36 | font-family: inherit; 37 | font-size: 1rem; 38 | cursor: pointer; 39 | width: 30px; 40 | margin: 5px 2px 2px 2px; 41 | letter-spacing: 1px; 42 | outline: none; 43 | background: #ffc107; 44 | color: #fff; 45 | box-shadow: 0 6px #ff9800; 46 | border-radius: 5px; 47 | padding-top: 4px; 48 | } 49 | 50 | .Hangman button:hover { 51 | background-color: #ff9800; 52 | } 53 | 54 | .Hangman button:disabled { 55 | background: #bdbdbd; 56 | color: #eeeeee; 57 | box-shadow: 0 6px #9e9e9e; 58 | } 59 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | 12 | 13 | 22 | React App 23 | 24 | 25 | 28 |
29 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/Hangman.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import "./Hangman.css"; 3 | import img0 from "./0.jpg"; 4 | import img1 from "./1.jpg"; 5 | import img2 from "./2.jpg"; 6 | import img3 from "./3.jpg"; 7 | import img4 from "./4.jpg"; 8 | import img5 from "./5.jpg"; 9 | import img6 from "./6.jpg"; 10 | 11 | class Hangman extends Component { 12 | /** by default, allow 6 guesses and use provided gallows images. */ 13 | static defaultProps = { 14 | maxWrong: 6, 15 | images: [img0, img1, img2, img3, img4, img5, img6] 16 | }; 17 | 18 | constructor(props) { 19 | super(props); 20 | this.state = { nWrong: 0, guessed: new Set(), answer: "apple" }; 21 | this.handleGuess = this.handleGuess.bind(this); 22 | } 23 | 24 | /** guessedWord: show current-state of word: 25 | if guessed letters are {a,p,e}, show "app_e" for "apple" 26 | */ 27 | guessedWord() { 28 | return this.state.answer 29 | .split("") 30 | .map(ltr => (this.state.guessed.has(ltr) ? ltr : "_")); 31 | } 32 | 33 | /** handleGuest: handle a guessed letter: 34 | - add to guessed letters 35 | - if not in answer, increase number-wrong guesses 36 | */ 37 | handleGuess(evt) { 38 | let ltr = evt.target.value; 39 | this.setState(st => ({ 40 | guessed: st.guessed.add(ltr), 41 | nWrong: st.nWrong + (st.answer.includes(ltr) ? 0 : 1) 42 | })); 43 | } 44 | 45 | /** generateButtons: return array of letter buttons to render */ 46 | generateButtons() { 47 | return "abcdefghijklmnopqrstuvwxyz".split("").map(ltr => ( 48 | 56 | )); 57 | } 58 | 59 | /** render: render game */ 60 | render() { 61 | let gameOver=this.state.nWrong>=this.props.maxWrong; 62 | return ( 63 |
64 |

Hangman

65 | 66 |

Number Of Incorrect Guesses {this.state.nWrong}

67 |

{!gameOver?this.guessedWord():this.state.answer}

68 |

69 | {!gameOver?this.generateButtons(): 70 | `You Lose The Correct Word was ${this.state.answer} `} 71 | 72 |

73 |
74 | ); 75 | } 76 | } 77 | 78 | export default Hangman; 79 | -------------------------------------------------------------------------------- /src/registerServiceWorker.js: -------------------------------------------------------------------------------- 1 | // In production, we register a service worker to serve assets from local cache. 2 | 3 | // This lets the app load faster on subsequent visits in production, and gives 4 | // it offline capabilities. However, it also means that developers (and users) 5 | // will only see deployed updates on the "N+1" visit to a page, since previously 6 | // cached resources are updated in the background. 7 | 8 | // To learn more about the benefits of this model, read https://goo.gl/KwvDNy. 9 | // This link also includes instructions on opting out of this behavior. 10 | 11 | const isLocalhost = Boolean( 12 | window.location.hostname === 'localhost' || 13 | // [::1] is the IPv6 localhost address. 14 | window.location.hostname === '[::1]' || 15 | // 127.0.0.1/8 is considered localhost for IPv4. 16 | window.location.hostname.match( 17 | /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ 18 | ) 19 | ); 20 | 21 | export default function register() { 22 | if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { 23 | // The URL constructor is available in all browsers that support SW. 24 | const publicUrl = new URL(process.env.PUBLIC_URL, window.location); 25 | if (publicUrl.origin !== window.location.origin) { 26 | // Our service worker won't work if PUBLIC_URL is on a different origin 27 | // from what our page is served on. This might happen if a CDN is used to 28 | // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374 29 | return; 30 | } 31 | 32 | window.addEventListener('load', () => { 33 | const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; 34 | 35 | if (isLocalhost) { 36 | // This is running on localhost. Lets check if a service worker still exists or not. 37 | checkValidServiceWorker(swUrl); 38 | 39 | // Add some additional logging to localhost, pointing developers to the 40 | // service worker/PWA documentation. 41 | navigator.serviceWorker.ready.then(() => { 42 | console.log( 43 | 'This web app is being served cache-first by a service ' + 44 | 'worker. To learn more, visit https://goo.gl/SC7cgQ' 45 | ); 46 | }); 47 | } else { 48 | // Is not local host. Just register service worker 49 | registerValidSW(swUrl); 50 | } 51 | }); 52 | } 53 | } 54 | 55 | function registerValidSW(swUrl) { 56 | navigator.serviceWorker 57 | .register(swUrl) 58 | .then(registration => { 59 | registration.onupdatefound = () => { 60 | const installingWorker = registration.installing; 61 | installingWorker.onstatechange = () => { 62 | if (installingWorker.state === 'installed') { 63 | if (navigator.serviceWorker.controller) { 64 | // At this point, the old content will have been purged and 65 | // the fresh content will have been added to the cache. 66 | // It's the perfect time to display a "New content is 67 | // available; please refresh." message in your web app. 68 | console.log('New content is available; please refresh.'); 69 | } else { 70 | // At this point, everything has been precached. 71 | // It's the perfect time to display a 72 | // "Content is cached for offline use." message. 73 | console.log('Content is cached for offline use.'); 74 | } 75 | } 76 | }; 77 | }; 78 | }) 79 | .catch(error => { 80 | console.error('Error during service worker registration:', error); 81 | }); 82 | } 83 | 84 | function checkValidServiceWorker(swUrl) { 85 | // Check if the service worker can be found. If it can't reload the page. 86 | fetch(swUrl) 87 | .then(response => { 88 | // Ensure service worker exists, and that we really are getting a JS file. 89 | if ( 90 | response.status === 404 || 91 | response.headers.get('content-type').indexOf('javascript') === -1 92 | ) { 93 | // No service worker found. Probably a different app. Reload the page. 94 | navigator.serviceWorker.ready.then(registration => { 95 | registration.unregister().then(() => { 96 | window.location.reload(); 97 | }); 98 | }); 99 | } else { 100 | // Service worker found. Proceed as normal. 101 | registerValidSW(swUrl); 102 | } 103 | }) 104 | .catch(() => { 105 | console.log( 106 | 'No internet connection found. App is running in offline mode.' 107 | ); 108 | }); 109 | } 110 | 111 | export function unregister() { 112 | if ('serviceWorker' in navigator) { 113 | navigator.serviceWorker.ready.then(registration => { 114 | registration.unregister(); 115 | }); 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /src/words.js: -------------------------------------------------------------------------------- 1 | var ENGLISH_WORDS = [ 2 | "their", 3 | "would", 4 | "about", 5 | "there", 6 | "think", 7 | "which", 8 | "people", 9 | "could", 10 | "other", 11 | "these", 12 | "first", 13 | "thing", 14 | "those", 15 | "woman", 16 | "child", 17 | "there", 18 | "after", 19 | "should", 20 | "world", 21 | "school", 22 | "still", 23 | "three", 24 | "state", 25 | "never", 26 | "become", 27 | "really", 28 | "family", 29 | "leave", 30 | "while", 31 | "great", 32 | "group", 33 | "begin", 34 | "where", 35 | "every", 36 | "start", 37 | "might", 38 | "about", 39 | "place", 40 | "again", 41 | "where", 42 | "system", 43 | "right", 44 | "during", 45 | "small", 46 | "number", 47 | "always", 48 | "night", 49 | "point", 50 | "today", 51 | "bring", 52 | "happen", 53 | "before", 54 | "large", 55 | "under", 56 | "water", 57 | "write", 58 | "mother", 59 | "money", 60 | "story", 61 | "young", 62 | "month", 63 | "right", 64 | "study", 65 | "though", 66 | "issue", 67 | "black", 68 | "little", 69 | "house", 70 | "after", 71 | "since", 72 | "around", 73 | "friend", 74 | "father", 75 | "until", 76 | "power", 77 | "often", 78 | "among", 79 | "stand", 80 | "member", 81 | "almost", 82 | "later", 83 | "white", 84 | "least", 85 | "learn", 86 | "change", 87 | "minute", 88 | "right", 89 | "social", 90 | "watch", 91 | "follow", 92 | "around", 93 | "parent", 94 | "create", 95 | "public", 96 | "speak", 97 | "others", 98 | "level", 99 | "allow", 100 | "office", 101 | "spend", 102 | "health", 103 | "person", 104 | "party", 105 | "within", 106 | "result", 107 | "change", 108 | "reason", 109 | "early", 110 | "before", 111 | "moment", 112 | "force", 113 | "offer", 114 | "enough", 115 | "across", 116 | "second", 117 | "maybe", 118 | "toward", 119 | "policy", 120 | "music", 121 | "appear", 122 | "human", 123 | "serve", 124 | "market", 125 | "expect", 126 | "sense", 127 | "build", 128 | "nation", 129 | "death", 130 | "course", 131 | "behind", 132 | "reach", 133 | "local", 134 | "remain", 135 | "effect", 136 | "class", 137 | "raise", 138 | "little", 139 | "field", 140 | "former", 141 | "major", 142 | "along", 143 | "report", 144 | "better", 145 | "effort", 146 | "decide", 147 | "strong", 148 | "heart", 149 | "leader", 150 | "light", 151 | "voice", 152 | "whole", 153 | "police", 154 | "return", 155 | "price", 156 | "report", 157 | "carry", 158 | "drive", 159 | "break", 160 | "better", 161 | "thank", 162 | "value", 163 | "action", 164 | "model", 165 | "season", 166 | "early", 167 | "player", 168 | "agree", 169 | "record", 170 | "paper", 171 | "space", 172 | "ground", 173 | "event", 174 | "whose", 175 | "matter", 176 | "center", 177 | "couple", 178 | "table", 179 | "court", 180 | "teach", 181 | "figure", 182 | "street", 183 | "image", 184 | "itself", 185 | "phone", 186 | "either", 187 | "cover", 188 | "quite", 189 | "clear", 190 | "piece", 191 | "recent", 192 | "doctor", 193 | "worker", 194 | "movie", 195 | "north", 196 | "simply", 197 | "third", 198 | "catch", 199 | "source", 200 | "nearly", 201 | "choose", 202 | "cause", 203 | "point", 204 | "window", 205 | "listen", 206 | "chance", 207 | "energy", 208 | "period", 209 | "course", 210 | "summer", 211 | "plant", 212 | "likely", 213 | "short", 214 | "letter", 215 | "choice", 216 | "place", 217 | "single", 218 | "south", 219 | "floor", 220 | "church", 221 | "close", 222 | "future", 223 | "wrong", 224 | "anyone", 225 | "myself", 226 | "sport", 227 | "board", 228 | "fight", 229 | "throw", 230 | "second", 231 | "order", 232 | "author", 233 | "focus", 234 | "blood", 235 | "agency", 236 | "nature", 237 | "color", 238 | "store", 239 | "reduce", 240 | "sound", 241 | "before", 242 | "enter", 243 | "share", 244 | "common", 245 | "other", 246 | "series", 247 | "animal", 248 | "factor", 249 | "decade", 250 | "shoot", 251 | "seven", 252 | "artist", 253 | "scene", 254 | "stock", 255 | "career", 256 | "eight", 257 | "beyond", 258 | "happy", 259 | "occur", 260 | "media", 261 | "ready", 262 | "simple", 263 | "accept", 264 | "answer", 265 | "argue", 266 | "amount", 267 | "staff", 268 | "growth", 269 | "degree", 270 | "wonder", 271 | "attack", 272 | "region", 273 | "pretty", 274 | "trade", 275 | "arrive", 276 | "lawyer", 277 | "glass", 278 | "answer", 279 | "skill", 280 | "sister", 281 | "crime", 282 | "stage", 283 | "design", 284 | "state", 285 | "little", 286 | "indeed", 287 | "force", 288 | "truth", 289 | "check", 290 | "public", 291 | "rather", 292 | "laugh", 293 | "guess", 294 | "study", 295 | "prove", 296 | "entire", 297 | "design", 298 | "enough", 299 | "forget", 300 | "since", 301 | "claim", 302 | "remove", 303 | "close", 304 | "sound", 305 | "enjoy", 306 | "legal", 307 | "final", 308 | "green", 309 | "memory", 310 | "above", 311 | "trial", 312 | "expert", 313 | "spring", 314 | "radio", 315 | "visit", 316 | "avoid", 317 | "close", 318 | "finish", 319 | "theory", 320 | "impact", 321 | "charge", 322 | "reveal", 323 | "weapon", 324 | "peace", 325 | "apply", 326 | "shake", 327 | "manage", 328 | "chair", 329 | "camera", 330 | "weight", 331 | "treat", 332 | "affect", 333 | "inside", 334 | "style", 335 | "adult", 336 | "worry", 337 | "range", 338 | "rather", 339 | "writer", 340 | "middle", 341 | "dream", 342 | "stuff", 343 | "detail", 344 | "method", 345 | "hotel", 346 | "heavy", 347 | "sexual", 348 | "cause", 349 | "tough", 350 | "exist", 351 | "agent", 352 | "owner", 353 | "ahead", 354 | "cancer", 355 | "coach", 356 | "total", 357 | "finger", 358 | "garden", 359 | "notice", 360 | "modern", 361 | "civil", 362 | "budget", 363 | "mouth", 364 | "victim", 365 | "threat", 366 | "smile", 367 | "score", 368 | "break", 369 | "dinner", 370 | "figure", 371 | "relate", 372 | "travel", 373 | "debate", 374 | "front", 375 | "admit", 376 | "senior", 377 | "assume", 378 | "alone", 379 | "suffer", 380 | "speech", 381 | "option", 382 | "fresh", 383 | "forest", 384 | "video", 385 | "global", 386 | "reform", 387 | "access", 388 | "judge", 389 | "credit", 390 | "corner", 391 | "recall", 392 | "stare", 393 | "safety", 394 | "troop", 395 | "income", 396 | "track", 397 | "basic", 398 | "strike", 399 | "plane", 400 | "nobody", 401 | "object", 402 | "labor", 403 | "refer", 404 | "client", 405 | "touch", 406 | "please", 407 | "attend", 408 | "sleep", 409 | "press", 410 | "spirit", 411 | "brain", 412 | "dozen", 413 | "along", 414 | "battle", 415 | "sorry", 416 | "crisis", 417 | "stick", 418 | "define", 419 | "easily", 420 | "vision", 421 | "status", 422 | "normal", 423 | "stone", 424 | "slowly", 425 | "scale", 426 | "driver", 427 | "drink", 428 | "front", 429 | "handle", 430 | "truck", 431 | "return", 432 | "survey", 433 | "winter", 434 | "refuse", 435 | "sales", 436 | "screen", 437 | "future", 438 | "middle", 439 | "shape", 440 | "reader", 441 | "crowd", 442 | "horse", 443 | "target", 444 | "prison", 445 | "guard", 446 | "terms", 447 | "demand", 448 | "share", 449 | "flight", 450 | "inside", 451 | "emerge", 452 | "quick", 453 | "light", 454 | "pound", 455 | "basis", 456 | "bright", 457 | "guest", 458 | "sample", 459 | "block", 460 | "settle", 461 | "while", 462 | "highly", 463 | "title", 464 | "mostly", 465 | "lesson", 466 | "faith", 467 | "river", 468 | "living", 469 | "count", 470 | "unless", 471 | "marry", 472 | "order", 473 | "border", 474 | "gather", 475 | "limit", 476 | "claim", 477 | "worth", 478 | "critic", 479 | "aspect", 480 | "result", 481 | "insist", 482 | "annual", 483 | "affair", 484 | "until", 485 | "spread", 486 | "ignore", 487 | "belief", 488 | "murder", 489 | "review", 490 | "editor", 491 | "engage", 492 | "coffee", 493 | "speed", 494 | "cross", 495 | "anyway", 496 | "commit", 497 | "female", 498 | "youth", 499 | "afraid", 500 | "native", 501 | "broad", 502 | "twice", 503 | "charge", 504 | "grade", 505 | "focus", 506 | "smile", 507 | "quiet", 508 | "dress", 509 | "aware", 510 | "drive", 511 | "active", 512 | "extend", 513 | "chief", 514 | "below", 515 | "voter", 516 | "demand", 517 | "remind", 518 | "moral", 519 | "visit", 520 | "depend", 521 | "photo", 522 | "direct", 523 | "daily", 524 | "famous", 525 | "flower", 526 | "supply", 527 | "fully", 528 | "actor", 529 | "birth", 530 | "search", 531 | "circle", 532 | "device", 533 | "front", 534 | "bottom", 535 | "island", 536 | "clean", 537 | "studio", 538 | "train", 539 | "damage", 540 | "plate", 541 | "press", 542 | "start", 543 | "alive", 544 | "intend", 545 | "attack", 546 | "abuse", 547 | "extra", 548 | "danger", 549 | "desire", 550 | "injury", 551 | "paint", 552 | "direct", 553 | "fight", 554 | "climb", 555 | "sweet", 556 | "engine", 557 | "fourth", 558 | "expand", 559 | "metal", 560 | "ticket", 561 | "urban", 562 | "mental", 563 | "lunch", 564 | "farmer", 565 | "above", 566 | "sugar", 567 | "planet", 568 | "obtain", 569 | "enemy", 570 | "invite", 571 | "repeat", 572 | "panel", 573 | "alone", 574 | "pocket", 575 | "breath", 576 | "sight", 577 | "cover", 578 | "adopt", 579 | "works", 580 | "belong", 581 | "advice", 582 | "empty", 583 | "trail", 584 | "novel", 585 | "breast", 586 | "human", 587 | "theme", 588 | "storm", 589 | "union", 590 | "record", 591 | "thanks", 592 | "fruit", 593 | "under", 594 | "yellow", 595 | "prime", 596 | "shadow", 597 | "dance", 598 | "limit", 599 | "being", 600 | "shift", 601 | "locate", 602 | "county", 603 | "bridge", 604 | "train", 605 | "trend", 606 | "profit", 607 | "angry", 608 | "muscle", 609 | "notion", 610 | "prefer", 611 | "truly", 612 | "earth", 613 | "chest", 614 | "search", 615 | "thick", 616 | "museum", 617 | "beauty", 618 | "unique", 619 | "ethnic", 620 | "stress", 621 | "select", 622 | "actual", 623 | "bottle", 624 | "hardly", 625 | "launch", 626 | "dress", 627 | "defend", 628 | "matter", 629 | "judge", 630 | "sheet", 631 | "ought", 632 | "ensure", 633 | "extent", 634 | "chief", 635 | "brown", 636 | "shirt", 637 | "pilot", 638 | "estate", 639 | "guide", 640 | "steal", 641 | "pursue", 642 | "funny", 643 | "blame", 644 | "crazy", 645 | "chain", 646 | "branch", 647 | "relief", 648 | "manner", 649 | "rating", 650 | "golden", 651 | "motion", 652 | "gender", 653 | "solve", 654 | "equal", 655 | "forth", 656 | "frame", 657 | "except", 658 | "trust", 659 | "ocean", 660 | "score", 661 | "afford", 662 | "regime", 663 | "appeal", 664 | "mirror", 665 | "tooth", 666 | "smart", 667 | "length", 668 | "topic", 669 | "issue", 670 | "range", 671 | "secret", 672 | "nurse", 673 | "aside", 674 | "master", 675 | "check", 676 | "stand", 677 | "clear", 678 | "clean", 679 | "except", 680 | "doubt", 681 | "grant", 682 | "cloud", 683 | "winner", 684 | "volume", 685 | "travel", 686 | "pepper", 687 | "below", 688 | "cheap", 689 | "beach", 690 | "divide", 691 | "oppose", 692 | "route", 693 | "league", 694 | "upper", 695 | "tired", 696 | "employ", 697 | "dance", 698 | "fewer", 699 | "apart", 700 | "match", 701 | "barely", 702 | "sector", 703 | "beside", 704 | "black", 705 | "proud", 706 | "waste", 707 | "merely", 708 | "wheel", 709 | "female", 710 | "invest", 711 | "cable", 712 | "expose", 713 | "rural", 714 | "narrow", 715 | "cream", 716 | "solid", 717 | "noise", 718 | "grass", 719 | "either", 720 | "drink", 721 | "accuse", 722 | "useful", 723 | "secret", 724 | "reject", 725 | "talent", 726 | "taste", 727 | "escape", 728 | "height", 729 | "assess", 730 | "sleep", 731 | "plenty", 732 | "first", 733 | "sharp", 734 | "lower", 735 | "behind", 736 | "campus", 737 | "proper", 738 | "guilty", 739 | "living", 740 | "column", 741 | "signal", 742 | "honor", 743 | "regard", 744 | "twenty", 745 | "knock", 746 | "review", 747 | "offer", 748 | "asset", 749 | "prayer", 750 | "cheese", 751 | "permit", 752 | "bread", 753 | "scream", 754 | "deeply", 755 | "green", 756 | "lucky", 757 | "agenda", 758 | "unable", 759 | "arrest", 760 | "brief", 761 | "steel", 762 | "shout", 763 | "visual", 764 | "fairly", 765 | "silent", 766 | "layer", 767 | "later", 768 | "slide", 769 | "widely", 770 | "inform", 771 | "bother", 772 | "enable", 773 | "saving", 774 | "desert", 775 | "shall", 776 | "error", 777 | "double", 778 | "print", 779 | "formal", 780 | "album", 781 | "joint", 782 | "reply", 783 | "cycle", 784 | "whole", 785 | "stream", 786 | "trust", 787 | "grand", 788 | "hello", 789 | "knife", 790 | "racial", 791 | "phase", 792 | "potato", 793 | "quote", 794 | "online", 795 | "elect", 796 | "jacket", 797 | "rarely", 798 | "shift", 799 | "touch", 800 | "sauce", 801 | "priest", 802 | "shock", 803 | "adjust", 804 | "retire", 805 | "habit", 806 | "juice", 807 | "attach", 808 | "coach", 809 | "severe", 810 | "impose", 811 | "other", 812 | "entry", 813 | "symbol", 814 | "still", 815 | "trade", 816 | "maker", 817 | "total", 818 | "usual", 819 | "anger", 820 | "round", 821 | "clinic", 822 | "smell", 823 | "light", 824 | "tomato", 825 | "butter", 826 | "block", 827 | "surely", 828 | "tower", 829 | "smoke", 830 | "glance", 831 | "fellow", 832 | "smooth", 833 | "nearby", 834 | "shape", 835 | "coast", 836 | "silver", 837 | "watch", 838 | "inner", 839 | "junior", 840 | "rather", 841 | "throat", 842 | "salary", 843 | "swing", 844 | "pretty", 845 | "strike", 846 | "plant", 847 | "unlike", 848 | "resist", 849 | "supply", 850 | "assist", 851 | "viewer", 852 | "mayor", 853 | "secure", 854 | "smoke", 855 | "fifth", 856 | "favor", 857 | "weigh", 858 | "recipe", 859 | "wooden", 860 | "false", 861 | "honest", 862 | "essay", 863 | "giant", 864 | "origin", 865 | "advise", 866 | "count", 867 | "depth", 868 | "wealth", 869 | "shell", 870 | "onion", 871 | "deputy", 872 | "brand", 873 | "assure", 874 | "award", 875 | "dealer", 876 | "arise", 877 | "armed", 878 | "phrase", 879 | "stake", 880 | "dream", 881 | "fiber", 882 | "switch", 883 | "minor", 884 | "killer", 885 | "assign", 886 | "label", 887 | "index", 888 | "draft", 889 | "heaven", 890 | "rough", 891 | "drama", 892 | "wonder", 893 | "clock", 894 | "sweep", 895 | "house", 896 | "button", 897 | "ahead", 898 | "super", 899 | "yield", 900 | "fence", 901 | "paint", 902 | "bottom", 903 | "bunch", 904 | "found", 905 | "burden", 906 | "react", 907 | "string", 908 | "taste", 909 | "cheek", 910 | "match", 911 | "resort", 912 | "tissue", 913 | "broken", 914 | "apple", 915 | "track", 916 | "virus", 917 | "stupid", 918 | "occupy", 919 | "cousin", 920 | "blind", 921 | "white", 922 | "honor", 923 | "retain", 924 | "latter", 925 | "slave", 926 | "terror", 927 | "though", 928 | "elite", 929 | "bullet", 930 | "tight", 931 | "chart", 932 | "solar", 933 | "square", 934 | "stick", 935 | "gently", 936 | "strip", 937 | "detect", 938 | "likely", 939 | "market", 940 | "salad", 941 | "pause", 942 | "remote", 943 | "bench", 944 | "lover", 945 | "newly", 946 | "imply", 947 | "mutual", 948 | "pride", 949 | "mainly", 950 | "freeze", 951 | "ideal", 952 | "worth", 953 | "singer", 954 | "evolve", 955 | "partly", 956 | "smell", 957 | "thirty", 958 | "crash", 959 | "craft", 960 | "treaty", 961 | "double", 962 | "fault", 963 | "loose", 964 | "prior", 965 | "relax", 966 | "stair", 967 | "proof", 968 | "sudden", 969 | "dirty", 970 | "tongue", 971 | "alter", 972 | "target", 973 | "stable", 974 | "appeal", 975 | "split", 976 | "steady", 977 | "vital", 978 | "stress", 979 | "adapt", 980 | "honey", 981 | "round", 982 | "vessel", 983 | "tribe", 984 | "shelf", 985 | "buyer", 986 | "dining", 987 | "wisdom", 988 | "garlic", 989 | "poetry", 990 | "doubt", 991 | "scared", 992 | "guide", 993 | "since", 994 | "fellow", 995 | "slight", 996 | "shade", 997 | "mount", 998 | "angle", 999 | "differ", 1000 | "custom", 1001 | "store", 1002 | "damage", 1003 | "carbon", 1004 | "closer", 1005 | "scheme", 1006 | "crack", 1007 | "galaxy", 1008 | "given", 1009 | "trace", 1010 | "meter", 1011 | "arrest", 1012 | "rapid", 1013 | "hunter", 1014 | "infant", 1015 | "fifty", 1016 | "porch", 1017 | "waste", 1018 | "derive", 1019 | "fabric", 1020 | "rifle", 1021 | "trick", 1022 | "asleep", 1023 | "tennis", 1024 | "nerve", 1025 | "barrel", 1026 | "ratio", 1027 | "humor", 1028 | "glove", 1029 | "modest", 1030 | "delay", 1031 | "stroke", 1032 | "scope", 1033 | "badly", 1034 | "prompt", 1035 | "absorb", 1036 | "eager", 1037 | "across", 1038 | "cotton", 1039 | "motor", 1040 | "flavor", 1041 | "float", 1042 | "orange", 1043 | "assert", 1044 | "blade", 1045 | "print", 1046 | "cabin", 1047 | "valley", 1048 | "yours", 1049 | "pitch", 1050 | "versus", 1051 | "lemon", 1052 | "hungry", 1053 | "sense", 1054 | "wander", 1055 | "submit", 1056 | "naked", 1057 | "legacy", 1058 | "shrug", 1059 | "flame", 1060 | "wound", 1061 | "shower", 1062 | "depict", 1063 | "flesh", 1064 | "garage", 1065 | "borrow", 1066 | "comedy", 1067 | "twelve", 1068 | "weekly", 1069 | "grain", 1070 | "brush", 1071 | "devote", 1072 | "crack", 1073 | "seize", 1074 | "ethics", 1075 | "summit", 1076 | "gifted", 1077 | "medium", 1078 | "grant", 1079 | "shore", 1080 | "basket", 1081 | "powder", 1082 | "ghost", 1083 | "cookie", 1084 | "swing", 1085 | "orange", 1086 | "awful", 1087 | "admire", 1088 | "exceed", 1089 | "rhythm", 1090 | "lovely", 1091 | "script", 1092 | "tactic", 1093 | "crash", 1094 | "piano", 1095 | "margin", 1096 | "mouse", 1097 | "chase", 1098 | "brick", 1099 | "patch", 1100 | "horror", 1101 | "swear", 1102 | "defeat", 1103 | "slice", 1104 | "sacred", 1105 | "exact", 1106 | "uncle", 1107 | "square", 1108 | "soccer", 1109 | "tunnel", 1110 | "grave", 1111 | "virtue", 1112 | "abroad", 1113 | "makeup", 1114 | "couch", 1115 | "legend", 1116 | "shine", 1117 | "upset", 1118 | "remark", 1119 | "resign", 1120 | "reward", 1121 | "gentle", 1122 | "organ", 1123 | "invent", 1124 | "tight", 1125 | "ritual", 1126 | "insect", 1127 | "salmon", 1128 | "favor", 1129 | "magic", 1130 | "combat", 1131 | "brush", 1132 | "jeans", 1133 | "flour", 1134 | "bitter", 1135 | "slope", 1136 | "subtle", 1137 | "bishop", 1138 | "delay", 1139 | "candy", 1140 | "final", 1141 | "medal", 1142 | "export", 1143 | "curve", 1144 | "logic", 1145 | "harsh", 1146 | "closet", 1147 | "greet", 1148 | "favor", 1149 | "murder", 1150 | "retail", 1151 | "march", 1152 | "snake", 1153 | "pitch", 1154 | "excuse", 1155 | "cross", 1156 | "online", 1157 | "daily", 1158 | "flash", 1159 | "elbow", 1160 | "deadly", 1161 | "plead", 1162 | "sixth", 1163 | "suburb", 1164 | "unlike", 1165 | "trunk", 1166 | "rumor", 1167 | "render", 1168 | "cloth", 1169 | "reach", 1170 | "plain", 1171 | "fraud", 1172 | "array", 1173 | "strict", 1174 | "burst", 1175 | "speed", 1176 | "motive", 1177 | "label", 1178 | "flood", 1179 | "notice", 1180 | "arena", 1181 | "laugh", 1182 | "drift", 1183 | "drain", 1184 | "hurry", 1185 | "temple", 1186 | "medium", 1187 | "random", 1188 | "wrist", 1189 | "domain", 1190 | "guilt", 1191 | "cattle", 1192 | "fiscal", 1193 | "skirt", 1194 | "hence", 1195 | "endure", 1196 | "strain", 1197 | "guitar", 1198 | "behave", 1199 | "dancer", 1200 | "guard", 1201 | "await", 1202 | "spill", 1203 | "grace", 1204 | "colony", 1205 | "slide", 1206 | "closed", 1207 | "towel", 1208 | "modify", 1209 | "award", 1210 | "glance", 1211 | "prize", 1212 | "boost", 1213 | "alarm", 1214 | "weird", 1215 | "sweat", 1216 | "outer", 1217 | "drunk", 1218 | "survey", 1219 | "stuff", 1220 | "govern", 1221 | "ballot", 1222 | "praise", 1223 | "injure", 1224 | "nearby", 1225 | "pause", 1226 | "excuse", 1227 | "chaos", 1228 | "short", 1229 | "canvas", 1230 | "forty", 1231 | "matter", 1232 | "lobby", 1233 | "format", 1234 | "trait", 1235 | "turkey", 1236 | "abuse", 1237 | "thumb", 1238 | "unity", 1239 | "convey", 1240 | "twist", 1241 | "finish", 1242 | "shame", 1243 | "rebel", 1244 | "frozen", 1245 | "desire", 1246 | "spouse", 1247 | "fluid", 1248 | "resume", 1249 | "sodium", 1250 | "bounce", 1251 | "click", 1252 | "signal", 1253 | "pickup", 1254 | "carve", 1255 | "needle", 1256 | "belly", 1257 | "scare", 1258 | "timing", 1259 | "ankle", 1260 | "rescue", 1261 | "firmly", 1262 | "rider", 1263 | "poster", 1264 | "crawl", 1265 | "oxygen", 1266 | "magic", 1267 | "donor", 1268 | "pastor", 1269 | "opera", 1270 | "frame", 1271 | "punish", 1272 | "giant", 1273 | "equity", 1274 | "nwrong", 1275 | "statue", 1276 | "repair", 1277 | "decent", 1278 | "clerk", 1279 | "rescue", 1280 | "purple", 1281 | "laser", 1282 | "eating", 1283 | "parade", 1284 | "realm", 1285 | "strip", 1286 | "cancel", 1287 | "blend", 1288 | "slice", 1289 | "pizza", 1290 | "debate", 1291 | "candle", 1292 | "handle", 1293 | "worry", 1294 | "entity", 1295 | "inside", 1296 | "vanish", 1297 | "trail", 1298 | "racism", 1299 | "casual", 1300 | "enroll", 1301 | "value", 1302 | "intent", 1303 | "civic", 1304 | "steep", 1305 | "alien", 1306 | "scary", 1307 | "angel", 1308 | "switch", 1309 | "repair", 1310 | "toilet", 1311 | "hidden", 1312 | "tender", 1313 | "lonely", 1314 | "silly", 1315 | "shared", 1316 | "pillow", 1317 | "spread", 1318 | "ruling", 1319 | "lately", 1320 | "ranch", 1321 | "softly", 1322 | "verbal", 1323 | "tribal", 1324 | "import", 1325 | "spring", 1326 | "divine", 1327 | "elder", 1328 | "genius", 1329 | "quest", 1330 | "juror", 1331 | "broker", 1332 | "credit", 1333 | "shock", 1334 | "stiff", 1335 | "output", 1336 | "please", 1337 | "toxic", 1338 | "grief", 1339 | "rocket", 1340 | "donate", 1341 | "inmate", 1342 | "tackle", 1343 | "senior", 1344 | "carpet", 1345 | "bubble", 1346 | "buddy", 1347 | "sword", 1348 | "flash", 1349 | "glory", 1350 | "faint", 1351 | "queen", 1352 | "input", 1353 | "bloody", 1354 | "defeat", 1355 | "steam", 1356 | "accent", 1357 | "escape", 1358 | "unite", 1359 | "equip", 1360 | "shrimp", 1361 | "bless", 1362 | "bonus", 1363 | "mixed", 1364 | "orbit", 1365 | "grasp", 1366 | "spite", 1367 | "voting", 1368 | "patrol", 1369 | "trace", 1370 | "wagon", 1371 | "sheer", 1372 | "prior", 1373 | "immune", 1374 | "exotic", 1375 | "secure", 1376 | "thigh", 1377 | "drawer", 1378 | "regard", 1379 | "sheep", 1380 | "runner", 1381 | "empire", 1382 | "catch", 1383 | "whale", 1384 | "draft", 1385 | "skull", 1386 | "puzzle", 1387 | "tragic", 1388 | "safely", 1389 | "eleven", 1390 | "bureau", 1391 | "breeze", 1392 | "costly", 1393 | "object", 1394 | "spell", 1395 | "insert", 1396 | "booth", 1397 | "helmet", 1398 | "waist", 1399 | "royal", 1400 | "panic", 1401 | "crush", 1402 | "cliff", 1403 | "casino", 1404 | "tumor", 1405 | "charge", 1406 | "pulse", 1407 | "fixed", 1408 | "diary", 1409 | "irony", 1410 | "spoon", 1411 | "midst", 1412 | "alley", 1413 | "upset", 1414 | "rival", 1415 | "punch", 1416 | "hockey", 1417 | "known", 1418 | "purse", 1419 | "liquid", 1420 | "foster", 1421 | "cheat", 1422 | "access", 1423 | "fever", 1424 | "filter", 1425 | "rabbit", 1426 | "dried", 1427 | "shove", 1428 | "stove", 1429 | "alike", 1430 | "dough", 1431 | "outfit", 1432 | "patent", 1433 | "quote", 1434 | "trash", 1435 | "gross", 1436 | "pencil", 1437 | "spray", 1438 | "banker", 1439 | "beast", 1440 | "eighth", 1441 | "behalf", 1442 | "shark", 1443 | "reward", 1444 | "fleet", 1445 | "stance", 1446 | "compel", 1447 | "debut", 1448 | "ideal", 1449 | "scent", 1450 | "stack", 1451 | "cease", 1452 | "nasty", 1453 | "shrink", 1454 | "model", 1455 | "wheat", 1456 | "fierce", 1457 | "aisle", 1458 | "weaken", 1459 | "vocal", 1460 | "openly", 1461 | "unfair", 1462 | "deploy", 1463 | "risky", 1464 | "pasta", 1465 | "genre", 1466 | "merit", 1467 | "chunk", 1468 | "ladder", 1469 | "jungle", 1470 | "invade", 1471 | "wound", 1472 | "robot", 1473 | "flood", 1474 | "sphere", 1475 | "boast", 1476 | "major", 1477 | "unfold", 1478 | "collar", 1479 | "streak", 1480 | "added", 1481 | "sneak", 1482 | "monkey", 1483 | "mentor", 1484 | "sleeve", 1485 | "debris", 1486 | "parish", 1487 | "blank", 1488 | "hunger", 1489 | "dying", 1490 | "faster", 1491 | "spare", 1492 | "regret", 1493 | "carrot", 1494 | "cling", 1495 | "blink", 1496 | "squad", 1497 | "plunge", 1498 | "color", 1499 | "chill", 1500 | "refuge", 1501 | "steer", 1502 | "rally", 1503 | "cheer", 1504 | "outlet", 1505 | "intact", 1506 | "vendor", 1507 | "thrive", 1508 | "peanut", 1509 | "steak", 1510 | "comply", 1511 | "awake", 1512 | "strain", 1513 | "patron", 1514 | "liver", 1515 | "solely", 1516 | "banana", 1517 | "palace", 1518 | "cruise", 1519 | "mobile", 1520 | "plain", 1521 | "widow", 1522 | "beard", 1523 | "brake", 1524 | "forbid", 1525 | "brutal", 1526 | "valid", 1527 | "forum", 1528 | "enact", 1529 | "round", 1530 | "thread", 1531 | "light", 1532 | "coming", 1533 | "suite", 1534 | "remark", 1535 | "straw", 1536 | "apart", 1537 | "globe", 1538 | "circle", 1539 | "blast", 1540 | "denial", 1541 | "rental", 1542 | "level", 1543 | "screw", 1544 | "warmth", 1545 | "liquid", 1546 | "yield", 1547 | "battle", 1548 | "drill", 1549 | "cruel", 1550 | "regard", 1551 | "grape", 1552 | "charm", 1553 | "loyal", 1554 | "pound", 1555 | "radar", 1556 | "frown", 1557 | "regain", 1558 | "leave", 1559 | "permit", 1560 | "rubber", 1561 | "freely", 1562 | "update", 1563 | "spark", 1564 | "beyond", 1565 | "marker", 1566 | "preach", 1567 | "bucket", 1568 | "blond", 1569 | "marble", 1570 | "twist", 1571 | "mutter", 1572 | "depart", 1573 | "arrow", 1574 | "trauma", 1575 | "ribbon", 1576 | "screen", 1577 | "within", 1578 | "ridge", 1579 | "brave", 1580 | "crowd", 1581 | "dense", 1582 | "sunny", 1583 | "shorts", 1584 | "swell", 1585 | "soften", 1586 | "sudden", 1587 | "bride", 1588 | "hazard", 1589 | "seldom", 1590 | "launch", 1591 | "weave", 1592 | "timber", 1593 | "flying", 1594 | "devil", 1595 | "cargo", 1596 | "spine", 1597 | "seller", 1598 | "public", 1599 | "marine", 1600 | "boring", 1601 | "fatal", 1602 | "bronze", 1603 | "drown", 1604 | "praise", 1605 | "kneel", 1606 | "vacuum", 1607 | "sensor", 1608 | "manual", 1609 | "pistol", 1610 | "naval", 1611 | ]; 1612 | 1613 | function randomWord() { 1614 | return ENGLISH_WORDS[Math.floor(Math.random() * ENGLISH_WORDS.length)]; 1615 | } 1616 | 1617 | export { randomWord }; 1618 | --------------------------------------------------------------------------------