Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Tamagotchi.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- enum State { FELIZ, HAMBRIENTO, ABURRIDO, TRISTE, MUERTO };
- enum Sigma { JUGAR, ALIMENTAR, ACARICIAR, TIEMPO };
- int Vitalidad = 100;
- int Stamina = 100;
- int Felicidad = 100;
- int Minimo(int a, int b)
- {
- return a < b ? a : b;
- }
- State Delta(State s, Sigma a)
- {
- State Siguiente = s;
- switch (s)
- {
- case FELIZ:
- switch (a)
- {
- case JUGAR:
- Vitalidad -= 5;
- Stamina -= 10;
- Felicidad += 10;
- if (Stamina == 0) Felicidad -= 10;
- if (Vitalidad < 20) Siguiente = HAMBRIENTO;
- if (Felicidad > 150) Siguiente = MUERTO;
- break;
- case ALIMENTAR:
- Vitalidad += 5;
- Felicidad += 5;
- if (Felicidad > 150) Siguiente = MUERTO;
- break;
- case ACARICIAR:
- Stamina += 5;
- Felicidad += 10;
- if (Felicidad > 150) Siguiente = MUERTO;
- break;
- case TIEMPO:
- Vitalidad -= 1;
- Stamina = Minimo(100, Stamina + 1);
- Felicidad -= 1;
- if (Felicidad < 50) Siguiente = ABURRIDO;
- if (Vitalidad == 0) Siguiente = MUERTO;
- if (Felicidad < 25) Siguiente = TRISTE;
- break;
- }
- break;
- case HAMBRIENTO:
- switch (a)
- {
- case JUGAR:
- Vitalidad -= 10;
- Stamina -= 15;
- Felicidad += 5;
- if (Vitalidad == 0) Siguiente = MUERTO;
- if (Stamina == 0) Vitalidad -= 10;
- if (Felicidad > 150) Siguiente = MUERTO;
- break;
- case ALIMENTAR:
- Vitalidad += 5;
- Felicidad += 5;
- if (Felicidad > 50) Siguiente = FELIZ;
- if (Vitalidad > 20) Siguiente = FELIZ;
- break;
- case ACARICIAR:
- Stamina += 5;
- Felicidad += 5;
- if (Felicidad > 150)Siguiente = MUERTO;
- break;
- case TIEMPO:
- Vitalidad -= 5;
- Stamina = Minimo(100, Stamina + 1);
- Felicidad -= 5;
- if (Vitalidad == 0) Siguiente = MUERTO;
- if (Felicidad < 25) Siguiente = TRISTE;
- break;
- }
- break;
- case TRISTE:
- switch (a)
- {
- case JUGAR:
- Vitalidad -= 5;
- Felicidad += 10;
- Stamina -= 5;
- if (Felicidad == 0)Siguiente = MUERTO;
- if (Stamina == 0) Vitalidad -= 10;
- case ALIMENTAR:
- Vitalidad += 5;
- Felicidad += 1;
- if (Felicidad > 50) Siguiente = FELIZ;
- if (Vitalidad > 20) Siguiente = FELIZ;
- break;
- case ACARICIAR:
- Stamina += 5;
- Felicidad += 10;
- if (Felicidad > 150)Siguiente = MUERTO;
- if (Felicidad > 50) Siguiente = FELIZ;
- break;
- case TIEMPO:
- Vitalidad -= 5;
- Stamina = Minimo(100, Stamina + 1);
- Felicidad -= 10;
- if (Vitalidad == 0) Siguiente = MUERTO;
- if (Felicidad < 25) Siguiente = TRISTE;
- break;
- }
- break;
- case MUERTO:
- switch (a)
- {
- case JUGAR:
- case ALIMENTAR:
- case ACARICIAR:
- case TIEMPO:
- }
- break;
- }
- return Siguiente;
- }
- void PrintState(State s)
- {
- switch (s)
- {
- case FELIZ:
- printf(":)");
- break;
- case TRISTE:
- printf(":(");
- break;
- case ABURRIDO:
- printf(":/");
- break;
- case MUERTO:
- printf("X.X ded");
- break;
- case HAMBRIENTO:
- printf("Hammmbrreee");
- break;
- }
- printf(" Vitalidad:%d,Stamina:%d,Felicidad:%d",
- Vitalidad, Stamina, Felicidad);
- }
- #include <conio.h>}
- #include <Windows.h>
- int main()
- {
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement