Program przeznaczony do statystyk koszykówki

0

Witam! Jestem początkujący w dziedzinie programowania. Znam troszkę c++, oraz c# (pętle, podstawowe komendy, funkcje, troszkę klasy). W ramach ćwiczeń chciałbym napisać program do statystyk do koszykówki. Użytkownik będzie mógł wklepać zawodników i w czasie rzeczywistym w meczu dodawać poszczególne akcje do zawodnika. Pod spodem będą wyświetlane poszczególne statystyki. Chcę to zrobić w visual studio 2010 w Windows Forms(c#). Fajnie by było, jakby ktoś z "ogarniających" programistów pomógł troszkę i minimalnie poprowadził za rękę w celu zrozumienia czym to się je. Z góry dziękuję za pomoc!

  1. Czy mój tok myślenia jest dobry? -> Na górze dwa listbox'y z listą zawodników, pod spodem textbox do wpisania nowego zawodnika no i przycisk dodaj. Użytkownik będzie mógł wpisać różną ilość zawodników, dlatego obiekty klasy "zawodnicy" będą musiały tworzyć się dynamicznie. Według mnie powinienem dodać do programu binding source'a, który będzie przechowywał te obiekty i do niego będę dopisywał oraz aktualizował statystyki. (nie wiem do końca o co chodzi z tym binding sourcem)

  2. Przy dodawaniu swojej klasy spotkałem się z takim zapisem:

    public class Task
    {
        private string title;

        public string Title
        {
            get { return title; }
            set { title = value; }
        }

        private string description;

        public string Destription
        {
            get { return description; }
            set { description = value; }
        }

        private DateTime date;

        public DateTime Date
        {
            get { return date; }
            set { date = value; }
        }
        
    } 

Po co ustawia się te parametry get, oraz set? Jeśli napisałbym po prostu trzy linijki kodu:
public string title;
public string description;
public datetime date;
, co by się zmieniło?

Proszę o wyrozumiałość i pozdrawiam!

0

Ad 2) Niedawno pisałem coś na ten temat: Do czego służą akcesory w c#?

0

Dzięki wielkie, trochę dało mi to pogląd na sytuację. Mam jeszcze prośbę odnośnie binding sourca. Mógłby mi ktoś wytłumaczyć na jakiej zasadzie przechowuje on dane o obiektach? W tym programie będę musiał je z niego wyciągnąć do (chyba) Data Grid View. Moje pytanie, na jakiej zasadzie "on wie", który obiekt jest który? ;) (Normalnie zmiennym przypisuje się nazwy, a obiektom nie, wszystko jest jako jedna nazwa [ zawodnik zaw = new zawodnik();]). Fajnie by było tak językiem dla niemowlaka. ;)

0

Jeżeli i tak ogarniasz podstawy języków programowania. To może zainteresuje Cie gotowe rozwiązanie, które wystarczyło by sobie tylko niezniacznie przerobić. Pisane w Delphi dawno temu dla znajomego na zlecenie. Pod kątem amatorskiej ligi piłkarskiej rozgrywanej na hali. Ale zawsze można poprzez stałe ustawić łatwo w kodzie takie wartości jak minimum graczy i czas trwania. Screeny w załaczonym archiwum. Nazwy drużyn i zawodników to tylko testy. Program posiada zapis statystyk do pliku i ich eksport do formatu HTML. Co widać na ostatnim zrzucie ekranu.

Jeżeli jesteś zainteresowany podstawowym kodem do własnego przerobienia, to napisz do mnie prywatną wiadomośc. Sorry za reklamę, ale skoro zobaczyłem że ktoś potrzebuje coś, co podobnego kiedyś zakodziłem, to chciałem zaoferować przy okazji. Także wybaczcie ;P

0

Niee, dziękuję. Najwięcej frajdy daje mi właśnie wymyślenie sposobu na działanie programu, a jak będę miał już napisany cały podobny, to już nie to samo ;) . Mam jeszcze jedno pytanko:

namespace Reminder_zadan
{
    public partial class MainForm : Form
    {
        private List<Task> tasks;
        public MainForm()
        {
            InitializeComponent();

            tasks = new List<Task>();


        }

        private void MainForm_Load(object sender, EventArgs e)
        {
            bs.DataSource = tasks;

        }

        private void dgv_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            Task t = (Task)bs.Current;
            MessageBox.Show(
                t.Destription, "Zadanie", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

        private void mniNewTask_Click(object sender, EventArgs e)
        {
            NewTaskForm ntf = new NewTaskForm();
          
            if (ntf.ShowDialog() == DialogResult.OK)
            {
                bs.Add(ntf.NewTask);
            }
            else
            {
                return;
            }
        } 

Jest to przypominajka. Utworzona klasa "task" i dodany binding source o nazwie "bs". O co chodzi w pierwszych liniach kodu? Nauczyciel dodał to na zajęciach. Wydaje mi się, że to jest ta lista obiektów, która jest przekazywana do bs, ale chciałbym, żeby to ktoś dobrze wytłumaczył "na polski".. (chodzi o to całe list<task>())
--------EDIT!
Już się nauczyłem! Znalazłem fajny artykuł, który opowiada o kolekcjach. Teraz uczę się, jak połączyć kolekcję z binding sourcem..

0

Kolejny problem. Jak otworzyć następne okienko programu(nową formę o nazwie Mecz) po naciśnięciu przycisku? Chciałem zrobić tak:

         private void Bt3_Click(object sender, EventArgs e)
        {
            Mecz.ActiveForm();
        }

, ale wywala błąd: Non-invocable member 'System.Windows.Forms.Form.ActiveForm' cannot be used like a method.

1 użytkowników online, w tym zalogowanych: 0, gości: 1