SHARE
TWEET

Untitled

a guest Jan 26th, 2020 105 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. #define guessingWordSize 10
  6. #define guessingFromLetterSize 20
  7. #define clear() printf("\033[H\033[J")
  8.  
  9. void delay(int milliseconds);
  10. char guessingLetter[guessingFromLetterSize];
  11.  
  12. void gameLoad(int delayTime,int dot){
  13.     char a[100]="Loading";
  14.     for(int x=0;x<dot;x++){
  15.         printf("\n");
  16.         delay(delayTime);
  17.         clear();
  18.         strcat(a,".");
  19.         printf("%s",a);
  20.     }
  21.     printf("\n");
  22.  
  23. }
  24.  
  25.  
  26. void hangMan(int index){
  27.     char *HANGMANPICS[7] = {
  28.         "\n  +---+\n  |   |\n      |\n      |\n      |\n      |\n=========\n",
  29.         "\n  +---+\n  |   |\n  O   |\n      |\n      |\n      |\n=========\n",
  30.         "\n  +---+\n  |   |\n  O   |\n  |   |\n      |\n      |\n=========\n",
  31.         "\n  +---+\n  |   |\n  O   |\n /|   |\n      |\n      |\n=========\n",
  32.         "\n  +---+\n  |   |\n  O   |\n /|\\  |\n      |\n      |\n=========\n",
  33.         "\n  +---+\n  |   |\n  O   |\n /|\\  |\n /    |\n      |\n=========\n",
  34.         "\n  +---+\n  |   |\n  O   |\n /|\\  |\n / \\  |\n      |\n=========\n"
  35.     };
  36.     printf("%s",HANGMANPICS[index]);
  37. }
  38.  
  39.  
  40.  
  41. void welcomeMessage(){
  42. char *message = "░██╗░░░░░░░██╗███████╗██╗░░░░░░█████╗░░█████╗░███╗░░░███╗███████╗  ████████╗░█████╗░\n░██║░░██╗░░██║██╔════╝██║░░░░░██╔══██╗██╔══██╗████╗░████║██╔════╝  ╚══██╔══╝██╔══██╗\n░╚██╗████╗██╔╝█████╗░░██║░░░░░██║░░╚═╝██║░░██║██╔████╔██║█████╗░░  ░░░██║░░░██║░░██║\n░░████╔═████║░██╔══╝░░██║░░░░░██║░░██╗██║░░██║██║╚██╔╝██║██╔══╝░░  ░░░██║░░░██║░░██║\n░░╚██╔╝░╚██╔╝░███████╗███████╗╚█████╔╝╚█████╔╝██║░╚═╝░██║███████╗  ░░░██║░░░╚█████╔╝\n░░░╚═╝░░░╚═╝░░╚══════╝╚══════╝░╚════╝░░╚════╝░╚═╝░░░░░╚═╝╚══════╝  ░░░╚═╝░░░░╚════╝░\n\n██╗░░██╗░█████╗░███╗░░██╗░██████╗░███╗░░░███╗░█████╗░███╗░░██╗\n██║░░██║██╔══██╗████╗░██║██╔════╝░████╗░████║██╔══██╗████╗░██║\n███████║███████║██╔██╗██║██║░░██╗░██╔████╔██║███████║██╔██╗██║\n██╔══██║██╔══██║██║╚████║██║░░╚██╗██║╚██╔╝██║██╔══██║██║╚████║\n██║░░██║██║░░██║██║░╚███║╚██████╔╝██║░╚═╝░██║██║░░██║██║░╚███║\n╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░╚══╝░╚═════╝░╚═╝░░░░░╚═╝╚═╝░░╚═╝╚═╝░░╚══╝\n";
  43.  
  44. char *credit="\n\t\t\t\t\t\t\t\t\t██████████████████████████████████████████████████████████████████████████\n\t\t\t\t\t\t\t\t\t█─▄▄▄─█─▄▄─█▄─▄▄▀█▄─▄▄─█▄─▄▄▀███▄─▄─▀█▄─█─▄███▄─▄─▀█▄─▄█▄─▄─▀█▄─▄▄─█▄─█─▄█\n\t\t\t\t\t\t\t\t\t█─███▀█─██─██─██─██─▄█▀██─██─████─▄─▀██▄─▄█████─▄─▀██─███─▄─▀██─▄█▀██─▄▀██\n\t\t\t\t\t\t\t\t\t▀▄▄▄▄▄▀▄▄▄▄▀▄▄▄▄▀▀▄▄▄▄▄▀▄▄▄▄▀▀▀▀▄▄▄▄▀▀▀▄▄▄▀▀▀▀▄▄▄▄▀▀▄▄▄▀▄▄▄▄▀▀▄▄▄▄▄▀▄▄▀▄▄▀";
  45.  
  46.  
  47. printf("%s\n\n",message);
  48. printf("\t\t\t%s",credit);
  49. }
  50.  
  51.  
  52. char *words(int index){
  53.     char *guessingWord[guessingWordSize]={"niraj","noone","amazing","nothing","pubg"
  54.                                           "omegal","nepali","buddha","lsd","drop"
  55.                                         };
  56.     return guessingWord[index];
  57. }
  58. void guessASCII(){
  59.     char *guess = "\n█▀▀ █░█ █▀▀ █▀ █▀   ▀█▀ █░█ █▀▀   █░█░█ █▀█ █▀█ █▀▄\n█▄█ █▄█ ██▄ ▄█ ▄█   ░█░ █▀█ ██▄   ▀▄▀▄▀ █▄█ █▀▄ █▄▀\n";
  60.     printf("%s",guess);
  61. }
  62. char guessingFrom(char *word){
  63.    
  64.     int len = strlen(word);
  65.     int correct[len];
  66.     for (int i = 0; i < len; i++){
  67.         correct[i]=  rand() % guessingFromLetterSize;
  68.         for (int j = 0; j < i; j++){
  69.             if(correct[j]==correct[i]){
  70.                 i--;
  71.                 break;
  72.             }
  73.         }
  74.        
  75.     }
  76.     for(int i=0;i<len;i++){
  77.         guessingLetter[correct[i]]=word[i];
  78.     }
  79.     int sortTemp;
  80.     for(int i=0;i<len;i++){
  81.         for(int j=i+1;j<len;j++){
  82.             if (correct[i]>correct[j]){
  83.                 sortTemp = correct[i];
  84.                 correct[i]=correct[j];
  85.                 correct[j]=sortTemp;
  86.             }
  87.            
  88.         }
  89.     }
  90.     int matched = 0;
  91.     for(int i=0;i<guessingFromLetterSize;i++){
  92.         char letter = 'a'+ (rand() %25);
  93.         if(correct[matched]==i){
  94.             matched++;
  95.             continue;
  96.         }
  97.         guessingLetter[i]=letter;
  98.     }
  99. }
  100. int correctlyGuessed[100];
  101. int incorrect=0,correct=0;
  102.  
  103. void guessingPanel(int incorrect,char *word){
  104.     clear();
  105.     guessASCII();
  106.     hangMan(incorrect);
  107.     printf("\n\n\n");
  108.     for(int i=0;i<guessingFromLetterSize;i++){
  109.         printf("%c\t",guessingLetter[i]);
  110.         if((i+1)==((int)(guessingFromLetterSize/2))){
  111.             printf("\n");
  112.         }
  113.     }
  114.     printf("\n\n\n");
  115.     for(int i=0;i<strlen(word);i++){
  116.         int temp=0;
  117.         for(int j=0;j<correct;j++){
  118.             if(correctlyGuessed[j]==i){
  119.                 temp=1;
  120.             }
  121.         }
  122.         if(temp==1){
  123.             printf(" %c \t",word[i]);
  124.         }else{
  125.             printf("   \t");
  126.         }
  127.     }
  128.     printf("\n");
  129.     for(int i=0;i<strlen(word);i++){
  130.         printf("___\t");
  131.     }
  132. }
  133.  
  134. int searchInGuessingWords(char userGuess){
  135.     for(int i=0;i<guessingFromLetterSize;i++){
  136.         if(guessingLetter[i]==userGuess){
  137.             return 0;
  138.         }
  139.     }
  140.     return -1;
  141. }
  142.  
  143. void validGuess(char guessedWord,char* word){
  144.     int temp=0,incorrectTemp=0;
  145.     for(int i=0;i<strlen(word);i++){
  146.         for(int j=0;j<correct;j++){
  147.             if(correctlyGuessed[j]==i){
  148.                 temp=1;
  149.             }
  150.         }
  151.         if(temp==1){
  152.             temp=0;
  153.             continue;
  154.         }
  155.         if(word[i]==guessedWord){
  156.             correctlyGuessed[correct]=i;
  157.             correct++;
  158.             incorrectTemp=1;
  159.             break;
  160.         }
  161.     }
  162.     if(incorrectTemp==0){
  163.         incorrect++;
  164.         printf("hello WORLD %d",incorrect);
  165.     }
  166. }
  167. void result(int a){
  168.     clear();
  169.     char *won="\n█▄█ █▀█ █░█   █░█░█ █▀█ █▄░█ █\n░█░ █▄█ █▄█   ▀▄▀▄▀ █▄█ █░▀█ ▄\n";
  170.     char *lose="\n█▄█ █▀█ █░█   █░░ █▀█ █▀ █▀▀ █\n░█░ █▄█ █▄█   █▄▄ █▄█ ▄█ ██▄ ▄\n";
  171.     if(a==0){
  172.         printf("%s",lose);
  173.     }else{
  174.         printf("%s",won);
  175.     }
  176. }
  177. int main(){
  178.     repeat:
  179.     gameLoad(500,5);
  180.     clear();
  181.     welcomeMessage();
  182.     printf("\n\nPress any enter to continue...");
  183.     getchar();
  184.     srand (time(0));
  185.     int choosedWord = rand() % guessingWordSize;
  186.     char *word =  words(choosedWord);
  187.     int wordLength = strlen(word);
  188.     char correctGuess[wordLength];
  189.     guessingFrom(word);
  190.     guessingPanel(incorrect,word);
  191.     char userGuess;
  192.  
  193.     while(incorrect!=6){
  194.         guessingPanel(incorrect,word);
  195.         printf("\n\nGuess the Word :",word);
  196.         scanf(" %c",&userGuess);
  197.         validGuess(userGuess,word);
  198.         int valid =searchInGuessingWords(userGuess);
  199.         if (valid==-1){
  200.             clear();
  201.             printf("\nAre you blind check the letters again[ENTER]?\n");
  202.             char a ;
  203.             while((a=getchar())!='\n');
  204.             getchar();
  205.         }
  206.         if(correct==wordLength){
  207.             result(1);
  208.             break;
  209.         }
  210.         if(incorrect==6){
  211.             result(0);
  212.         }
  213.     }
  214.     return 0;
  215. }
  216.  
  217. void delay(int milliseconds){
  218.     long pause;
  219.     clock_t now,then;
  220.  
  221.     pause = milliseconds*(CLOCKS_PER_SEC/1000);
  222.     now = then = clock();
  223.     while( (now-then) < pause )
  224.         now = clock();
  225. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top