Skip to content

Andrej123456789/uno_pp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uno++

Simple game inspired by Uno with extra tweaks.

Written using C programming language and uses around 230 kilobytes of RAM.

The name UNO is a registered trademark of its respective owner. All rights to the name, logo, and related branding are fully reserved and protected under applicable trademark laws.

v2.0.0

v3.0.0

Rules

Uno rules

In short, this game uses official Uno rules with additional house rules.

Most notable differences are those that you don't have to say word uno when you have only one card left; and when +2 and +4 cards are played, next player is not skipped.

Compile

Installing dependencies

Package: Command:
git
DebianArch Linux
apt-get install gitpacman -S git
make
DebianArch Linux
apt-get install makepacman -S make
gcc
DebianArch Linux
apt-get install gccpacman -S gcc
json-c
DebianArch Linux
apt-get install libjson-c-devsudo pacman -S json-c

Notice for Windows users! You only need to install CMake and Visual Studio with C/C++ development extension!

Compiling & running

Number: Step: Command:
1 Clone a repository git clone https://github.com/Andrej123456789/uno_pp
2 Enter the src directory cd uno_pp/src
3 Compile make
4 Run the program make run
5 Enter the client directory cd ../client
6 Compile and run the client gcc client_posix.c -o client_posix && ./client_posix <ip> <port>

Notice for Windows users! Install x64 static version of json-c from vcpkg and run CMake with the following argument: -DVCPKG_ROOT="path_to_vcpkg".

Notice for Windows users! Enter Developer Command Prompt and run the following command to compile and run the client: cl client_windows.c && ./client_windows <ip> <port>.

Default settings

default.json:

{
	"match_points": 250, // number of points required to win a match
	"points_path": "settings/points.json", // path to the JSON file storing points
	"players": 2, // number of players in the game [2, INT32_MAX>
	"tweaks": [{
		"colors": true, // are colors enabled
		"stacking": true, // is stacking allowed
		"swap_card": true, // is swap card present
		"seven_o": false // is SevenO house rule enabled
	}],
	"network": [{
		"enabled": true, // is multiplayer enabled
		"port": 5555 // port number
	}]
}

points.json:

// reset manually after finishing a match
// otherwise, don't change these values manually
{ "Player 0": 0, "Player 1": 0 }

External dependencies

About

Simple game inspired by Uno with extra tweaks

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages