Pomysł na bardziej poważny program (dwie opcje: C++ i C# .NET)

1

Chodzi mi o wasze zdanie - jaki program można napisać, by później móc pokazać go potencjalnemu pracodawcy. Nie chodzi "niewiadomoco", bo i stanowiska typu "młodszy programista". No, ale właśnie. Co można uznać za w miarę dobre. W temacie napisałem, że chodzi o pomysły dot. zarówno C++, jak i C# .NET, oczywiście pomysły mogą być różne - C++ jest jednak nieco innym "narzędziem", niż C#. A może są tu osoby, które biorą udział w rekrutacji w swoich firmach? Co dla was jest ważne w kodzie kandydata, a na co nie zwracacie uwagi?

Wracając do "pomysłów" - no właśnie co? Prosty klient poczty? A może odtwarzacz audio z jakimś equalizerem? A może lepiej jakaś gra? A może kalkulator, ale taki bardziej zaawansowany, z obsługą "normalnej notacji" (czyli wpisuje mu "1+2*3+√(5+√3)") i on to normalnie liczy (wydaje się ambitne)? A może co innego? Jakiś notatnik, planner? Inne cuda na kiju?

0

A może jakaś prosta gra?

0

Tylko jaka :p Chodzi o to czym można się rzeczywiście pochwalić (oczywiście bez przesady). Prosta gra... No kółko i krzyżyk jest prostą grą, ale gotowe rozwiązania można znaleźć w Internecie... A może chodzi bardziej o styl pisania kodu i jego rozumienie?

1

prosta gra sanboxowa w c++ z podstawową sztuczną inteligencją i delikatnym generatorem map.
Do tego edytor map w c#
voila

0

@spartanPAGE pomysł świetny :) Wydaje się trochę trudne, szczególnie ta "Sztuczna Inteligencja", ale może się mylę?

0
Złoty Szczur napisał(a):

Tylko jaka :p Chodzi o to czym można się rzeczywiście pochwalić (oczywiście bez przesady). Prosta gra... No kółko i krzyżyk jest prostą grą, ale gotowe rozwiązania można znaleźć w Internecie... A może chodzi bardziej o styl pisania kodu i jego rozumienie?

No kółko i krzyżyk to nie, bez przesady.
Coś bardziej ambitnego.

A co do gotowych kodów to tym bardziej znajdziesz je do odtwarzacza muzyki czy kalkulatora( to już wg mnie całkiem poroniony pomysł).

0

Nie jest trudny.
Pod pojęciem podstawowej sztucznej inteligencji w grach kryje się głupie drzewko decyzyjne, które w najbardziej prowizorycznym wypadku jest wyszczerbioną drabinką ifów.

0

Największy fun i motywacje będziesz miał robiąc coś, czego sam potrzebujesz i będziesz używał. Albo rzecz totalnie bezsensowną, ale Cię interesującą lub bawiącą. Ja kiedyś napisałem skrypcik w JSie, który pobierał komentarze z jakiejś długiej, flejmowej dyskusji na fejsie korzystajac z jego API i za pomocą łańcuchów Markova generował kolejne (bezsensowne) wypowiedzi. Nie miało to najmniejszego zastosowania praktycznego, a jak powiedziałem o tym na jednej rozmowie to im się bardzo spodobało, bo pokazało (chyba), że umiem się programowaniem też bawić. Ale to wszystko zależy od Twoich zainteresowań.

Możesz też napisać cokolwiek, i tak będzie bardziej wartościowe niż jakbyś nie napisał nic. Takich wątków było już dużo.

0

@spartanPAGE rozumiem, w sumie to też jakaś pseudointeligencja. Sztuczna inteligencja wydaje się fajna, ale nie znalazłem nigdy jakiegoś takiego prostego wprowadzenia do niej. Nie żeby zacząć programować jakieś genialne rzeczy, ale "czuć". Pełno matematyki tam, z matematyką nie mam problemów, bardzo ją lubię (stąd też pomysł zaawansowanego kalkulatora z obsługą dużych liczb itd.), ale nie potrafię tego przełożyć na kod. Może za młody jestem i za krótki w brodzie :)

@datdata "Generator Flejmu", biorąc pod uwagę tendencje komentatorów w Polskim Internecie można zrobić "Pogromcę Hejtu 1.0" :) Ale masz rację, zabawa jest ważna, ja przez tą zabawę nigdy nic poważnego nie napisałem, ale... Może właśnie o to chodzi? Na poważne rzeczy przyjdzie czas w pracy?

Oczywiście jak ktoś ma jakieś rady, to chętnie przeczytam. Szczególnie chodzi o to, jakie jest podejście pracodawcy, gdy patrzy na kod.

0

Symulator kamery, czyli jakaś scena i kamera, która porusza się w lewo, prawo, góra, dół, przód, tył (translacje), obroty wzg. osi x, y, z (rotacje) i zoom (rzutowanie perspektywiczne). Taki mini silnik 3D. Do tego Ray tracing, tekstury. To wszystko w C# właśnie piszę na zaliczenie.

0

@bus45 możesz zdradzić coś więcej - algorytmy, biblioteki z jakich korzystasz? Rozumiem, że wszystko generujesz programowo - 100% symulacja? To chyba może znaleźć zastosowanie w grach?

0

W moim przypadku jest to projekt na zaliczenie z Grafiki Komputerowej. Można korzystać z bibliotek np. OpenGL, ale ja piszę to na wektorach i macierzach, czyli mnożenie wektorów przez macierze. Bardzo minimalistyczna wersja, ale można by zrobić z tego silnik 3D do gry. ;)

2
Złoty Szczur napisał(a):

Wracając do "pomysłów" - no właśnie co? Prosty klient poczty? A może odtwarzacz audio z jakimś equalizerem? A może lepiej jakaś gra? A może kalkulator, ale taki bardziej zaawansowany, z obsługą "normalnej notacji" (czyli wpisuje mu "1+2*3+√(5+√3)") i on to normalnie liczy (wydaje się ambitne)? A może co innego? Jakiś notatnik, planner? Inne cuda na kiju?

Jak już zamierzasz zrealizować coś swojego i jeszcze pytasz co konkretnie to musisz sobie odpowiedzieć na kilka zasadniczych pytań.

  1. W jakim celu to robisz (tylko dla siebie czy też chcesz się podzielić)?
  2. Czy chcesz zrobić coś co Ci się przyda czy tylko robisz tak dla sztuki?
  3. Kod źródłowy (czy zamierzasz go w ogóle udostępniać)?
  4. Czy zamierzasz to później wypromować?
  5. Czy chcesz to tworzyć samemu czy w jakiejś grupie.

Ja własne projekty tworzyłem sobie przede wszystkim po to żeby z nich korzystać, przy okazji umieszczając to na sf.net albo github.

Co do odtwarzacza mp3, ja np. napisałem coś takiego czego nie ma ani Winamp, ani AIMP, linuxowy XMMS i pewnie jeszcze wiele innych odtwarzaczy. Np. z takimi oto funkcjami.

  • regulacja głośności z opcjami: liniowa, logarytmiczna, loudness z możliwością ustawień
  • profesjonalny 31 pasmowy korektor graficzny, gdzie można ustawiać swoje własne pasma i dobroć filtrów pasmowo-przepustowych
  • echo
  • regulacja bazy stereo (od mono do super stereo, co po prostu w odsłuchu oznacza ustawienie głośników szerzej)

Zrobiłem jeszcze taką funkcjonalność, że np. jak sobie odtwarzam muzykę z kategorii POP to później w trybie losowym program będzie mi odtwarzał tym częściej tą muzykę którą wcześniej częściej słuchałem (czyli po prostu program sam odgaduje co ja lubię słuchać :-) ), normalnie to by było w trybie shuffle jak co popadnie.

Po prostu należałoby się chyba jeszcze czymś wyróżnić, bo jak sobie napiszesz jakiś klient poczty czy coś co już każdy używa to co tak naprawdę wniesie ten Twój program? Co do klienta poczty, można by się zastanowić nad inteligentnym filtrem antyspamowym czy innymi takimi bajerami.

Ogólnie uważam że tworzenie czegoś tylko dla samej sztuki to jakiś nonsens.

0
bus45 napisał(a):

Można korzystać z bibliotek np. OpenGL, ale ja piszę to na wektorach i macierzach, czyli mnożenie wektorów przez macierze.

przecież w openGLu czy directx masz tyle samo mnożenia wektorów i macierzy - różnica tylko taka że masz gotowe klasy i funkcje tworzące na przykład macierz projekcji a nie musisz sam jej wyliczać ze wzorów

0

Jakbym miał robić jakąś grę to użyłbym do tego enginu np. UE4.

Ale niektórzy chyba lubią bawić się w masochizm, z którego i tak wiele pożytku nie przyjdzie i robić wszystko od zera.

1
kuf kuf napisał(a):
bus45 napisał(a):

Można korzystać z bibliotek np. OpenGL, ale ja piszę to na wektorach i macierzach, czyli mnożenie wektorów przez macierze.

przecież w openGLu czy directx masz tyle samo mnożenia wektorów i macierzy - różnica tylko taka że masz gotowe klasy i funkcje tworzące na przykład macierz projekcji a nie musisz sam jej wyliczać ze wzorów

OpenGL nie ma liby matematycznej. GLM to niezależna biblioteka.

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