C Graphics Program to Build a Ludo Game Board GUI Desktop App

In this article, You are going to execute the task of “C Graphics Program to Build a Ludo Game Board GUI Desktop App”. Yes, We can see the possibilities to perform this task below.

C Graphics Program to Build a Ludo Game Board GUI Desktop App

C Graphics Program to Build a Ludo Game Board GUI Desktop App

Program Code

// C program to implement
// the above approach
#include <conio.h>
#include <graphics.h>
#include <stdio.h>

// Declaring Function used
// in this program
void red_corner();
void blue_corner();
void green_corner();
void yellow_corner();
void home();
void line_red_blue();
void line_green_yellow();
void line_red_green();
void line_yellow_blue();

// Driver Code
void main()
{
	int gd = DETECT, gm;

	// Initialize of gdriver with
	// DETECT macros
	initgraph(&gd, &gm, "C:\turboc3\bgi");

	// Set Background Color
	setfillstyle(SOLID_FILL, DARKGRAY);
	floodfill(5, 5, 15);

	// Main Outer Outline
	rectangle(500, 200, 1250, 950);

	// Main Inner Outline
	rectangle(480, 180, 1270, 970);

	// Coloring The Middle Space
	setfillstyle(SOLID_FILL, BLACK);
	floodfill(485, 185, 15);

	// Calling red_corner() Function
	red_corner();

	// Calling blue_corner() Function
	blue_corner();

	// Calling green_corner() Function
	green_corner();

	// Calling yellow_corner() Function
	yellow_corner();

	// Calling home() Function
	home();

	// Calling line_red_blue() Function
	line_red_blue();

	// Calling line_green_yellow() Function
	line_green_yellow();

	// Calling line_red_green() Function
	line_red_green();

	// Calling line_yellow_blue() Function
	line_yellow_blue();

	// Holding The Screen For A While
	getch();

	// Close the initialized gdriver
	closegraph();
}

void line_yellow_blue()
{
	int x = 950;

	// Vertical Divisions
	line(950, 600, 1250, 600);
	line(950, 550, 1250, 550);

	// Loop fpr creating horizontal
	// line and coloring
	while (x < 1250) {
		line(x, 500, x, 650);
		setfillstyle(SOLID_FILL, BLUE);
		floodfill(x + 2, 555, 15);
		x = x + 50;
	}

	setfillstyle(SOLID_FILL, DARKGRAY);
	floodfill(1240, 555, 15);

	// Start Point
	setfillstyle(SOLID_FILL, BLUE);
	floodfill(1195, 605, 15);
	circle(1175, 625, 10);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(1180, 630, 15);

	// Star Point
	circle(1125, 525, 10);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(1130, 530, 15);

	// Home Decoration
	line(950, 650, 910, 600);
	line(950, 500, 910, 550);
	setfillstyle(SOLID_FILL, BLUE);
	floodfill(925, 575, 15);
}

void line_red_green()
{
	int x = 500;

	// Vertical Divisions
	line(500, 600, 800, 600);
	line(500, 550, 800, 550);

	// Loop for creating horizontal
	// line and coloring
	while (x < 800) {
		line(x, 500, x, 650);
		setfillstyle(SOLID_FILL, GREEN);
		floodfill(x + 2, 555, 15);
		x = x + 50;
	}

	setfillstyle(SOLID_FILL, DARKGRAY);
	floodfill(505, 555, 15);

	// Start Point
	setfillstyle(SOLID_FILL, GREEN);
	floodfill(555, 505, 15);
	circle(575, 525, 10);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(580, 530, 15);

	// Star Point
	circle(625, 625, 10);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(630, 630, 15);

	// Home Decoration
	line(800, 500, 840, 550);
	line(800, 650, 840, 600);
	setfillstyle(SOLID_FILL, GREEN);
	floodfill(810, 575, 15);
}

void line_red_blue()
{
	int x = 650;

	// Vertical Divisions
	line(850, 650, 850, 950);
	line(900, 650, 900, 950);

	// Loop for creating horizontal
	// line and coloring
	while (x <= 900) {
		line(800, x, 950, x);
		setfillstyle(SOLID_FILL, RED);
		floodfill(855, x + 2, 15);
		x = x + 50;
	}

	setfillstyle(SOLID_FILL, DARKGRAY);
	floodfill(855, 940, 15);

	// Start point
	setfillstyle(SOLID_FILL, RED);
	floodfill(805, 895, 15);
	circle(825, 875, 10);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(830, 880, 15);

	// Star Point
	circle(925, 825, 10);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(930, 830, 15);

	// Home Decoration
	line(800, 650, 840, 600);
	line(950, 650, 910, 600);
	setfillstyle(SOLID_FILL, RED);
	floodfill(885, 615, 15);
}

