C# Wstęp

Wielomian

public class Wielomian
{
    private int stopień ;
    private double [] współczynniki = null;
 
    public Wielomian()
    {
        stopień = 0;
        współczynniki = new double[1] ;
        współczynniki[0] = 0;
    }
 
    public Wielomian(double[] współczynniki)
    {
        stopień = współczynniki.Length - 1;
        this.współczynniki = new double[współczynniki.Length];
        for(int i=0;i<współczynniki.Length;i++) this.współczynniki[i]=współczynniki[i];
    }
 
    public double Wartość(double x)
    {
        double y = 0;
        // tu obliczenia wartości
        return y;
    }
}

MSDN : System.Console

Tworzenie gier w konsoli Windows: Understanding C#: Use System.Console to build text-mode games By Andrew Stellman

using System;
 
class PositionText
{
     static void Main(string[] args)
     {
          Console.WriteLine("Witaj świecie!.");
          Console.Write("Podaj swoje imię: ");
          string text = Console.ReadLine();
          int left = Console.CursorLeft;
          int top = Console.CursorTop;
          Console.SetCursorPosition(15, 20);
          Console.Write("Witaj -> {0} <-", text);
          Console.SetCursorPosition(left, top);
          Console.WriteLine("Koniec.");
      }
}

Gra Life

Wikipedia: Gra_w_życie

Reguły:

  • plansza nieskończona (zawinięta (torus) góra/dół, lewo/prawo)
  • komórka, która ma dokładnie 3 żywych sąsiadów, staje się żywa w następnej jednostce czasu (rodzi się)
  • żywa komórka z 2 albo 3 żywymi sąsiadami pozostaje nadal żywa; przy innej liczbie sąsiadów umiera (z „samotności” albo „zatłoczenia”)

Utwórz klasę Plansza, która zawiera stan gry oraz pozwala sterować przebiegiem gry w życie.

Metody wymagane:

  • Konstruktor domyślny. Inicjuje planszę o wymiarach 10×10, na każdej pozycji komórka żywa występuje z prawdopodobieństwem 1/4.
  • Konstruktor, który dla podanych wymiarów N i M oraz prawdopodobieństwa p, inicjuje planszę o podanych wymiarach NxM oraz losuje początkowy stan planszy, gdzie na każdej pozycji komórka żywa może wystąpić z podanym prawdopodobieństwem.
  • Metoda inicjująca rozkład początkowy żywych komórek dla danej wartości prawdopodobieństwa pojawienia się żywej komórki w danej pozycji
  • Metoda pozwalająca wykonać jeden cykl (zmiana stanu na planszy)
  • Metoda rysująca aktualny stan planszy w konsoli (wyczyszczenie konsoli, narysowanie planszy oraz żywych komórek, wyświetlenie liczby żywych komórek oraz numeru cyklu). Żywa komórka domyślnie reprezentowana jest przez symbol gwiazdki *.
  • Metoda wyznaczająca liczbę sąsiadów dla danej komórki na pozycji [x,y].

Metody opcjonalne:

  • Konstruktor pozwalający określić znak wizualizujący żywą komórkę oraz kolorystykę planszy (kolor znaku i tło).
  • Metoda pozwalająca zapisać planszę do pliku tekstowego o podanej nazwie.
    Zobacz: System.IO klasy związane z obsługą wejścia-wyjścia, System.IO.FileStream, StreamWriter zapis do strumienia (np. do pliku)

Zaimplementuj program który wyświetli animację obrazującą proces rozwoju komórek na planszy.

Diagram UML - przykład

Screenshot