# Rock, Paper, Scissors Game in C Program Mini Project

Let’s make Rock, Paper, Scissors game in C. This code asks the user 3 times (means 3 round) to enter ‘1’, ‘2’ and ‘3’ means Rock, Paper, and Scissors respectively. Code has a random function that generates ‘1’, ‘2’ and ‘3’. Every time (loop or round) code display who wins (i.e. if you enter ‘r’ (actually ‘1’) and computer or random function generate ‘s’ then code display, ‘You Got It!‘). After 3 rounds who won more round will win the game. In every round score counter increase by 1 if anyone wins that round. If in any round you and computer generate the same character then code display ‘It’s a draw. Both got 1 point!‘ and if the final score will the same then you need to play again and code shows ‘It’s a draw’.

Rock, Paper, Scissors Game in C

## rock-paper-scissors.c

```//Follow me on insta - @code_snail
//rock, paper & scissors -
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int generateRandomNumber(int n)
{
srand(time(NULL));
return rand() % n;
}

int greater(char c1, char c2)
{
if (c1 == c2)
{
return -1;
}
else if (c1 == 'r' && c2 == 's')
{
return 1;
}
else if (c2 == 'r' && c1 == 's')
{
return 0;
}
else if (c1 == 'p' && c2 == 'r')
{
return 1;
}
else if (c2 == 'p' && c1 == 'r')
{
return 0;
}

else if (c1 == 's' && c2 == 'p')
{
return 1;
}
else if (c2 == 's' && c1 == 'p')
{
return 0;
}
}
int main()
{
int playerScore = 0, compScore = 0, temp;
char playerChar, compChar;
char dict[] = {'r', 'p', 's'};
printf("\tWelcome to the Rock Paper Scissors\n");
printf("\t----------------------------------\n\n");

for (int i = 0; i < 3; i++)
{
// Take player input
printf("Press 1 for Rock, Press 2 for Paper, Press 3 for Scissors\n\n");
printf("\tPlayer's turn: ");
scanf("%d", &temp);
getchar();
playerChar = dict[temp - 1];
printf(" -----------------\n");
printf("| You choose: %c   |\n", playerChar);
printf(" -----------------\n\n");

//computer generate
printf("Press 1 for Rock, Press 2 for Paper, Press 3 for Scissors\n\n");
printf("\tComputer's turn\n");
temp = generateRandomNumber(3) + 1;
compChar = dict[temp - 1];
printf(" --------------------\n");
printf("| Computer choose: %c |\n", compChar);
printf(" --------------------\n\n");

// compater character and increment the score
if (greater(compChar, playerChar) == 1)
{
compScore++;
printf("\t\tComputer Got It!\n\n");
}
else if (greater(compChar, playerChar) == -1)
{
compScore++;
playerScore++;
printf("\t\tIt's a draw. Both got 1 point!\n\n");
}
else
{
playerScore++;
printf("\t\tYou Got It!\n\n");
}

printf(" -------------\n");
printf("| You: %d      |\n", playerScore);
printf("| Computer: %d |\n", compScore);
printf(" -------------\n\n");

printf("===========================================================\n\n");
}

printf(" -----------------\n");
printf("|   Final Score   |\n");
printf(" -----------------\n");
printf("|  You | Computer |\n");
printf("|------|----------|\n");
printf("|   %d  |    %d     |\n", playerScore, compScore);
printf(" -----------------\n\n");

// compare score
if (playerScore > compScore)
{
printf("\n\t -------------------\n");
printf("\t| You Win the match |\n");
printf("\t -------------------\n");
}
else if (playerScore < compScore)
{
printf("\n\t ------------------------\n");
printf("\t| Computer Win the match |\n");
printf("\t ------------------------\n");
}
else
{
printf("\n\t -------------\n");
printf("\t| It's a draw |\n");
printf("\t -------------\n");
}

return 0;
}```

## Output

I hope you like this Rock, Paper Scissors C Mini Project. Share this code with your friends.

Also see:

## Support CodeSnail

If you appreciate my work, or if it has helped you along your journey. It would mean a lot to me if you could write a message on my wall and share a cup of coffee (or tea) with me.