Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace ConsoleApp12
- {
- class Program
- {
- static void Main(string[] args)
- {
- Petowner joppe = new Petowner();
- Console.WriteLine("Välkommen!");
- joppeAge: Console.Write("Fyll i din ålder innan vi går vidare: ");
- int joppeAge;
- try
- {
- joppeAge = int.Parse(Console.ReadLine());
- }
- catch
- {
- Console.WriteLine("Felaktig inmatning, försök igen!");
- goto joppeAge;
- }
- Console.WriteLine($"Hej Joppe! Programmet har nu registrerat att du är {joppeAge} år gammal.");
- Console.WriteLine("--------------------------------------------------------------------");
- joppe.allPets();
- joppe.Menu();
- Console.ReadLine();
- }
- }
- class Petowner
- {
- private List<Animal> pet = new List<Animal>();
- private string favfood;
- public void allPets()
- {
- pet.Add(new Dog(4, "Sally", "Korv", "Schapendoes"));
- pet.Add(new Cat(14, "Banjo", "Ost", "Skogskatt"));
- pet.Add(new Puppy(7, "Samira", "Pankaka", "Schapendoes"));
- }
- public void petList()
- {
- foreach (var name in pet)
- {
- Console.WriteLine(name);
- }
- }
- public void interact()
- {
- Console.WriteLine("\nFör att leka med " + pet[0].PetName + " tryck 1");
- Console.WriteLine("\nFör att leka med " + pet[1].PetName + " tryck 2");
- Console.WriteLine("\nFör att leka med " + pet[2].PetName + " tryck 3");
- int petPlay = int.Parse(Console.ReadLine());
- if (petPlay == 1)
- {
- Console.WriteLine("du leker nu med {0}...", pet[0].PetName);
- System.Threading.Thread.Sleep(2500);
- Console.Clear();
- }
- else if (petPlay == 2)
- {
- Console.WriteLine("du leker nu med {0}...", pet[1].PetName);
- System.Threading.Thread.Sleep(2500);
- Console.Clear();
- }
- else if (petPlay == 3)
- {
- Console.WriteLine("du leker nu med {0}...", pet[2].PetName);
- System.Threading.Thread.Sleep(2500);
- Console.Clear();
- }
- }
- public void Feed()
- {
- Console.WriteLine("\nVem vill du mata?");
- Console.WriteLine("\nFör att mata " + pet[0].PetName + " tryck 1");
- Console.WriteLine("\nFör att mata " + pet[1].PetName + " tryck 2");
- Console.WriteLine("\nFör att mata " + pet[2].PetName + " tryck 3");
- int petFeed = int.Parse(Console.ReadLine());
- if (petFeed == 1)
- {
- favfood = "Korv";
- pet[0].eat(favfood);
- }
- else if (petFeed == 2)
- {
- favfood = "Ost";
- pet[1].eat(favfood);
- }
- else if (petFeed == 3)
- {
- favfood = "Pankaka";
- pet[2].eat(favfood);
- }
- }
- public void Menu()
- {
- int userInput = 0;
- while (userInput != 4)
- {
- Console.WriteLine("\nMENY");
- Console.WriteLine("Vad vill du göra?");
- Console.WriteLine("\n1. Leka med ett av dina husdjur");
- Console.WriteLine("2. Mata ett av dina husdjur");
- Console.WriteLine("3. Se en lista över dina husdjur");
- Console.WriteLine("4. Avsluta programmet");
- Console.WriteLine("--------------------------------------------------------------------");
- userInput = int.Parse(Console.ReadLine());
- switch (userInput)
- {
- case 1:
- interact();
- break;
- case 2:
- Feed();
- break;
- case 3:
- petList();
- break;
- case 4:
- Console.WriteLine("Goodbye.");
- break;
- default:
- Console.WriteLine("Felaktig inmatning, försök igen.");
- break;
- }
- }
- }
- abstract class Animal
- {
- protected int petAge;
- protected string petName;
- protected string favfood;
- protected string breed;
- protected bool hungry;
- public Animal(int _petAge, string _petName, string _favfood, string _breed)
- {
- this.petAge = _petAge;
- this.petName = _petName;
- this.favfood = _favfood;
- this.breed = _breed;
- }
- public int PetAge
- {
- get { return petAge; }
- set { petAge = value; }
- }
- public string PetName
- {
- get { return petName; }
- set { petName = value; }
- }
- public string FavFood
- {
- get { return favfood; }
- set { favfood = value; }
- }
- public string Breed
- {
- get { return breed; }
- set { breed = value; }
- }
- public virtual void interact()
- {
- if (hungry == true)
- {
- hungryAnimal();
- }
- else
- {
- Console.WriteLine("Tryck på valfri tangent för att återgå till menyn...");
- Console.ReadKey();
- }
- }
- public virtual void eat(string favfood)
- {
- Console.WriteLine($"\nSkriv nedan vad du vill mata {PetName} med. \nGå till djurlistan om du är osäker på vad {petName} tycker om för mat.");
- string foodChoice = Console.ReadLine();
- if (foodChoice == favfood)
- {
- Console.WriteLine($"{petName} fick sin favoritmat och äter nu...");
- Console.WriteLine($"{petName} är nu mätt och belåten.");
- Console.WriteLine("Tryck på valfri tangent för att återgå till menyn...");
- Console.ReadKey();
- Console.Clear();
- hungry = false;
- }
- else
- {
- hungryAnimal();
- }
- }
- public virtual void hungryAnimal()
- {
- Console.WriteLine($"\n{petName} har inte fått sin favoritmat och är därför hungrig & gnäller!");
- Console.WriteLine("Tryck på valfri tangent för att återgå till menyn...");
- Console.ReadKey();
- hungry = true;
- }
- public override string ToString()
- {
- return string.Format($"{petName} är {petAge} år gammal och är en {breed}. {petName}s favoritmat är {favfood}");
- }
- }
- class Dog : Animal
- {
- public Dog(int petAge, string petName, string favfood, string breed) : base(petAge, petName, favfood, breed)
- {
- }
- }
- class Puppy : Dog
- {
- public Puppy(int petAge, string petName, string favfood, string breed) : base(petAge, petName, favfood, breed)
- {
- }
- public override string ToString()
- {
- return string.Format($"{petName} är en hundvalp som är på {petAge} månader. {petName}s favoritmat är {favfood}");
- }
- }
- class Cat : Animal
- {
- Random random = new Random();
- public Cat(int petAge, string petName, string favfood, string breed) : base(petAge, petName, favfood, breed)
- {
- }
- public override void hungryAnimal()
- {
- Console.WriteLine($"{petName} tycker inte om maten, istället går han ut och jagar möss..");
- System.Threading.Thread.Sleep(2500);
- int mouse = random.Next() % 100;
- if (mouse >= 50)
- {
- hungry = false;
- Console.WriteLine($"{petName} lyckades fånga en mus och är nu mätt och belåten.");
- Console.WriteLine("--------------------------------------------------------------------");
- System.Threading.Thread.Sleep(2500);
- Console.Clear();
- }
- else
- {
- hungry = true;
- Console.WriteLine($"{petName} lyckades inte fånga någon mus och är fortfarande hungrig!");
- Console.WriteLine("--------------------------------------------------------------------");
- System.Threading.Thread.Sleep(3500);
- Console.Clear();
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement