https://github.com/andres15alvarez/asilordle
A fun word-puzzle game for Asilo Digital
https://github.com/andres15alvarez/asilordle
Last synced: 2 months ago
JSON representation
A fun word-puzzle game for Asilo Digital
- Host: GitHub
- URL: https://github.com/andres15alvarez/asilordle
- Owner: andres15alvarez
- License: mit
- Created: 2024-03-07T13:08:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-07T13:12:59.000Z (about 1 year ago)
- Last Synced: 2025-01-17T13:29:38.057Z (4 months ago)
- Language: TypeScript
- Homepage: https://asilordle.netlify.app
- Size: 746 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Asilordle
This is a word-puzzle game about technology. Made using React, Typescript, and Tailwind.
[**Try out the demo!**](https://asilordle.netlify.app/)
## Build and run
### To Run Locally:
Clone the repository and perform the following command line actions:
```bash
$> cd asilordle
$> npm install
$> npm run start
```### To build/run docker container:
#### Development
```bash
$> docker build -t reactle:dev -f docker/Dockerfile .
$> docker run -d -p 3000:3000 --name reactle-dev reactle:dev
```Open [http://localhost:3000](http://localhost:3000) in browser.
#### Production
```bash
$> docker build --target=prod -t reactle:prod -f docker/Dockerfile .
$> docker run -d -p 80:8080 --name reactle-prod reactle:prod
```Open [http://localhost](http://localhost) in browser.
## FAQ
### How can I change the length of a guess?
- Update the `MAX_WORD_LENGTH` variable in [src/constants/settings.ts](src/constants/settings.ts) to the desired length.
- Update the `WORDS` array in [src/constants/wordlist.ts](src/constants/wordlist.ts) to only include words of the new length.
- Update the `VALID_GUESSES` array in [src/constants/validGuesses.ts](src/constants/validGuesses.ts) arrays to only include words of the new length.### How can I create a version in another language?
- In [.env](.env):
- Update the title and the description
- In [public/index.html](public/index.html):
- Update the "You need to enable JavaScript" message
- Update the language attribute in the HTML tag
- If the language is written right-to-left, add `dir="rtl"` to the HTML tag
- Update the name and short name in [public/manifest.json](public/manifest.json)
- Update the strings in [src/constants/strings.ts](src/constants/strings.ts)
- Add all of the five letter words in the language to [src/constants/validGuesses.ts](src/constants/validGuesses.ts), replacing the English words
- Add a list of goal words in the language to [src/constants/wordlist.ts](src/constants/wordlist.ts), replacing the English words
- Update the "Settings" modal in [src/components/modals/SettingsModal.tsx](src/components/modals/SettingsModal.tsx)
- Update the "Info" modal in [src/components/modals/InfoModal.tsx](src/components/modals/InfoModal.tsx)
- If the language has letters that are not present in English update the keyboard in [src/components/keyboard/Keyboard.tsx](src/components/keyboard/Keyboard.tsx)
- If the language is written right-to-left, prepend `\u202E` (the unicode right-to-left override character) to the return statement of the inner function in `generateEmojiGrid` in [src/lib/share.ts](src/lib/share.ts)