Skip to content

BoardGamr-Engine is Game Engine to make console board games in c/c++ it provide all the necessary methods to make simple game using only ASCII characters provides various types of board,game cards,dice and player modules

License

Notifications You must be signed in to change notification settings

haseeb-heaven/boardgamr-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cover_logo

Board-Gamr is Game Engine to make console board games in c/c++ it provide all the necessary methods to make simple game using only ASCII characters It provides various types of Board,game Cards,Dice and Player modules. It works with all OS Windows,Mac,Linux etc because it used only standard header files.

NOTE : This game engine doesnt provide any GUI and works with console CLI based games.

AIM : The aim of this engine is only to provide the most efficient way of creating board games with pure c/c++ (no 3rd party library required) and with portability to any OS (Windows,Mac,Linux).

FEATURES :
1)Fast and flexible modules and methods to create board/player,cards and more.
2)Board module to access,manipulate game boards easily by row/columns/diagonals etc.
3)Player module to access,manipulate player's position/character easily.
4)Card module to add/remove/shuffle/draw game cards easily with automatic deck management.
5)Dice module to manage game die/dices and coins easily.
6)Time module to manage game time easily.
7)Font module to draw fonts that supports FIGlet fonts with no external dependency.
8)Inbuilt tools for converting/filling all type of arrays.
9)Adanced memory efficient design by selecting specific module at compile time.
10)Portable Game engine works any OS (Windows,Mac,Linux) with pure c/c++ (no 3rd party library required).

How to import any module :

Using specific module.

Using this format of macro USE%MODULE-NAME%MODULE example USE_BOARD_MODULE.
use_module

Using all modules.

Use macro USE_ALL_MODULES to import all modules.
use_all_modules

Engine Modules :

Board Module :

Init/Drawing various game boards :

Using BG_InitGameBoard() and BG_DrawGameBoard() methods.

Alternate game board
alt_game_board

Sequential game board
seq_game_board

Filling data in game board by rows/cols/diagonals :

Using BG_FillBoardRow(),BG_FillBoardCol(),BG_FillBoardDiagonals() methods.

Game data by row.
fill_row

Game data by column.
fill_cols

Game data by left/rightdiagonals.
fill_left_diag fill_right_diag

Get information about game board :

Using BG_GetBoardInfo(),BG_GetPieceInfo() methods. Get board information.
get_board_info

Card Module :

Get/draw deck of cards :

QUARTER-DECK Using BG_DrawDeck() and BG_DrawDeck() methods.
quarter_deck

HALF-DECK Using BG_GetHalfDeck() and BG_DrawDeck() methods.
half_deck

FULL-DECK Using BG_GetFullDeck() and BG_DrawDeck() methods.
full_deck

RAND-DECK Using BG_GetRandDeck() and BG_DrawDeck() methods.
rand_deck

Add/Remove/Move/Copy/Shuffle cards :

ADDING-CARDS Using BG_AddCard(),BG_AddCards() methods.
add_card

REMOVING-CARDS Using BG_RemoveCard(),BG_RemoveCards() methods.
remove_card

MOVING-CARDS Using BG_MoveCards() method.
move_cards

COPYING-CARDS Using BG_CopyCards() method.
copy_cards

SHUFFLE-DECK Using BG_ShuffleDeck() method.
shuffle_deck

Player Module :

Get player turns :

PLAYER-TURNS Using BG_GetPlayerTurn() method.
player_turn

RAND-TURNS Using BG_GetRandTurn() method.
rand_turn

Get player position/percent :

PLAYER-POSITION Using BG_GetRandPosition() method.
rand_pos

PLAYER-PERCENT Using BG_GetScorePercent() method.
score_percent

Dice Module :

Roll dices/coins :

ROLL-DICE Using BG_RollDie(),BG_RollDice() methods.
roll_die roll_dice

FLIP-COIN Using BG_FlipCoin() method.
flip_coin

Fonts Module :

Drawing text in various fonts :

FONT-TEXT Using BG_DrawFont(),BG_DrawFontEx() methods.
font_slant

FONT-DEFAULT Using BG_DrawFontDefault(),BG_DrawFontEx() methods.
font_default font_default_allign

FONT-WIDTH-ALLIGN Using BG_DrawFontArgs() method.
font_args

FONT-WIDTH-ALLIGN-WITH-ARGS Using BG_DrawFontVargs(),BG_DrawFontVargsEx() methods.
font_vargs

FONT-RIGHT-TO-LEFT Using BG_DrawFontRTL() method.
font_rtl

Time Module :

Start/Stop/Delay time :

START-STOP-TIME Using BG_StartTime(),BG_StopTime() methods.
timer_start_stop

DELAY-TIME Using BG_TimeDelay() method.
time_delay

Misc Module :

Fill/Convert Arrays. :

FILL-ARRAYS Using BG_FillArray() method.
fill_array

CONVERT-ARRAYS Using BG_ConvertArray() method.
convert_array

Generate random and clear console screen :

RANDOM-GENERATOR Using BG_RandGenerator() method.
random_ranges

CLEAR-CONSOLE Using BG_ClearScreen() method.
clear_screen

BoardGamr-Engine Logs and errors :

Error/Exception Handling :

All the error/exception handling is done by engine itself like if you tried to enter invalid data in board,or adding wrong cards to deck or forgot to import any module from engine etc engine will throw error.So you don't have to check for any error by yourself.

error_no_module board_error

Methods Accessibility :

All Public and Semi-Public methods are accessible . But Private methods are not and library will throw error if you tried to access them.

private_method_error

Engine Logs :

Logs are disabled by default but if you want engine to maintain logs use BG_EnableLogs() method to enable logs. or if you want to disable logs again you can use BG_DisableLogs() method.

enable_disable_logs

DOCUMENTATION INFO : Go to docs folder and open index.html or click here BoardGamr-Docs

VERSION INFO :
BoardGamr-Engine Version : V 1.0 Dated : 17/02/2019.

Releases

No releases published

Packages

No packages published