[C++] Poszukiwanie projektu

Witam wszystkich

Mam do Was wielką prośbę. Otóż wraz z kolegą poszukujemy pomysłu na dobry projekt. Sami jakoś nie możemy nic wymyślić. Dlatego pytanie do Was; jakiego oprogramowania wam brakuje? Co proponujecie na projekt? Będę wdzięczny za wszelkiego rodzaju propozycje.

Z góry dziękuję

Z GUI, bez :?:

Jak już robić coś konkretnego to raczej z GUI.

Nie będę odkrywczy, ale najlepszy projekt to coś, co Tobie się przyda. Kiedy zaczynałem programować, lubiłem bawić się plikami z gier. Moja pierwsza działająca aplikacja to był program wyciągający tekstury z pierwszego Tomb Raidera. Zanim jednak program zaczął działać, musiałem stworzyć kilka mniejszych aplikacji, które pozwalały mi na zabawę danymi w plikach TR (np. program wyciągający fragmenty danych z pliku).

Znajdź sobie jakąś małą aplikację-pchełkę, która by Ci się przydała i zabierz się za pisanie. Na początku nie ma czegoś takiego jak “zbyt banalny program” - każdy kawałek kodu będzie dla Ciebie jak wtaczanie głazu pod górę. Dlatego też nie sil się na imponujące (czyt: przydatne komuś więcej niż tylko Tobie) programy, bo 1) nigdy ich nie skończysz, 2) zniechęcisz się do kodowania.

Napisz grę snake.

W c++ z użyciem biblioteki allegro mój ma 250 linii kodu.

Pisanie kolejnego notatnika itp. nie ma sensu. Najlepiej przejść się po okolicznych firmach i popytać czego im brakuje. Tym sposobem masz szansę wbić się w jakąś nisze.

@muchozol: rzecz w tym, że nic nie wskazuje na to, że sebastianp88 ma jakieś kosmiczne doświadczenie w kodowaniu. Gdyby tak było - nie pytałby o pomysły na coś do napisania. Miałby więcej pozycji na TODO niż czasu na ich napisanie. W takiej sytuacji chodzenie po okolicznych firmach w celu wybadania rynku jest czasem zmarnowanym - czasem, który można poświęcić na doskonalenie skillsetu.

I co z tego, że ma 250 linijek kodu :?:

Ano to, że 250 linii to nie jest dużo i tym samym nie jest to projekt złożony (czyt: jest w sam raz jeśli się do tej pory nie pisało nie wiadomo ile kodu).

A ja zapodam z innej beczki :slight_smile: Kalkulator piwny. Chyba nie muszę tłumaczyć szczegółów :stuck_out_tongue:

Mógłbyś, bo ja np. nie mam pojęcia co miałoby się w nim znaleźć. A brzmi ciekawie.;-]

Ile masz promila we krwi :stuck_out_tongue:

Może jakiś wygaszacz ekranu? Wiem, że byłby wtedy bez GUI, ale cóż. Ważne, żeby było proste, a wygaszacze nie wymagają projektowania interakcji z użytkownikiem.

Możesz też napisać faktycznie jakąś mini-grę, byleby z głową. Aha. Zauważyłem, że masz na myśli C++, czyli raczej o coś rozwiązanego na klasach. W przypadku prostej gry klasy można wykorzystać - w przypadku wygaszacza, to pozbawione sensu.

Z jakiejś konkretnej przyczyny czy tylko Ci się tak wydaje? Architektura aplikacji (i wybór języka) zależy od pożądanej charakterystyki tej aplikacji (modułowość, niezawodność, prędkość, itp.) oraz ogólnej złożoności projektu, a nie od tego czy to gra czy wygaszacz. Można sypać setką przykładów, kiedy prosta gra nie zyska na czytelności z powodu OOP i takie, kiedy wygaszacz na klasach zdaje się być “naturalnym” wyborem.

Dokładnie to co napisał Ryan powyżej. Prosty kontrprzykład odnośnie do tego wygaszacza. Czy pracy nie ułatwiłaby klasa bazowa, nazwijmy ją Screensaver, która implementuje komunikację z systemem operacyjnym i definiuje interfejs dla klas potomnych?

A co do tematu, jeśli nie macie pomysłu to może zamiast pisać jakiś program od zera, zajmijcie się ulepszeniem jakiegoś już istniejącego? Często użytkownicy żądają jakieś funkcjonalności w nowej wersji programu – wybierzcie jakąś aplikację i zaimplementujcie jakiś feature. Jeśli dobrze to zrobicie może nawet twórcy programu zgodzą się na włączeniem waszego kodu do oficjalnego wydania?

nie znasz tego?

Tylko się tak wydaje. Miałem na myśli raczej prosty wygaszacz. Jeżeli np. weźmiemy system czątek, to zależy wszystko od jego złożoności, np, cząstki mogą mieć różny rozmiar, wagę i wchodzić w różne interakcje z danymi typami cząstek. Jeżeli natomiast system ma być prosty, to nie ma sensu używać klas.

Można rozwinąć Twoją myśl: nigdy nie ma sensu używać klas, bo to tylko syntaktyczny cukier a nie funkcjonalność języka. I to też będzie prawda.

Jaki system jest prosty, a jaki nie?

Co masz na myśli mówiąc “używać klas”?

Jeżeli masz na myśli pisanie własnych no to właściwie się zgadza, można sobie wymyślić program tak prosty że pisanie własnych klas tylko go skomplikuje (np program dodający do siebie dwie liczby). Z tym że nikt nie piszę takich programów, chyba że do celów dydaktycznych (a to nie jest programowanie tylko uczenie się programowaniu).

Natomiast jeżeli chodzi o użycie jakiejkolwiek klasy to nawet najprostszy program (np program dodający do siebie dwie liczby) potrzebuje wczytywania/wypisywania danych na konsole, co z użyciem klasy jest nieco wygodniejsze.

Podsumowując w C++ od klas nie uciekniesz :smiley: