PDA

Visualizza la versione completa : [C/C++] problema gioco


mat4ever
30-12-2012, 11:11
salve io sto creando un gioco simile a galaga ma ho 2 problemi
1) come posso far coesistere la mia navicella e le altre, comandate da 2 parti di codice diverse?
2) come posso impostare dei "margini" allo schermo per potere svolgere il gioco in uno spazio limitato?
grazie in anticipo per le risposte :ciauz:

oregon
30-12-2012, 12:11
Originariamente inviato da mat4ever
1) come posso far coesistere la mia navicella e le altre, comandate da 2 parti di codice diverse?

Abbastanza comodamente con un altro thread.


2) come posso impostare dei "margini" allo schermo per potere svolgere il gioco in uno spazio limitato?

Impossibile risponderti non sapendo nulla della parte grafica del tuo progetto.

mat4ever
30-12-2012, 12:26
in verità sono nel mondo del c da poco quindi la parte grafica è scarsa
comunque non volevo niente di particolarmente elaborato



#include<conio.h>
#include<stdlib.h>
#include<Windows.h>
#include<time.h>

void GotoXY(int x, int y) { COORD CursorPos = {x, y}; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hConsole, CursorPos); }

main () {
int x;
int y;
int muovi;
int az=3;

x=32;y=100;
GotoXY (x,y) ;
printf("!-||-!");
do {
muovi = getch();
if (muovi == 77 ) {
system("cls") ;
x=3+x;
GotoXY (x,y) ;
printf("!-||-!");
}
else if (muovi == 75 ) {
system("cls") ;
x=x-3;
GotoXY (x,y) ;
printf("!-||-!");
}

}
while (az!=50) ;

return 0;
}


questa è la navicella

con margini intendevo non margini visibili ma proprio dei confini per il tutto
non so se mi spiego

oregon
30-12-2012, 12:33
Ah ... ma è un semplice progetto console ...

Beh, allora lo spazio lo decidi tu impostando le coordinate x,y di quello che vuoi visualizzare.

mat4ever
30-12-2012, 12:49
ma quindi per esempio se volessi visualizzare il tutto in uno schermo 200 x 200 cosa dovrei scrivere

oregon
30-12-2012, 13:33
Dovresti lavorare con questa funzione

http://msdn.microsoft.com/en-us/library/windows/desktop/ms686125(v=vs.85).aspx

e in generale con tutte le API Console di Windows.

mat4ever
30-12-2012, 14:05
Mi dispiace di starti esasperando così ma non ho capito niente del link che mi hai dato.
Riusciresti a spiegarmelo in modo semplice?

oregon
30-12-2012, 14:13
Originariamente inviato da mat4ever
Mi dispiace di starti esasperando così

Non mi stai esasperando affatto ...


ma non ho capito niente del link che mi hai dato.

Questo è un problema ...


Riusciresti a spiegarmelo in modo semplice?

Le cose non si spiegano in modo semplice o complicato ... si spiegano così come sono, se poi ti appare complicato non si può fare nulla ...

In ogni caso, se non ti trovi a tuo agio con le API della Console, esegui il comando DOS

"MODE CON COLS=200 LINES=200"

con una system ...

MItaly
30-12-2012, 15:00
Tra parentesi, quando posti del codice racchiudilo nei tag
... , altrimenti perde l'indentazione. :ciauz:


Originariamente inviato da oregon
"MODE CON COLS=200 LINES=200"

Oddio MODE CON quanti ricordi... :cry:

oregon
30-12-2012, 15:32
Originariamente inviato da MItaly
Oddio MODE CON quanti ricordi... :cry:

E' vero ... :D

Loading