Domanda gioco in c/c++

Stato
Discussione chiusa ad ulteriori risposte.

deddyx

Utente Silver
8 Marzo 2015
130
34
7
90
Salve a tutti (mi scuso se ho sbagliato sezione) ho 16 anni evorrei creare un gioco in c o c++ senza usufruire di XNA o unity ecc e senza usare la libreria allegro.h(mi sta antipatica xD). La mia domanda è: mi dite come fare ad esempio a inserire un immagine e farla muovere? Se mi scrivete il codice mi fate un favore. Io ora sto creando una specie di ping pong in c sfruttando la libreria graphic.h e per far muovere la pallina e la barra praticamente coloro di nero la pallina e ne disegno un' altra spostata di un pixel, però io non vorrei utilizzare un rettangolo, ma un immaagine magari creata con paint. Grazie mille in anticipo=). Se non avete capito come faccio a spostare la pallina vi metto il pezzo di codice.
while(true)
{
delay(5);
palla1.pvcx = palla1.pncx;
palla1.pvcy = palla1.pncy;
palla1.pncx = palla1.pncx + palla1.vx;
palla1.pncy = palla1.pncy + palla1.vy;
setcolor (0);
setfillstyle (1,0); //toglie la scorsa posizione
fillellipse (palla1.pvcx,palla1.pvcy, palla1.raggio, palla1.raggio); //posizione da levare
setfillstyle (1,15); // Disegna la nuova posizione
fillellipse (palla1.pncx,palla1.pncy,palla1.raggio,palla1.raggio);//nuova posizione
if ( palla1.pncy - palla1.raggio < 0 )
palla1.vy = -palla1.vy; // Reflect From Top
if ( palla1.pncy + palla1.raggio > 728 )
{
palla1.vy = -palla1.vy; }
if ( palla1.pncx - palla1.raggio < 0 )
palla1.vx = -palla1.vx;
if ( palla1.pncx + palla1.raggio > 1000 )
palla1.vx = -palla1.vx;
}
//palla1.pncx=posizione nuova sulla coordinata x
palla1.pncy=posizione nuova sulla coordinata y
palla1.pvcx=posizione vecchia sulla coordinata x
palla1.pvcx=posizione vecchia sulla coordinata y
 
ok ma in tutto questo cosa c'entra che hai 16 anni? comunque hai scartato praticamente tutto :asd: comunque non sottovalutare allegro.h perché è davvero una buona libreria per iniziare, ma anche XNA ha una potenzialità infinita...
 
Il fatto dei 16 anni è sia per presentarmi sia per dire che non sono bravo.
xna e compagnia non li vorrei utilizzare perchè:
1 non vorrei utilizzare quei programmi perchè mi sembra di imbrogliare
2uno di quinta ha creato un gioco usando le librerie sdl quindi mi piacerebbe usare quelle librerie.
Sò che magari vi sembrano motivazioni stupide però voi sapete usare le librerie SDL?
 
è come dire che ogni volta che fanno una distribuzione linux devono riscrivere tutto da 0... non è imbrogliare...
 
Usare graphics.h (le API grafiche della Borland) significa partire col piede sbagliato, è roba che dovresti considerare morta e sepolta da almeno 15 anni. Fatti un favore, non sprecare il tuo tempo dietro sta roba.
XNA e Unity c'entrano una fava con C e C++ e se la tua era una domanda generica tanto vale che guardi qualche discussione nella sezione creazione giochi (che comunque ti invito a guardare).

Allegro (C), SDL (C) e SFML (C++) sono le scelte tipiche, visto che hai già scartato Allegro te ne rimangono principalmente due. La scelta dipende dalle tue conoscenze sul linguaggio: le SFML sono più semplici perché sfruttano la OOP (l'hai già studiata?), le SDL sono un po' meno intuitive e sono scritte in C. La documentazione è molto buona in entrambe le librerie, non faticherai a trovare guide ed esempi. Ti consiglio anche di dare un'altra chance ad Allegro, l'hai scartata troppo in fretta.
Se "non vuoi barare" ci sono le solite OpenGL e DirectX, ma se il tuo obbiettivo è quello di fare un gioco lasciale stare.
 
St3ve ti ringrazio di cuore dei tuoi consigli si vede che te ne intendi. Ora seguirò il tuo consiglio e lascerò perdere la libreria graphic.h. Tu delle tre librerie Allegro , SDL e SFML quale mi consigli non scartando allegro?
 
Ti consigliio SFML se vuoi usare C++ e conosci già la OOP, SDL se non conosci la OOP e Allegro se ti trovi male con le SDL.

Se non hai ancora visto la programmazione object-oriented ti consiglio di impararla prima di cominciare: nella creazione di videogiochi ti semplifica di molto la vita in fase di progettazione, inoltre capiresti cosa stai facendo quando usi SFML (se scegli queste). Se non sei pratico di object-oriented e vuoi subito provare a fare qualcosa vai di SDL (2.0 ovviamente, lascia stare le versioni vecchie), sono sicuramente le più famose librerie grafiche per il C e si trovano parecchi tutorial in giro.
Le Allegro è da un po' che non le guardo, le conosco poco perché ho sempre preferito le altre due, ma da quel che ricordo non sono particolarmente difficili. Anche queste, come le SDL, sono pensate per il C (niente OOP), però trovi meno guide in rete.
 
Stato
Discussione chiusa ad ulteriori risposte.