Jaki język programowania wybrać?

0
Piotruś Pan napisał(a)
Taki sobie ktoś napisał(a)

Mój pierwszy program c++:

#include <iostream>
int main()
{
   cout << "Hello, world!" << endl;
}

O kurde, pierwszy i już zły! Nie słyszałeś o przestrzeniach nazw (std, tak dla przykładu)? ;-)

I jeszcze kodu błedu nie zwraca [green]

0

Witam

Nie chciałebym mnożyć tematów więc skorzystam z tego. Chciałbym przenieść własną gre planszową na komputer. W związku z tym potrzebuje wybrać język w którym będę mógł napisać program. Czego oczekuje. Chce planszy podzielonej na heksy. Chciałbym móć każdemu heksowi przypisać jakieś wartości ( np: -1 do ruchu, -2 do ruchu, -1/2 pkt ruchu ), chciałbym aby pionki miały przypisane różne wartości ( np: 20 pkt. ruchu ) i dzielły się na różne typy ( pionki piesze, pionki konne ). Chciałbym interakcji między pionkami na sasiednich polach i dalszych ( np: pionek A atakuje pionka B na 2-3 rozne sposoby, komputer wylicza wynik walki na podstawie parametrow pionkow i heksow na ktorych stoja plus element losowy ). Chce by gra byla 2 osobowa, bez sztucznej inteligencji, z mozliwoscia zapisu stanu gry i dokonczenia jej pozniej. Spodobala mi sie gra play by e-mail ( gracz A konczy swoja ture, zapisuje, wysyla plik do gracz B, on robi swoje zapisuje i odsyla, komputer robi wyliczenia u gracza A, oczywiscie pliki zabezpieczone haslem ). Chcialbym by byla mozliwosc zrobienia Fog of War, tak zeby gracz A widzial tylko to co widza jego pionki. Mape zamierzam albo sam wykonac w jakims edytorze ( moze programu w ktorym bym kodowal gre ) badz chcialbym wykorzystac skan mapy juz zrobionej. Jaki język i jaki program byście mi zaproponowali.

Pozdrawiam

edit
dodam że program miałby działać na pewno pod windows, ale gdyby był multiplatformowy to bylby dodatkowy plus, choc majac do wybory prostszą nauke i prostsze pisanie z jednej strony a z drugiej trudniejszą nauke i trudniejsze pisanie ale multiplatformowy program to wybieram prostote.

0

Nekrofil

0

Witam

Moze i nekrofil ale umiem uzyc funkcji szukaj i nie mnoze tematow.

Cos w temacie zaproponujesz ?

0

Witam

Dodam ze grafika ma byc szczątkowa, interface moze byc standardowy wndowsa, moze ekran podzielony na kilka czesci badz mozliwosc wyswietlania dodatkowych okien z mozliwoscia zaznaczania jakis opcji, a tak to zwyky obrazek mapy na ktorym beda zwykle plaskie rysuneczki sie przesuwalo. Sztucznej inteligencji nie zakladam gdyz ma to byc gra dla 2-X graczy.

przypomnialem sobie iz moim pierwotnym zamiarem bylo zrobienie tej gry w nastepujacy sposob. Gracze korzystajac ze swoich klientow robili by swoje ruchy i po skonczeniu program wysylal by plik do serwera, serwer po otrzymaniu plkow od wszystkich graczy dokonywal by obliczen i odsylal pliki graczom. Chcialbym aby jezyk umozliwil mi pojscie w obydwie strony.

0

Java lub C++ z odpowiednimi bibliotekami, jak wolisz, ale Java będzie działała zawsze i (prawie) wszędzie.

0

W praktyce każdy język pozwala coś takiego stworzyć równie skutecznie.

0

qwe - ale szukam najlepszego wysrodkowania miedzy prostota stworzenia tej gry i nauka jezyka.

0

Wypadałby zaznaczyć, że język to tylko narzędzie. Programowanie to coś zupełnie innego. C++ z góry odradzam. Do generalnie prostych rzeczy to nawet Python posłużyć może.

0

Czemu odradzasz C++?? Wygodne jest, ale trzeba trochę pomyśleć, a zawsze można zrobić crossa ( jak w większości gier ).

0

Nie, C++ nie jest wygodne. Ten język to moloch, najbardziej niespójny i nielogiczny z aktualnie używanych. To, że to język średniego poziomu na siłę rozszerzony o wyższą abstrakcję, co sprawia dodatkowe problemy. Ze wszystkich języków obiektowych lub wspierających obiektowość w C++ stosuje się najwięcej haxów.

Jeżeli uważasz, że do życia potrzebne jest babranie się ze wskaźnikami to chyba masz pojęcie o C++, nie o programowaniu. Tak się składa, że w tego rodzaju projekcie programowanie niskopoziomowe jest zbędne, nie przynosi korzyści, co najwyżej straty. Żeby w C++ programowało się 'wygodnie' trzeba posługiwać się dodatkowymi bibliotekami w rodzaju Boosta, bez faktycznie dobrej znajomości języka tego rodzaju bibliotek używać się po prostu nie da. Powiedz mi, nauka którego języka programowania trwa dłużej niż C++?

Crossa? Cross-platform? Przenośność C++ to mit. W obrębie jednej platformy sprzętowej na różnych systemach operacyjnych podstawowe typy danych mają różne rozmiary - wchar_t dla przykładu, zobacz ile ma bajtów na Windows a ile powiedzmy na FreeBSD. Przenośność osiąga się dodatkowym nakładem pracy tworząc oddzielne definicje typów dla każdego kompilatora i systemu docelowego. O innych platformach sprzętowych nawet nie mówię. Niemal każdy inny język w porównaniu do C++ jest faktycznie przenośny bez takich cyrków, 'po prostu działa'.

0

nie chodzi o crossplatform, ale o cross language, np. program w C++, ale komunikacja z DB przez jakiś język skryptowy. Co do C++, ja jakoś korzystam, a Boosta wręcz nienawidzę, za to, że jest strasznie wielki, a np. biblioteki do liczb pseudolosowych to zrąbali na maksa, ogólnie tam się tworzy kupę niepotrzebnych zmiennych, które nie wiadomo po co są. Przykładowo losowanie:

  boost::mt19937 rng;                 // produces randomness out of thin air
  rng.seed(static_cast<unsigned> (std::time(0)));
                                      // see pseudo-random number generators
  boost::uniform_int<> six(1,6)       // distribution that maps to 1..6
                                      // see random number distributions
  boost::variate_generator<boost::mt19937&, boost::uniform_int<> >
           die(rng, six);             // glues randomness with mapping
  int x = die();                      // simulate rolling a die

Ja to skróciłem i w mojej own bibliotece wygląda to tak:

easylib::random::setSeed( static_cast<int>( time(NULL) );
int x = easylib::randomize<easylib::mt19937>( 1, 6 ); // symulacja kostki

A obiekt klasy mt19937 jest tworzony tylko 1 w sposób niewidoczny dla użytkownika. Wg mnie prościej i bardziej przejrzyście.

0

Na pewno bardzo pomagacie pytającemu ;P

Potrzebne są:

  1. obsługa aplikacji okienkowych;
  2. obsługa i manipulowanie na bitmapach;
  3. remoting;
  4. obsługa logiki rozgrywki.

Ja bym to zrobił w C#, bo najlepiej znam i mam świetne IDE, ale użycie Javy ma tę zaletę, że za darmo daje multiplatformowość. Punkty 1-3 w obu tych technologiach pewno można wykonać tak samo łatwo, w C++ raczej trudniej.

0

Ale też nie znowu jakoś kosmicznie trudno, ale zgadzam się nie będzie to aż tak przyjemne i łatwe.

0
somekind napisał(a)

Ja bym to zrobił w C#, bo najlepiej znam i mam świetne IDE, ale użycie Javy ma tę zaletę, że za darmo daje multiplatformowość
...i rowniez ma swietne IDE ;)

0

Serdecznie dziekuje za porady. Aktualnie szukam kursow do Javy, C#. Prawdopodbobnie w ktoryms z tych jezykow bede staral sie napisac gre, jak sie nie uda to C++. Czemu te jezyki, pare osob twerdzi ze sa stosunkowo ( w stosunku do C i C++ ) proste do opanowania i da sie w nich napisac to co zamierzam. Wady nie sa szybkie, ale w moja gra to nie strzelanka w ktorej licza sie fps-y wiec to nie problem. Czemu nie C++, jak wyzej, jest trudniejszy ( nauka i stosowanie ), a to ze jest blisko komputera to zaden argument, jak bede chcial bliskosci to sie przytule do laptopa ;-).

Co myslicie o moich wnioskach ?

0

Zawsze możesz połączyć C++ i QT4.

QT ma dobrą dokumentację i spore możliwości.

http://www.qtsoftware.com/qt-in-use

Szczerze polecam. Ale to tylko moje zdanie.

0

Kiedys cos tam zroblem w Delphi ( z 10 lat temu ). Czy nowe wersje tego jezyka podolaly by w miare latwo moim wymaganiom ?

0
winerfresh napisał(a)

Ale też nie znowu jakoś kosmicznie trudno, ale zgadzam się nie będzie to aż tak przyjemne i łatwe.

Jak się umie, to nic nie jest trudne. Ale z tego, co zrozumiałem, autor pytania ma zamiar się dopiero uczyć, a wówczas wszystko jest trudne ;)

Pan P napisał(a)

Prawdopodbobnie w ktoryms z tych jezykow bede staral sie napisac gre, jak sie nie uda to C++.

Jeśli miałoby się nie udać, to właśnie w C++ ;)

Pan P napisał(a)

Wady nie sa szybkie

Co konkretnie nie jest szybkie?

0
somekind napisał(a)
winerfresh napisał(a)

Ale też nie znowu jakoś kosmicznie trudno, ale zgadzam się nie będzie to aż tak przyjemne i łatwe.

Jak się umie, to nic nie jest trudne. Ale z tego, co zrozumiałem, autor pytania ma zamiar się dopiero uczyć, a wówczas wszystko jest trudne ;)

Pan P napisał(a)

Prawdopodbobnie w ktoryms z tych jezykow bede staral sie napisac gre, jak sie nie uda to C++.

Jeśli miałoby się nie udać, to właśnie w C++ ;)

Pan P napisał(a)

Wady nie sa szybkie

Co konkretnie nie jest szybkie?

Jako poczatkujacy pisze co inni pisza :-) Faktycznie samemu nie sprawdzalem szybkosci aplikacji o tych samych funkcjach w tych 3 jezykach ( java, c#, c++ ).

W tym momencie zwiedzam polskojezyczne zasoby internetu w poszukiwaniu kursów Javy i C#

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