Newsgroup: it.comp.lang.c++
Titolo: Salve!

Ciao a tutti! E' da poco che mi cimento sullo "studio" della programmazione
ad oggetti, in particolare l'affascinante mondo del C++.
Lo trovo interessante ma PARECCHIO, aiutatemi a dire PARECCHIO DIFFICILE!Non
so voi dopo quanto siete riusciti ad ottenere una conoscenza talmente vasta
del linguaggio in discussione per cui gia siete in grado di progettare un
gioco funzionante e complesso.
Spero che con l'aiuto vostro riesca nel mio intento. :-)
Ciao....e alla prossima!

 wrote

Che gioco?!?
Per programmare un gioco devi conoscere un linguaggio (e questo e' solo la
base). Poi sapere come utilizzare il linguaggio per ottenere cio' che vuoi
fare. Ad esempio per la dama: minimax, alpha beta, iterative deepening,
ricorsione, etc .....
Infine a meno che tu non voglia farlo a coordinate c6-d7 etc... devi fare la
parte grafica ed in windows ti tocca imparare le GDI e tutte le altre
windows APIs. Se poi il gioco lo vuoi fare non a turni, ma real time allora
forse ti devi anche imparare le directx o le opengl.
In pratica una volta imparato il C/C++ sei solo all'inizio di un lungo
percorso di apprendimento....
Buona fortuna,
Tommy

 wrote in message
news:avp1og$5q5$1...@lacerta.tiscalinet.it...

Come ti ha giustamente detto Tommy, la "semplice" conoscenza del C++ non ti
permette di progettare un gioco funzionante e complesso.
Non da sola almeno, in quanto il C++ standard non e' provvisto di grafica
per cui ti devi appoggiare ad altre librerie grafiche dipendenti dal sistema
operativo.
Per giochi complessi sotto Windows dovresti impararti  le DirectX o le
OpenGL o la libreria Allegro (non so se e' compatibile per Linux).
Se vuoi fare giochi indipendenti dal SO allora vai col Java anche se
estremamente lento per i giochi.
Comunque per rimanere nel nostro "mondo", in C++ standard puoi comunque
progettare il cuore del tuo gioco, il motore, quello che pensa e calcola ed
e' indipendente dalla grafica, almeno fino al punto in cui ci si deve
interfacciare.
Una volta progettato il motore, ben funzionante a quel punto ti puoi
preoccupare della carrozzeria e quindi magari passi alla programmazione di
Win32API , le GDI, le DirectX, i Threads, la programmazione di rete (per il
multiplayer!) ed altre belle cose fantascientifiche.
Ma ricordati che il motore e' quello che fa andare la macchina.
Se ti interessa, come esempio concreto ti posso far vedere un bel gioco del
7 e mezzo a linea di comando, col quale ti puoi divertire a progettare la
parte grafica.
Maurus

 ha scritto nel messaggio
news:avp1og$5q5$1...@lacerta.tiscalinet.it...


 Ma ricordati che il motore e' quello che fa andare la macchina.
Diciamo che una volta imparato il c++ non si č finito di imparare ma i passi
successivi a mio parere sonoo sicuramente molto meno complicati!
Io non avevo mai programmato ad esempio col borland c++ per costruire
interfaccie grafiche e via dicendo, pero devo dire che con un piccolo aiuto
non ho trovato molte difficolta a scrivere programmi anche semplici!
Nonostante tutto bisogna anche tener conto che c'č chi scrive programmi che
gestiscono grosse aziende e non sa nemmeno come si implementa una classe
nonostante ne faccia buon uso!!!
Antonio Volpe.

 successivi a mio parere sonoo sicuramente molto meno complicati!
Ma se il C++ e' il primo linguaggio di programmazione si, altrimenti non ne
sono convinto.
Se ad esempio conosci gia' Java e Pascal non ci dovresti mettere troppo ad
imparare (in modo NON completo) il C++ essere in grado di provare a scrivere
un gioco. (Dico in modo non completo in quanto il C++ e' immenso!).
Lo scoglio sono tutte le altre cose (per windows):
algoritmi, strutture dati, Win32 APIs, MFCs, COM, DirectX, TCP/IP, WINSOCK
etc...
Ad esempio io trovo le DirectX piuttosto complicate.
Insomma, non sono convinto che i passi successivi siano meno complicati!
In altre parole e' piu semplice imparare il C++ che scrivere un algoritmo
complicatissimo di AI.
Se una volta imparato un linguaggio tutti fossero a cavallo, e tutto fosse
"meno complicato" di imparare il linguaggio stesso, beh, allora tutti quelli
che imparano il C++ sarebbero in grado di scrivere giochi, sistemi
operativi, compilatori, etc....
Io credo che ci siano concetti MOLTO piu' difficili rispetto
all'apprendimento di un linguaggio di programmazione. Certo un gioco
semplice e' puo' essere meno complicato, ma d'altro canto ce ne sono anche
di complessi: pensa ad un motore 3D, quanta matematica, fisica, algoritmi
etc.... Mica facile, eh?!?
Le DirectX (anche APIs, MFCs, COM, etc..) in tutto questo sono la cosa piu'
semplice, ma rimangono cmq uno piccolo scoglio non da poco anche loro!
In pratica continuo a pensare che per scrivere un giochino semplice
semplice, una volta imparato il C++, wow, quasi fatta, ma per un gioco
complesso, beh, i passi successivi sono molto piu' complicati e non si e'
nemmeno ad un 20esimo del cammino!!!!
Tommy


Forse avrò smorzato troppo i toni!E' normale che non si tratta di cose
semplici ma come ti ripeto se c'è gente che programma senza sapere nemmeno
come si implementa una classe e scrive programmi che cmq girano in rete, mi
viene da pensare che dopo aver imparato il C++ ci  vuole piu che altro
esperienza non penso ci sia molta teoria e cose complicatissime dietro!è
ovvio che chi conosce la teoria ha uno strumento in piu ed ha piu
possibilita perchè sa quello che scrive quando programma mentre chi non
conosce deve affidarsi solo all'esperienza, ma sta di fatto che ci sono
persone che sanno programmare piu per esperienza che per le loro conoscenze
teoriche!

 teoriche!
Si, ma forse non scrivono sistemi operativi, compilatori, interpreti e
motori 3D per giochi etc...
Tu la pensi diversamente da me, bene, e' questione di opinioni diverse.
Magari sono io che faccio fatica. Magari tu una volta imparato il C++ per
bene troverai tutto il resto una minchiata! Me lo auguro per te!
Facciamo cosi' quanto ti senti pronto con il C++ mi fai un fischio, scrivimi
pure una mail e mi confermi di essere in grado di fare tutto quello che vuoi
e di trovare tutto semplice, ok?!?
Tommy


Ciao,
    ti consiglio per la parte grafica del tuo gioco di visitare il sito
http://nehe.gamedev.net/
 dove puoi trovare un sacco di tutorial sulla
programmazione con le API OpenGL. Le OpenGL riguardano solo la grafica, devi
prima smanettare un po' sulle cose di base del C++ e sulla programmazione
Windows (nel caso vuoi sviluppare questo gioco per Windows, ma le OpenGL so
portabili anche su Linux e altri S.O.).
Anche io sto tentando una cosa del genere ma avendo programmato prima in C
mi capita di sfruttare poco, male o per niente alcune funzionalità del C++
quali le STL in cui mi sono scontrato solo adesso (prima utilizzavo classi
di gestione della lista scritta da me in C) oppure solo poco tempo fa ho
scoperto l'oggetto String... Come libro ti consiglio per la Programmazione
C++ in generale quello di 
www.bruceeckel.com
  che vedo che è molto
apprezzato ancge in questo NG. Per le OpenGL ti consiglio ti utilizzare il
RedBook... non mi ricordo dove lo ho scaricato ma se cerchi in google sicuro
lo trovi.
Per le DirectX che uso come input e sound ho scaricato l'SDK e la sua
documentazione dal sito della amata/odiata
Microsoft (ora è uscito quello delle DirectX 9).
Spero di essere stato d'aiuto.
Ciao.
--
Alberto

 ha scritto nel messaggio
news:avrp14$ei0$1...@lacerta.tiscalinet.it...
