Skip to content

Latest commit

 

History

History
78 lines (59 loc) · 3.27 KB

README.md

File metadata and controls

78 lines (59 loc) · 3.27 KB
Scrabble 1D - ncurses

Scrabble 1D

GitHub release AUR version Linux GitHub license C

A one-dimentional scrabble-like console game written in C. The main idea is:

You get a couple of randomly generated letters and you have to make a word with them.

The word is checked in a dictionary (a file with all the valid words).

You can add your own words and customise the number of random letters and rounds in a game!

Installation

Note

The game is only supported on Linux.

1. Install from AUR

If you're using an Arch based Linux distribution you can get the game from the Arch User Repository here!

Manually:

git clone https://aur.archlinux.org/scrabble-1d.git
cd scrabble-1d
makepkg -si

Using a helper:

yay -S scrabble-1d

2. Normal install

Make sure you have these libraries installed:

  • glib-2.0
  • json-glib
  • ncurses + menu & form libraries

After that there are two ways to install the game:

Build from tarball (Recommended)

Download and extract the latest release archive. Then in the main directory do:

./configure
make
sudo make install

Build from source code

For this you will need to have pkg-config and autotools (autoconf and automake) installed.

Download the source code from Github and in the main directory do:

./autogen.sh
./configure
make
sudo make install

History

This game was created as an end of the year school project for a C programming class.

Me and my classmates developed this game as a team (You can find their profiles in the contributors tab). We first created the base game without any fancy interface and that's what we presented to our teacher. After that I continued to develop the game alone. I added autotools, ncurses UI and lots of other things in order to make this project as professional as possible.

Here's how we split up the work initially (kind of):

  • Game logic - Danail Bozhkov (good job man)
  • Generating and fetching a trie structure - Yassen Efremov (i also kinda managed the whole project)
  • Other trie structure operations - Lachezar Velinov (helped me and i helped him, my guy)
  • Validating a word in the trie structure - Lachezar Lazarov (you know what you did...)

Nevertheless I would like to thank them all for participating in this project with me. The whole development process was a major learning experience and I'm very glad it turned out the way it did.