Git Product home page Git Product logo

hwordle's Introduction

Holochain & React Wordle

This is a clone project of the popular word guessing game we all know and love. Made using React, Typescript, Tailwind with Holochain as the backend. The clone of repository at https://github.com/cwackerfuss/react-wordle has been used and the code modified so that Holochain acts as the backend storage. The guesses made by the user and the stats are currently stored in the Holochain. To give a funny twist to the game, the sharing of the game status is filled with emojis. For example:

HWordle 270 4/6

🟨🟩🥶🟨🤢 🤥

🟨🥴🟨🤧🟨 🤥

🟩🟩🤧🥵🟩 🤥

🟩🟩🟩🟩🟩...🥳

In future, more items like wordlist etc can also be moved to Holochain.

Build and run

To Run Locally (on Ubuntu / Linux):

Clone the repository and perform the following command line actions:

(If you do not already have Holochain installed on your machine, follow the instructions at this link: https://developer.holochain.org/install/)

On one terminal, compile and run the Holochain environment as below:

$> cd hwordle
$> nix-shell
[nix-shell:~/hwordle]$ npm run dev

This will open the HWordle web page at http://localhost:3000

To play around with the code, you can

  1. edit the Holochain code written in the dna folder (e.g: definition.rs at dna/integrity_zomes/zome_0_integrity/src/stored_game_state OR stored_game_state.rs at dna/coordinator_zomes/zome_0/src)
  2. edit the client code written in src folder (e.g: the file src/App.tsx)

Every time Holochain code is edited, the dna files and happ files have to be compiled again before running the code.


The below are the contents of README file from the original react-wordle and not tested on Holochain:

FAQ

How can I change the length of a guess?

The default configuration is for solutions and guesses of length five, but it is flexible enough to handle other lengths, even variable lengths each day.

To configure for a different constant length:

To configure for variable lengths:

Note that guesses are validated against both the length of the solution, and presence in VALID_GUESSES.

How can I create a version in another language?

How can I add usage tracking?

This repository includes support for Google Analytics or Plausible Analytics, but, by default, this is disabled.

To enable Google Analytics:

  • Create a Google Analytics 4 property and obtain the measurement ID (of the format G-XXXXXXXXXX)
  • In .env, add REACT_APP_GOOGLE_MEASUREMENT_ID=G-XXXXXXXXXX

Keep in mind that your region might have legislation about obtaining a user's consent before enabling trackers. This is up to downstream repos to implement.

To enable Plausible Analytics:

  • Create a new website with Plausible Analytics with a given domain, e.g. example.app
  • In .env, add REACT_APP_PLAUSIBLE_DOMAIN=example.app

Why does sharing of results not work?

For mobile and wearable devices and smart TVs, sharing of results is initially attempted using the Web Share API. For other devices or when sharing to the Web Share API fails, the results are written to the clipboard. Both these methods will succeed only in a secure context, which require you to implement the HTTPS protocol when hosting this repo on a public domain.

Projects built using this repo

Other languages

Fun themes

  • Airportle: Airport Codes
  • Anidal: Animals
  • Birdle - Emojis: Bird emojis
  • Birdle: Birds
  • Buildly: Construction themed
  • Chipotle: Chipotle (food, items, etc.) themed
  • Crosswordle: Crossword mashup
  • DALL-e-dle: Provides a DALL-E generated image of the word as a clue
  • Dundle: The Office
  • FFXIVrdle: Final Fantasy XIV
  • Harry Potter: Harry Potter
  • JoJodle: JoJo’s Bizarre Adventure
  • Mahjong Handle: Mahjong Hands
  • Filmle: Movie titles
  • Fletcherdle: American singer-songwriter FLETCHER
  • Lyricle: Lyrics
  • Marvle: Superhero (Marvel and DC) themed
  • Movie Wordle: Bollywood
  • Murdle: Spooky hangman mashup
  • Pawnle: Parks and Recreation
  • Poker Handle: Poker
  • Poker Handle 2: Poker
  • Polygonle: Wordle with a shape-based clue for each character
  • Quettale: Quenya, Elven language in LOTR
  • Radiole: Radio-themed (for World Radio Day)
  • RareWordle: Word guessing with multiple simultaneous solutions of varying "values", all created from the same letters. The goal is to find the most obscure solution. It is inspired by the TV game show Pointless.
  • Reverdle: Wordle but in reverse, that is one has to make as many guesses possible which do not have any green letter (i.e. a letter in the correct location compared to the hidden solution).
  • Squirdle: Pokeman
  • Tacticle: Chess puzzles
  • Taylordle: Taylor Swift
  • Trekle: Star Trek
  • Weedel: Video game characters
  • Wordle.cl: Chilean modisms, cities, places
  • Wrdl: Words that are 5 letters long after getting rid of their vowels
  • WROUD: W R O U D is a simple word game that challenges people to find a six-letter word in 3 guesses from a cloud of letters.
  • 香港麻雀 糊 dle: Mahjong hands under Hong Kong rules

Math, Acronyms, Science, Tech, and more

  • AI-powered: Includes an AI component
  • Colordle: Guess the hexadecimal color code of the background
  • Genel: Gene symbols
  • Jazle: Javascript
  • Mathler: Find the solution that equals X
  • Morsel: Morse
  • Numble: Maths
  • Opsle: Ops
  • Passwordle: Passwords
  • Perfdle: Performance Testers and Engineers, DevOps, and Observability
  • Primel: Prime numbers
  • Qwordle: Quantum version of Wordle (uses entangled word-pairs)
  • Quantle: Another quantum variant where guesses are quantum equations
  • Rundle: Like wordle, but only last three guesses are considered.
  • Stockle: Guess the stock or ETF
  • Syscordle: SYSCALL
  • TwoKinds: There's only two kinds of people in this World.
  • UNLOCOdle: UNLOCODEs
  • Visionle: Guess the label of randomly chosen image from ImageNet/ImageNet-Sketch dataset (Machine learning)
  • Zip-zap-bam!: Word ladder game.
  • 0xdle: Hexadecimal

Want to add one to the list? Please make a pull request.

hwordle's People

Contributors

kansmama avatar zippy avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.