Skip to main content

Matchstick Game using C Programming

Matchstick Game using C Programming

Write a program for a matchstick game being played between the computer and a user.
Your program should ensure that the computer always wins. Rules for the game are as follows:

-There are 21 matchsticks.
-The computer asks the player to pick 1, 2, 3 or 4 matchsticks.
-After the person picks, the computer does its picking.
-Whoever is forced to pick up the last matchstick loses the game.

-There are 21 matchsticks.
-Whoever is forced to pick up the last matchstick loses the game.
So the last one is special, so it's all about how to get rid of 20 matches in pairs of turns.

-The computer asks the player to pick 1, 2, 3 or 4 matchsticks.
So if we reduce the total by 5 each round, the sequence will go
21 16 11 6 1
In effect, whatever number the user picks (n), the computer picks 5-n



#include<stdio.h>
main()
{

int matchsticks=21, user, computer;

printf("Do not enter Invalid Numbers.\nNumbers above 4 are invalid.");

printf("\nIf you do so, the computer automatically wins.");

while (matchsticks>=1)
{

printf("\nNumber of matchsticks available right now is %d.", matchsticks);

printf("\n\nYour Turn...\n\n\n");

printf("\nPick up the matchstick(s)-- (1-4): ");
scanf ("%d", &user);

if (user>4)

{
printf("Invalid Selection");
break;
}

computer=5-user;

printf("\nComputer's Turn..\n" );
printf("\nComputer chooses:%d", computer);

matchsticks=matchsticks-user-computer;
continue;

if(matchsticks==1)

break;
}

matchsticks--;
printf("\nComputer Wins");

}

Comments

Popular posts from this blog

C Program to print the pattern

C Program to print the pattern X X Y X Y Z ........................................................................................ #include<stdio.h> #include<conio.h> void main () { int i , j ; for ( i= 88 ; i< 91 ;i ++) { for ( j = 88 ;j <= i ; j ++) { printf ( "%c" , j );                    }           printf ( "\n" ); } getch (); } ........................................................................................ OUTPUT

To Check Whether a Number is Even or Odd

C Program to Check Whether a Number is Even or Odd Numbers perfectly divisible by 2 are known even numbers and numbers which are not divisible by 2 are called odd numbers. This program takes an integer from user and checks whether that number is even or odd and displays the result. Source Code /*to check whether a number entered by user is even or odd. */ #include <stdio.h> int main() { int num; printf( "Enter an integer you want to check: " ); scanf( "%d" ,&num); if ((num% 2 )== 0 ) /* Checking whether remainder is 0 or not. */ printf( "%d is even." ,num); else printf( "%d is odd." ,num); return 0 ; } Output 1 Enter an integer you want to check : 25 25 is odd . Output 2 Enter an integer you want to check : 12 12 is even .   In this program, user is asked to enter an integer which is stored in variable num . Then,...

To Find Factorial of a Number

To Find Factorial of a Number   Factorial of a Number   For any positive number n , its factorial is given by: factorial = 1 * 2 * 3 * 4. ... n If a number is negative, factorial does not exist and factorial of 0 is 1. This program takes an integer from a user. If user enters negative integer, this program will display error message and if user enters non-negative integer, this program will display the factorial of that number. Source Code /* C program to display factorial of an integer if user enters non-negative integer. */ #include <stdio.h> int main () { int n , count ; unsigned long long int factorial = 1 ; /* you can only write int */ printf ( "\nEnter an integer: \n" ); scanf ( "%d" ,& n ); if ( n < 0 ) printf ( "\nError!!! Factorial of negative number doesn't e...