Lägga till saker i en List, sen loopa igenom den med foreach?
Jag håller på med ett projekt för programmering 2 (största jag har jobbat på hittills) och jag sitter fast lite här, jag försöker lägga till "djur" i en lista och sen kunna loopa igenom listan med (vad jag tror är bäst) en foreach loop.
Men hittills får jag endast resultatet: ,0 ,0 ,0 ,0
Det är nere i Petowner.
Jag tar mer än gärna kritik & tankar om resten av koden!
(koden är långt ifrån klar dock)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JoppesDjurfamiljV2
{
class Program
{
public static void Main(string[] args)
{
Petowner petowner = new Petowner();
Cat cat = new Cat("Meelo", 11);
Dog dog = new Dog("Sassa", 7);
Puppy puppy = new Puppy("Majken", 6);
petowner.Menu();
}
}
abstract class Animal
{
protected int age { get; set; }
protected string name { get; set; }
protected string fav_food { get; set; }
protected string breed { get; set; }
protected bool hungry { get; set; }
public Animal()
{
}
public virtual void Interact() // Play with animals
{
}
public virtual void HungryAnimal() // Behaviour if animals is hungry (standard whining)
{
}
public void Eat(string food) // Offers animals food, in string
{
}
public override string ToString()
{
return base.ToString();
}
}
class Petowner : Animal
{
private int age { get; set; }
private List<Animal> pets = new List<Animal>();
public Petowner()
{
pets.Add(new Cat("Meelo", 11));
pets.Add(new Dog("Sassa", 7));
pets.Add(new Puppy("Majken", 1));
pets.Add(new Cat("Ellie", 3));
}
public void ListAnimals()
{
Console.Clear();
foreach (var animal in pets)
{
Console.WriteLine(animal);
}
Console.ReadKey();
}
public void Play() // Sub-menu
{
Console.Clear();
Console.WriteLine("Vilket djur vill du leka med?\n---------------------");
}
public void Feed() // Sub-menu
{
Console.Clear();
Console.WriteLine("Vilket djur vill du mata?\n---------------------");
}
public void Menu() // Main menu
{
int x = 0;
do
{
Console.Clear();
Console.WriteLine("Hej Joppe! Vad vill du göra?\n---------------------");
Console.WriteLine("1. Leka med djuren");
Console.WriteLine("2. Mata djuren");
Console.WriteLine("3. Se alla djur");
Console.WriteLine("4. Avsluta program\n---------------------");
Console.WriteLine("Skriv med siffror, tack!");
x = Int32.Parse(Console.ReadLine());
if (x == 1)
{
Play();
break;
}
else if (x == 2)
{
Feed();
break;
}
else if (x == 3)
{
ListAnimals();
break;
}
else
{
Console.Clear();
Console.WriteLine("Det va inte ett av valen.. Prova igen!");
Console.ReadKey();
break;
}
}
while (x != 4);
Console.Clear();
Console.WriteLine("Programmet avslutas...\n---------------------\nTryck på valfri tangent");
Console.ReadKey();
}
public override string ToString()
{
return base.ToString();
}
}
class Cat : Animal
{
public Cat(string name, int age)
{
}
public override void HungryAnimal() // (Without food) hunts his own food. 50/50 he finds anything
{
Console.Clear();
Console.WriteLine("");
}
public override void Interact()
{
Console.Clear();
Console.WriteLine("Katten stryker sig mot dig, medans du klappar den");
Console.WriteLine("Tryck Enter för att gå tillbaka till menyn");
Console.ReadKey();
}
public override string ToString()
{
return string.Format("{0}, {1}", name, age);
}
}
class Dog : Animal
{
public Dog(string name, int age)
{
}
public override void Interact()
{
Console.Clear();
Console.WriteLine("");
}
public override string ToString()
{
return string.Format("{0}, {1}", name, age);
}
}
class Puppy : Dog
{
public Puppy(string name, int age) : base("", 0)
{
}
public override void Interact()
{
Console.Clear();
Console.WriteLine("");
}
public override string ToString()
{
return string.Format("{0}, {1}", name, age);
}
}
}