Wordbuilder: Learn a language with fun

Ecse
3 min readNov 19, 2020

Hi everybody, Have you ever thought of learning a language for fun because whenever I thought of doing that I came across very boring methods or ways that take long to gain some worthy knowledge or both.

From my personal experience, even I faced a similar problem in learning a language. So, to solve this problem I have programmed a wordbuilder game which is easy to very sophisticated to use.

This game is entirely different from the other games because I have programmed using c++ from scratch. I have used very complex data structures like trie structure to make this game faster than ever. I have made sure that the user interface is very easy and comfortable to use so that even a person with no basic knowledge of technology can enjoy it.

1)How to play:

This game can be played in modes

a)Classic: In this mode, the game is played until every player reaches the score limit

b)Survival: In this mode, the game is played until only one player remains in the game

The game starts when the computer assigns a random letter, then the first player should answer a word that starts with the assigned letter.

Then the next player must answer a correct word which starts with the last letter of the previous word answered by the previous player.

The word must be valid (proper nouns are not allowed).

Whenever a player commits an error his/her lives will be decreased by 1.

When a player runs out of lives he/she will be eliminated from the game.

If a player wants to quit then he should click on the “quit” button or type “~” as an answer and enter.

If a player gets stuck and can’t move forward in the game then he/she can use the “help” option by clicking on the “help” button or by typing “..” and enter.

How many people can play at a time?

From 1 to virtually infinite number of players can play in a match. In a single-player one should play against the Computer.

I have inserted a file containing 650,000 words including all the cities in the world.

HOW I CREATED THIS GAME?

I Have my entire program into 6 separate files to make it simple and easy to debug

Main Program-

a)Load.c, b)Check.cpp, c)Help.c, d)Loadh.c, e)Against.c, f)Data.c

Load.c

  1. This function loads the data from the text file to the main memory
  2. The data will be loaded in the form of tries(T.C=O(1))
  3. Return pointer which is the root of the trie

Check.cpp

1. This function will check whether the given word exists in the given list or not

2. Takes string and root of the trie as arguments

3. Return a boolean expression

Loadh.c

  1. This function loads the data in the form of hash tables
  2. Returns a pointer which is the root of the hash table

Help.c

  1. This function returns a string when a player needs help
  2. The use help player needs to type “..” as answer
  3. Helps look for a word using the root of hashtable

Against.c

  1. This function is used only in single-player mode
  2. This function is nothing but a bot which will be playing against the player
  3. This function displays the answer on-screen and returns the next character to the main function

Data.c

  1. This function is just like the brain of the bot
  2. It loads words into memory based on the level of difficulty chosen by the player
  3. The data is loaded in the form of hash tables
  4. This function will return a pointer which the root of all data loaded into the memory

Conclusion

This game is for everybody. I mean even a kid can play without any difficulty. This game will significantly improve one's vocabulary.

--

--