I2luY2x1ZGUgJmx0O3N0ZGlvLmgmZ3Q7CiNpbmNsdWRlICZsdDtzdGRsaWIuaCZndDsKI2luY2x1ZGUgJmx0O3RpbWUuaCZndDsKI2luY2x1ZGUgJmx0O3N0cmluZy5oJmd0OwojaW5jbHVkZSAmcXVvdDtmb2MgZmEyMi5oJnF1b3Q7Cgp2b2lkIHN0YXJ0R3Vlc3NUaGVOdW1iZXJHYW1lKCk7CnZvaWQgc3RhcnRIYW5nTWFuR2FtZSgpOwppbnQgbWFpbiAoKQp7CgogICAgaW50IENob2ljZTsKICAgIGNoYXIgdXNlcl9OYW1lWzIwXTsKICAgIGludCB1c2VyX0lucHV0PTA7CgogICAgcHJpbnRmICgmcXVvdDtFbnRlciB5b3UgbmFtZTogJnF1b3Q7KTsKICAgIHNjYW5mKCZxdW90OyVzJnF1b3Q7LCB1c2VyX05hbWUpOwogICAgcHJpbnRmKCZxdW90O1dlbGNvbWUgJXMhXG4mcXVvdDssIHVzZXJfTmFtZSk7CiAgICBwcmludCAoJnF1b3Q7UGxlYXNlIGVudGVyIHRoZSBudW1iZXIgb2YgdGhlIGdhbWUgeW91IHdpc2ggdG8gcGxheSwgb3IgY2hvb3NlIEV4aXQuIFxuJnF1b3Q7KTsKCiAgICBpbnQgbG9vcGVyPTE7CiAgICB3aGlsZShsb29wZXIpCiAgICB7CiAgICAgICAgcHJpbnRmKCZxdW90OzEuR3Vlc3MgVGhlIE51bWJlci4gXG4yLkhhbmdNYW4uIFxuMy5FeGl0LlxuJnF1b3Q7KTsKICAgICAgICBzY2FuZigmcXVvdDslZCZxdW90OywgJmFtcDtDaG9pY2UpOwoKICAgICAgICBpZihDaG9pY2U9PTEpCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoJnF1b3Q7R3Vlc3MgdGhlIE51bWJlciBnYW1lIGhhcyBzdGFydGVkISBcbiZxdW90Oyk7CiAgICAgICAgICAgIHByaW50ZigmcXVvdDtFbnRlciBhIHNlY3JldCBudW1iZXIgYmV0d2VlbiAxIGFuZCAxMDAwMDpcbiZxdW90Oyk7CgogICAgICAgICAgICBzY2FuZigmcXVvdDslZCZxdW90OywgJmFtcDt1c2VyX0lucHV0KTsKCiAgICAgICAgICAgIGlmICh1c2VyX0lucHV0Jmd0Oz0xICZhbXA7JmFtcDsgdXNlcl9JbnB1dCZsdDs9MTAwMDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHN0YXJ0R3Vlc3NUaGVOdW1iZXJHYW1lKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHByaW50ZiAoJnF1b3Q7SW52YWxpZCBjaG9pY2UmcXVvdDspOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CgoKICAgICAgICBlbHNlIGlmKENob2ljZT09MikKICAgICAgICB7CiAgICAgICAgICAgIHN0YXJ0SGFuZ01hbkdhbWUoKTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZihDaG9pY2U9PTMpCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoJnF1b3Q7RXhpdGluZyB0aGUgZ2FtZSBwcm9ncmFtLi4uLi4uLlxuJnF1b3Q7KSA7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoJnF1b3Q7SW52YWxpZCBjaG9pY2UhXG4gUGxlYXNlIGNob29zZSBvbmUgb2YgdGhlIGxpc3RlZCBvcHRpb25zXG4mcXVvdDspOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQoKdm9pZCBzdGFydEd1ZXNzVGhlTnVtYmVyR2FtZSgpCnsKICAgIGludCBtYXhpbXVtX0xpbWl0PTEwMDAwLG1pbmltdW1fTGltaXQ9MSxjb3VudD0xLHVzZXJfQ2hvaWNlPTA7CgogICAgd2hpbGUgKHVzZXJfQ2hvaWNlIT0xKQogICAgewogICAgICAgIGludCBtaWRkbGVfT2ZfUmFuZ2U9KG1heGltdW1fTGltaXQrbWluaW11bV9MaW1pdCkvMjsKCiAgICAgICAgcHJpbnRmKCZxdW90O1RoZSBudW1iZXIgSSBndWVzc2VkIGlzIDogJWRcbiZxdW90OywgbWlkZGxlX09mX1JhbmdlKTsKCiAgICAgICAgcHJpbnRmICgmcXVvdDtQbGVhc2UgY2hvb3NlIG9uZSBvZiB0aGUgZm9sbG93aW5nIDMgb3B0aW9uczogXG4xLk15IGd1ZXNzIGlzIGNvcnJlY3RcbjIuIFRoZSBzZWNyZXQgbnVtYmVyIHRzIGxhcmdlciB0aGFuICVkXG4zLiBUaGUgc2VjcmV0IG51bWJlciBpcyBzbWFsbGVyIHRoYW4gJWRcbiZxdW90OyxtaWRkbGVfT2ZfUmFuZ2UsIG1pZGRsZV9PZl9SYW5nZSk7CiAgICAgICAgc2NhbmYoJnF1b3Q7JWQmcXVvdDssICZhbXA7dXNlcl9DaG9pY2UpOwogICAgICAgIHN3aXRjaCAodXNlcl9DaG9pY2UpCiAgICAgICAgewogICAgICAgIGNhc2UgMToKICAgICAgICAgICAgcHJpbnRmKCZxdW90O1RoZSBzZWNyZXQgbnVtYmVyIGlzOiAlZFxuIEFtb3VudCBvZiB0aW1lcyB0YWtlbiB0byBjb3JyZWN0bHkgZ3Vlc3MgdGhlIG51bWJlcjogJWQgdGltZXNcbiZxdW90OywgbWlkZGxlX09mX1JhbmdlLCBjb3VudCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgbWluaW11bV9MaW1pdCA9IG1pZGRsZV9PZl9SYW5nZSArIDE7CiAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgbWF4aW11bV9MaW1pdCA9IG1pZGRsZV9PZl9SYW5nZSAtIDE7CiAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHByaW50ZigmcXVvdDtQbGVhc2UgY2hvb3NlIGEgdmFsaWQgb3B0aW9uIGZyb20gdGhlIG1lbnVcblxuJnF1b3Q7KTsKICAgICAgICB9CiAgICB9CgoKICAgIGludCB1c2VyX0Nob2ljZTI9MDsKICAgIGludCBpbWFnZV9BcnJheVsxNTBdWzE1MF07CgogICAgd2hpbGUgKHVzZXJfQ2hvaWNlMiAhPTEpCiAgICB7CiAgICAgICAgZm9yIChpbnQgaT0wOyBpJmx0OzE1MDsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgZm9yIChpbnQgaz0wOyBrJmx0OzE1MDsgaysrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpbWFnZV9BcnJheVtpXVtrXT0yNTU7CiAgICAgICAgICAgICAgICBpZiAoaSZndDsxNTAtKGNvdW50KjEwKSAmYW1wOyZhbXA7IChrJmd0OzY1ICZhbXA7JmFtcDsgayZsdDs4NSkpCiAgICAgICAgICAgICAgICAgICAgaW1hZ2VfQXJyYXlbaV1ba109MDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBzaG93QXJyYXkoMTUwLDE1MCxpbWFnZV9BcnJheSk7CiAgICAgICAgYnJlYWs7CiAgICB9Cn0KCgoKCnZvaWQgc3RhcnRIYW5nTWFuR2FtZSgpCnsKICAgIEZJTEUqSGFuZ21hbjsKICAgIGNoYXIgd29yZFs1MF09JnF1b3Q7ICZxdW90OzsKICAgIGNoYXIgd29yZDJbNTBdPSZxdW90OyAmcXVvdDs7CiAgICBjaGFyIHVzZXJfR3Vlc3M7CiAgICBpbnQgaGFuZ21hbl9HYW1lX0Nob2ljZTsKICAgIGludCByYW5kb20sY291bnQ9MCxleGl0PTAsbG9vcGVyMj0xOwoKICAgIHdoaWxlIChsb29wZXIyKQogICAgewogICAgICAgIHByaW50ZigmcXVvdDtjaG9vc2Ugb25lIG9mIHRoZSBjYXRlZ29yaWVzOiBcbjEuIEZvb2RcbjIuIENvbG9yc1xuMy4gTmFtZXNcbjQuIE9iamVjdHNcbiZxdW90Oyk7CiAgICAgICAgc2NhbmYoJnF1b3Q7JWQmcXVvdDssICZhbXA7aGFuZ21hbl9HYW1lX0Nob2ljZSk7CiAgICAgICAgc3dpdGNoIChoYW5nbWFuX0dhbWVfQ2hvaWNlKQogICAgICAgIHsKICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgIEhhbmdtYW49Zm9wZW4oJnF1b3Q7Rm9vZC50eHQmcXVvdDssICZxdW90O3ImcXVvdDspOwogICAgICAgICAgICBsb29wZXIyPTA7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgSGFuZ21hbj1mb3BlbigmcXVvdDtDb2xvcnMudHh0JnF1b3Q7LCAmcXVvdDtyJnF1b3Q7KTsKICAgICAgICAgICAgbG9vcGVyMj0wOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgIEhhbmdtYW49Zm9wZW4oJnF1b3Q7TmFtZXMudHh0JnF1b3Q7LCAmcXVvdDtyJnF1b3Q7KTsKICAgICAgICAgICAgbG9vcGVyMj0wOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgIEhhbmdtYW49Zm9wZW4oJnF1b3Q7T2JqZWN0cy50eHQmcXVvdDssICZxdW90O3ImcXVvdDspOwogICAgICAgICAgICBsb29wZXIyPTA7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBwcmludGYoJnF1b3Q7aW52YWxpZCBDaG9pY2VcbiZxdW90Oyk7CgogICAgICAgICAgICBicmVhazsKICAgICAgICB9CgogICAgICAgIHNyYW5kKHRpbWUoTlVMTCkpOwogICAgICAgIHJhbmRvbSA9IHJhbmQgKCkgJSAxNTsKICAgICAgICBmb3IoaW50IGk9MDsgaSZsdDtyYW5kb20gOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBmc2NhbmYoSGFuZ21hbiwgJnF1b3Q7JXMmcXVvdDssIHdvcmQpOwogICAgICAgIH0KICAgICAgICBmY2xvc2UoSGFuZ21hbik7CgogICAgICAgIGludCBsZW5ndGg9c3RybGVuKHdvcmQpOwogICAgICAgIGNvdW50PWxlbmd0aCsxOwoKICAgICAgICBmb3IoaW50IGw9MDsgbCZsdDtsZW5ndGg7IGwrKykKICAgICAgICB7CiAgICAgICAgICAgIHdvcmQyW2xdPSctJzsKICAgICAgICB9CgogICAgICAgIGZvciAoaW50IGs9MDsgayZsdDtsZW5ndGgrMTsgaysrKQogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRmKCZxdW90O1RoZSB3b3JkIHNvIGZhciBpc1xuJnF1b3Q7KTsKICAgICAgICAgICAgZm9yIChpbnQgej0wOyB6Jmx0O2xlbmd0aDogeisrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBwcmludGYoJnF1b3Q7JWMmcXVvdDssIHdvcmQyW3pdKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBwcmludGYoJnF1b3Q7XG5Zb3UgaGF2ZSAlZCBhdHRlbXB0cyByZW1haW5pbmc6JnF1b3Q7LCBjb3VudCk7CiAgICAgICAgICAgIHNjYW5mKCZxdW90OyVjJnF1b3Q7LCAmYW1wO3VzZXJfR3Vlc3MpOwoKICAgICAgICAgICAgZm9yIChpbnQgaT0wOyBpJmx0O2xlbmd0aDsgaSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAodXNlcl9HdWVzcz09d29yZFtpXSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwcmludGYoJnF1b3Q7XG5Zb3UgaGF2ZSAlZCBhdHRlbXB0cyByZW1haW5pbmc6ICZxdW90OywgY291bnQpOwogICAgICAgICAgICAgICAgICAgIHNjYW5mKCZxdW90OyVjJnF1b3Q7LCAmYW1wO3VzZXJfR3Vlc3MpOwoKICAgICAgICAgICAgICAgICAgICBmb3IgKGludCB2PTA7IHYmbHQ7bGVuZ3RoOyB2KyspCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAodXNlcl9HdWVzcz09d29yZFt2XSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZDJbdl09dXNlcl9HdWVzczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigmcXVvdDtDb3JyZWN0ISBLZWVwIGdvaW5nXG4mcXVvdDspOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhpdD0xOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmIChleGl0PT0wKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCZxdW90O05vdCBxdWl0ISBUcnkgYWdhaW4hXG4mcXVvdDspOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZihzdHJjbXAod29yZCx3b3JkMik9PTApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgY291bnQgLS07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKHN0cmNtcCh3b3JkLHdvcmQyKT09MCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwcmludGYoJnF1b3Q7Q29uZ3JhdHVsYXRpb25zISEgWW91IGZvdW5kIHRoZSB3b3JkIVxuJnF1b3Q7KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwcmludGYoJnF1b3Q7SGFyZCBsdWNrISBZb3Ugd2VyZSBub3QgYWJsZSB0byBmaW5kIHRoZSB3b3JkIDooIFxuJnF1b3Q7KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQo=
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include "foc fa22.h"
void startGuessTheNumberGame();
void startHangManGame();
int main ()
{
int Choice;
char user_Name[20];
int user_Input=0;
printf ("Enter you name: ");
scanf("%s", user_Name);
printf("Welcome %s!\n", user_Name);
print ("Please enter the number of the game you wish to play, or choose Exit. \n");
int looper=1;
while(looper)
{
printf("1.Guess The Number. \n2.HangMan. \n3.Exit.\n");
scanf("%d", &Choice);
if(Choice==1)
{
printf("Guess the Number game has started! \n");
printf("Enter a secret number between 1 and 10000:\n");
scanf("%d", &user_Input);
if (user_Input>=1 && user_Input<=10000)
{
startGuessTheNumberGame();
}
else
printf ("Invalid choice");
break;
}
else if(Choice==2)
{
startHangManGame();
}
else if(Choice==3)
{
printf("Exiting the game program.......\n") ;
break;
}
else
{
printf("Invalid choice!\n Please choose one of the listed options\n");
}
}
return 0;
}
void startGuessTheNumberGame()
{
int maximum_Limit=10000,minimum_Limit=1,count=1,user_Choice=0;
while (user_Choice!=1)
{
int middle_Of_Range=(maximum_Limit+minimum_Limit)/2;
printf("The number I guessed is : %d\n", middle_Of_Range);
printf ("Please choose one of the following 3 options: \n1.My guess is correct\n2. The secret number ts larger than %d\n3. The secret number is smaller than %d\n",middle_Of_Range, middle_Of_Range);
scanf("%d", &user_Choice);
switch (user_Choice)
{
case 1:
printf("The secret number is: %d\n Amount of times taken to correctly guess the number: %d times\n", middle_Of_Range, count);
break;
case 2:
minimum_Limit = middle_Of_Range + 1;
count++;
continue;
case 3:
maximum_Limit = middle_Of_Range - 1;
count++;
continue;
default:
printf("Please choose a valid option from the menu\n\n");
}
}
int user_Choice2=0;
int image_Array[150][150];
while (user_Choice2 !=1)
{
for (int i=0; i<150; i++)
{
for (int k=0; k<150; k++)
{
image_Array[i][k]=255;
if (i>150-(count*10) && (k>65 && k<85))
image_Array[i][k]=0;
}
}
showArray(150,150,image_Array);
break;
}
}
void startHangManGame()
{
FILE*Hangman;
char word[50]=" ";
char word2[50]=" ";
char user_Guess;
int hangman_Game_Choice;
int random,count=0,exit=0,looper2=1;
while (looper2)
{
printf("choose one of the categories: \n1. Food\n2. Colors\n3. Names\n4. Objects\n");
scanf("%d", &hangman_Game_Choice);
switch (hangman_Game_Choice)
{
case 1:
Hangman=fopen("Food.txt", "r");
looper2=0;
break;
case 2:
Hangman=fopen("Colors.txt", "r");
looper2=0;
break;
case 3:
Hangman=fopen("Names.txt", "r");
looper2=0;
break;
case 4:
Hangman=fopen("Objects.txt", "r");
looper2=0;
break;
default:
printf("invalid Choice\n");
break;
}
srand(time(NULL));
random = rand () % 15;
for(int i=0; i<random ; i++)
{
fscanf(Hangman, "%s", word);
}
fclose(Hangman);
int length=strlen(word);
count=length+1;
for(int l=0; l<length; l++)
{
word2[l]='-';
}
for (int k=0; k<length+1; k++)
{
printf("The word so far is\n");
for (int z=0; z<length: z++)
{
printf("%c", word2[z]);
}
printf("\nYou have %d attempts remaining:", count);
scanf("%c", &user_Guess);
for (int i=0; i<length; i++)
{
if (user_Guess==word[i])
{
printf("\nYou have %d attempts remaining: ", count);
scanf("%c", &user_Guess);
for (int v=0; v<length; v++)
{
if (user_Guess==word[v])
{
word2[v]=user_Guess;
printf("Correct! Keep going\n");
exit=1;
}
}
if (exit==0)
{
printf("Not quit! Try again!\n");
}
if(strcmp(word,word2)==0)
{
break;
}
count --;
}
if (strcmp(word,word2)==0)
{
printf("Congratulations!! You found the word!\n");
}
else
{
printf("Hard luck! You were not able to find the word :( \n");
}
}
}
}
}