Ejemplo n.º 1
0
    private static void run(int n, params Colour[] colours)
    {
        MeetingPlace place = new MeetingPlace(n);

        Creature[] creatures = new Creature[colours.Length];
        for (int i = 0; i < colours.Length; i++)
        {
            Console.Write(" " + colours[i]);
            creatures[i] = new Creature(place, colours[i]);
        }
        Console.WriteLine();
        Thread[] ts = new Thread[colours.Length];
        for (int i = 0; i < colours.Length; i++)
        {
            ts[i] = new Thread(creatures[i].run);
            ts[i].Start();
        }

        foreach (Thread t in ts)
        {
            t.Join();
        }

        int total = 0;

        foreach (Creature creature in creatures)
        {
            Console.WriteLine(creature);
            total += creature.Count;
        }
        Console.WriteLine(getNumber(total));
        Console.WriteLine();
    }
Ejemplo n.º 2
0
 public Creature(MeetingPlace place, Colour colour)
 {
     this.place  = place;
     this.id     = this.GetHashCode();
     this.colour = colour;
 }