URI: 
       tamagotchi.h - brcon2024-hackathons - Bitreichcon 2024 Hackathons
  HTML git clone git://bitreich.org/brcon2024-hackathons git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/brcon2024-hackathons
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR Submodules
       ---
       tamagotchi.h (3324B)
       ---
            1 #ifndef TAMAGOTCHI_TAMAGOTCHI_H
            2 #define TAMAGOTCHI_TAMAGOTCHI_H
            3 
            4 #include <stdio.h>
            5 #include <string.h>
            6 #include <stdbool.h>
            7 #include <stdlib.h>
            8 #include <time.h>
            9 
           10 struct Tamagotchi{
           11 
           12     char name[50];
           13     int age;
           14     int age_of_death;
           15     int hunger;
           16     int happiness;
           17     bool alive;
           18 
           19 };
           20 
           21 void tamagotchi_sad(){
           22     printf("  .^._.^.\n"
           23            "  | ; ; |\n"
           24            " (  ---  )\n"
           25            " .'     '.\n"
           26            " |/     \\|\n"
           27            "  \\ /-\\ /\n"
           28            "   V   V\n");
           29 }
           30 
           31 void tamagotchi_happy(){
           32     printf("  .^._.^.\n"
           33            "  | . . |\n"
           34            " (  \\_/  )\n"
           35            " .'     '.\n"
           36            " |/     \\|\n"
           37            "  \\ /-\\ /\n"
           38            "   V   V\n");
           39 }
           40 
           41 void clearScreen(){
           42     #ifdef _WIN32
           43         system("cls");
           44     #else
           45         system("clear");
           46     #endif
           47 }
           48 
           49 void print_menu(){
           50     printf("What would you like to do?\n");
           51     printf("1. Feed\n");
           52     printf("2. Play\n");
           53     printf("3. Quit\n");
           54     printf("(Any onther number) Do nothing\n");
           55 }
           56 
           57 void tamagotchi_status_and_menu(struct Tamagotchi* tamagotchi){
           58 
           59     if(tamagotchi->hunger > 60 || tamagotchi->happiness <= 25){
           60         tamagotchi_sad();
           61     }else {
           62         tamagotchi_happy();
           63     }
           64     printf("My name is %s, and I'm %d years old!\n",tamagotchi->name,tamagotchi->age);
           65 
           66     if (tamagotchi->hunger > 60){
           67         printf("Hunger: (%d%%)\n\tI am starving :( \n",tamagotchi->hunger);
           68     } else if (tamagotchi->hunger > 25){
           69         printf("Hunger: (%d%%)\n\tI am hungry \n",tamagotchi->hunger);
           70     } else{
           71         printf("Hunger: (%d%%)\n\tI am not hungry :)\n",tamagotchi->hunger);
           72     }
           73 
           74     if (tamagotchi->happiness > 50){
           75         printf("Happiness: (%d%%)\n\tI am happy :) \n",tamagotchi->happiness);
           76     } else if (tamagotchi->happiness > 25){
           77         printf("Happiness: (%d%%)\n\tI am a okay \n",tamagotchi->happiness);
           78     } else{
           79         printf("Happiness: (%d%%)\n\tI am sad :( \n",tamagotchi->happiness);
           80     }
           81 
           82     print_menu();
           83 }
           84 
           85 void tamagotchi_name(struct Tamagotchi* tamagotchi){
           86     char name_var[11];
           87 
           88     printf("Hello, my name is ...\n");
           89 
           90     scanf(" %[^\n]s",name_var);
           91 
           92     while (strlen(name_var)>10 || strlen(name_var)<0){
           93         printf("Please choose another name I wont remember that\nMy name must be between 0 and 10 characters.\n");
           94 
           95         scanf(" %[^\n]s",name_var);
           96     }
           97 
           98     strcpy(tamagotchi->name,name_var);
           99 }
          100 
          101 void feed(struct Tamagotchi *tamagotchi){
          102   if (tamagotchi->hunger < 5){
          103     tamagotchi->hunger=0;
          104   } else{
          105     tamagotchi->hunger-=5;
          106   }
          107     
          108 }
          109 
          110 void play(struct Tamagotchi *tamagotchi){
          111   if (tamagotchi->happiness > 96){
          112     tamagotchi->happiness=100;
          113   } else{
          114     tamagotchi->happiness+=5;
          115   }
          116 }
          117 
          118 void check_status(struct Tamagotchi *tamagotchi){
          119     clearScreen();
          120     
          121     if (tamagotchi->happiness <= 0){
          122         tamagotchi_sad();
          123         printf("I died from being unhappy!\n");
          124         tamagotchi->alive = false;
          125     } else if (tamagotchi->hunger >= 100){
          126         tamagotchi_sad();
          127         printf("I died from being too hungry!\n");
          128         tamagotchi->alive = false;
          129     } else if (tamagotchi->age >= tamagotchi->age_of_death){
          130         tamagotchi_sad();
          131         printf("I died from old age!\n");
          132         tamagotchi->alive = false;
          133     } else {
          134         tamagotchi_status_and_menu(tamagotchi);
          135     }
          136 }
          137 
          138 #endif //TAMAGOTCHI_TAMAGOTCHI_H