void line_green_yellow()
{
	int x = 200;

	// Vertical Divisions
	line(850, 200, 850, 500);
	line(900, 200, 900, 500);

	// Loop for creating horizontal
	// line and coloring
	while (x < 500) {
		line(800, x, 950, x);
		setfillstyle(SOLID_FILL, YELLOW);
		floodfill(855, x + 2, 15);
		x = x + 50;
	}

	setfillstyle(SOLID_FILL, DARKGRAY);
	floodfill(855, 205, 15);

	// Start Point
	setfillstyle(SOLID_FILL, YELLOW);
	floodfill(905, 255, 15);
	circle(925, 275, 10);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(930, 280, 15);
	// Star Point
	circle(825, 325, 10);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(830, 330, 15);

	// Home Decoration
	line(800, 500, 840, 550);
	line(950, 500, 910, 550);
	setfillstyle(SOLID_FILL, YELLOW);
	floodfill(885, 545, 15);
}

void red_corner()
{
	// Outer Line
	rectangle(500, 650, 800, 950);

	// Inner Line
	rectangle(550, 700, 750, 900);

	// Circles
	circle(600, 750, 30);
	circle(700, 750, 30);
	circle(600, 850, 30);
	circle(700, 850, 30);
	setfillstyle(SOLID_FILL, RED);

	// Rectangle Red
	floodfill(505, 655, 15);

	// Circle Red
	floodfill(615, 765, 15);
	floodfill(715, 765, 15);
	floodfill(615, 865, 15);
	floodfill(715, 865, 15);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(555, 705, 15);
}

void blue_corner()
{
	// Outer Line
	rectangle(950, 650, 1250, 950);

	// Inner Line
	rectangle(1000, 700, 1200, 900);

	// Circles
	circle(1050, 750, 30);
	circle(1150, 750, 30);
	circle(1050, 850, 30);
	circle(1150, 850, 30);
	setfillstyle(SOLID_FILL, BLUE);

	// Rectangle Blue
	floodfill(955, 655, 15);

	// Circle Blue
	floodfill(1065, 765, 15);
	floodfill(1165, 765, 15);
	floodfill(1065, 865, 15);
	floodfill(1165, 865, 15);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(1005, 705, 15);
}

void green_corner()
{
	// Outer Line
	rectangle(500, 200, 800, 500);

	// Inner Line
	rectangle(550, 250, 750, 450);

	// Circles
	circle(600, 300, 30);
	circle(700, 300, 30);
	circle(600, 400, 30);
	circle(700, 400, 30);
	setfillstyle(SOLID_FILL, GREEN);

	// Rectangle Green
	floodfill(505, 215, 15);

	// Circle Green
	floodfill(615, 315, 15);
	floodfill(715, 315, 15);
	floodfill(615, 415, 15);
	floodfill(715, 415, 15);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(555, 255, 15);
}

void yellow_corner()
{
	// Outer Line
	rectangle(950, 200, 1250, 500);

	// Inner Line
	rectangle(1000, 250, 1200, 450);

	// Circles
	circle(1050, 300, 30);
	circle(1150, 300, 30);
	circle(1050, 400, 30);
	circle(1150, 400, 30);
	setfillstyle(SOLID_FILL, YELLOW);

	// Rectangle Yellow
	floodfill(955, 215, 15);

	// Circle Yellow
	floodfill(1065, 315, 15);
	floodfill(1165, 315, 15);
	floodfill(1065, 415, 15);
	floodfill(1165, 415, 15);
	setfillstyle(SOLID_FILL, WHITE);
	floodfill(1005, 255, 15);
}

void home()
{
	// Outer Line
	rectangle(800, 500, 950, 650);

	// Inner Line
	rectangle(840, 550, 910, 600);

	// Coloring Middle Space Black
	setfillstyle(SOLID_FILL, BLACK);
	floodfill(860, 595, 15);

	// Printing The Text 'HOME'
	settextstyle(8, 0, 3);
	outtextxy(848, 560, "HOME");
}

Final Words

I hope this article “C Graphics Program to Build a Ludo Game Board GUI Desktop App” will be beneficial to you. If you need any help regarding this article then let us know via the comment section. We are ready to help you. Share this article with other C/C++ developers to help them.

Share on:

Hi, I'm Ranjith a full-time Blogger, YouTuber, Affiliate Marketer, & founder of Coding Diksha. Here, I post about programming to help developers.

Leave a Comment