Vai al contenuto
EvIl DeViL

C++ & 3d Studio Max 6.0...

Recommended Posts

scusate ma sono proprio alle prime armi e allra mi chiedevo se gentilmente qualcuno sapeva dirmi come potevo associare i solidi 3d che ho creato con 3d studio max 6.0 a un programma creato in c++...

qualcuno mi ha parlato di openGL che da quanto ho capito sono degli header che permettono di fare quello che ho chiesto poc'anzi...

il problema e che non so dove reprirle!

mi dareste qualche link x scaricare queste librerie?

grazie mille!!!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
scusate ma sono proprio alle prime armi e allra mi chiedevo se gentilmente qualcuno sapeva dirmi come potevo associare i solidi 3d che ho creato con 3d studio max 6.0 a un programma creato in c++...

qualcuno mi ha parlato di openGL che da quanto ho capito sono degli header che permettono di fare quello che ho chiesto poc'anzi...

il problema e che non so dove reprirle!

mi dareste qualche link x scaricare queste librerie?

grazie mille!!!

Ecco il Link del sito per le OpenGL ;) puoi partire da qui penso ci sia tutto quello che ti serve

LINK

ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ciao raga,mastico un po' di c e di 3d studio max,conosco le librerie open_gl solo che le conosco come librerie che permettono interfaccie grafiche oppure disegni grafici però solo di primitive(linee,cerchi,triangoli...ect).Sapresti darmi qualche consiglio?

Cmq ora ti posto un file che t potrebbe essere utile per l'installazione delle librerie:

Readme.pdf

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

vi ringrazio moltissimo per la vostra disponibilità!

(anke se nn so se ho scaricato le cose giuste)

un ultima cosa...

cosa c'e di sbagliato in questo codice?

#include <iostream.h>

void main()

{

char* nome;

cout << "Ciao, come ti chiami? ";

cin >> nome;

cout << "Ciao " << nome << "!";

}

cioè lo compilo lo eseguo fa la domanda scrivo il mio nome premo invio e il prog crasha...

un ultima cosa:

1. sapete indicarmi un sito dove imparare bene bene bene il c++? (possibilmente in italiano)(come vedete sono una megaschiappa)

2. sapete indicarmi un sito dove imparare bene bene bene la grafica 3d? (possibilmente in italiano)

grazie ancora per la vostra disponibilità

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Di c ne so abbastanza.Per impararlo bene t posso consigliare un fantastico libro di testo(per quanto però riguarda la grafica nn t insegna niente su come usare il c++ e le librerie glui e glut però per il resto è il top) che si intitola:

Linguaggio C-guida alla programmazione di Alessandro Bellini,Andrea Guidi

Casa editrice MacGraw-Hill.

Per quanto riguarda le righe di codice che hai scritto per ora nn so dirti molto perchè per stampare a video qualche cosa uso i classici printf o puts,mentre per il salvataggio di dati su una variabile uso scanf e gets(tutti questi comandi risiedono nella libreria stdio.h) e nn ho mai visto cout e cin.Cmq un errore potrebbe essere che il puntatore punta su un'area di memoria grande quanto un char che può contenere al massimo un carattere.Per inserire una stringa t conviene usare dei array(vettori) che si definiscono come:

char nome[20]; (il noe può essere lungo al max 20 caratteri)

per esempio:

printf("inserisci il tuo nome:\n");

scanf("%s",nome);

Inoltre per poter utilizzare le librerie glui mi sa che nn t basti solo il c++, ma che t serva il visual c.

Fammi sapere se hai problemi.Ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
vi ringrazio moltissimo per la vostra disponibilità!

(anke se nn so se ho scaricato le cose giuste)

un ultima cosa...

cosa c'e di sbagliato in questo codice?

#include <iostream.h>

void main()

{

char* nome;

cout << "Ciao, come ti chiami? ";

cin >> nome;

cout << "Ciao " << nome << "!";

}

cioè lo compilo lo eseguo fa la domanda scrivo il mio nome premo invio e il prog crasha...

Perchè la variabile "nome" non è stata inizializzata ecco la correzione: ;)

#include <iostream.h>

int main(int argc, char* argv[])

{

char nome[255];

cout << "Ciao, come ti chiami? ";

cin >> nome;

cout << "Ciao " << nome << "!";

return 0;

}

come puoi vedere ora "nome" (cosi definito char nome[255]) può contenere 255 caratteri al massimo (se ne inserisci di più crasha !!)

ciao :lol:

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

GRANDI GRANDI GRANDI SIETE GRANDI!!!

TNX...

un ultima cosa e poi non vi rompo + :)

ho le librerie glut.h e glui.h

qual'e il listato che devo scrivere x far comparire un solido creato con studio max in un programma in c++?

se non e di troppo disturbo come faccio magari a muoverlo con le freccine?

cioe freccina su il solido si sposta in avanti freccina giu gira di 180° e va indietro freccina sinistra di 90° verso sinistra ecc...

se e troppo complicato tutto cio magari mi basta solo che il solido vada in avanti con la freccina su indietro con la freccina giu sinistra con la freccina sinistra e destra con la freccina destra?

io vi chiedo tutte ste cose perche vorrei fare un videogioco in c++...(ovviamente non sono da solo!)

ho 14 anni imparo in fretta poiche ho mooolto tempo disponibile...

grazie mille!!!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

GrafDev ho fatto come hai detto tu xo quando lo eseguo da c++ il programma va...

invece quando lo doppio clikko da windows mi scrive ciao come ti chiami?

inserisco il nome faccio invio e crasha!!!

e il bello e che io mi chiamo jacopo e quindi ho messo solo 6 lettere!!!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

mi e venuto un dubbio...

dunque io ho microsoft visual c++

lo apro gli dico nuovo win32 console application metto il nome la directory

la spunta su create new work space la spunta su win32

alla nuova schermata spunto "an empty project" do l'ok

poi faccio nuovo c++ source file la spunta su add to project la directory del progetto appena creato metto il nome e faccio click su ok

scrivo il codice lo compilo lo buildo e lo eseguo e funziona.

poi vado nella directory dove lo ho posizionato lo eseguo e il prog crasha (o meglio si chiude da solo senza nessun messaggio di errore!!!)

e giusto il procedimento che faccio?

nn e che non e compatibile con windows xp?

grazie!!!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ciao,

per quanto riguarda i comandi per collegare il solido 3d al programma c nn ne ho una idea(e ne sono interessatissimo anche io).Non so il perchè nn ti funzioni lanciando da window il programma,io eseguo tutte le tue operazioni e mi funziona.

Per ora l'unico video gioco che sono riuscito a fare è un semplicissimo labirinto.Te lo posto,da me funziona.Se vuoi t posto anche il sorgente(nn guardare come sono disegnati i muri(ovvero codice ASCII),ma l'ho fatto in 3 giorni per un esame all'università e visto che dovevo fare 10 labirinti mi scocciava scrivere delle gran righe di codice per una cagata.Ora te lo posto(cacchio,nn ho il permesso di postarti il programma).Allora ti posto il codice(è un po' lungo).Ciao

#include<stdio.h>

#include<stdlib.h>

#include<malloc.h>

#include<time.h>

#include<conio.h>

#include<string.h>

struct elemento {

int inf;

struct elemento *pun;

};

struct giocatore{

char nominativo[20];

float tempo;

float mosse;

}now,record[100],appo;

float sec=0,med=0,min=0,max=0,voltet=1;

struct elemento *crea_lista();

int labirinto[16][9],labirinto1[16][9];

int flagt=0,x=9,y=0,rifa,salvataggio=0,mos=0,x1=0,y1=0;

char nome[20],nome1[20],scelta,scelta1;

void help_me(void);

void movimento(struct elemento *);

void calcolatempo(float a,float volte);

void crea_labirinto(int n);

void visualizza_lista(struct elemento *);

void cancella_lista(struct elemento *,int temp);

int flag=0,flag_in=0;

FILE *fp,*fl,*fd;

main()

{

int scelta=0,len,car=0;

struct elemento *pun_lista;

for(;;){

fflush(stdin);

flag_in=0;

printf("\t\t\tBenvenuto nel gioco labirinto\n\n\n\n");

printf("Ecco le regole del labirinto\n");

printf("Obbiettivo del gioco e\' portare la faccina all'uscita del percorso\n");

printf("Si prema 6 se si vuole andare a destra\n");

printf("Si prema 4 se si vuole andare a sinistra\n");

printf("Si prema 2 se si vuole andare verso il basso\n");

printf("Si prema 8 se si vuole andare verso l'alto\n");

printf("Nel caso si voglia interrompere una partita si prema 9\n");

printf("Nel caso si voglia salvare una partita incominciata si digiti 3\n");

printf("Nel caso si voglia caricare una partita incominciata si digiti 7\n");

printf("Una volta interrotta si puo\' decidere se ricominciarne una o finire il programma\n");

printf("Nel caso si vogliano vedere le mosse fatte si prema 5\n");

printf("Nel caso vi troviate in difficolta\' premete 1 e vi comparira\' l'help\n");

printf("Inserisci il tuo nome(max 20 lettere):\n");

gets(now.nominativo);

fflush(stdin);

len=strlen(now.nominativo);

printf("Scegli il labirinto:\n");

scanf("%d",&scelta);

if(scelta!=1&&scelta!=2&&scelta!=3&&scelta!=4&&scelta!=5&&scelta!=6&&scelta!=7&&scelta!=8&&scelta!=9&&scelta!=10){

do{

printf("\nGuarda che abbiamo dieci labirinti a disposizione\n");

printf("quindi puoi digitare solo numeri da 1 a 10\n");

printf("Scegli il labirinto:\n");

scanf("%d",&scelta);

}while(scelta!=1&&scelta!=2&&scelta!=3&&scelta!=4&&scelta!=5&&scelta!=6&&scelta!=7&&scelta!=8&&scelta!=9&&scelta!=10);

crea_labirinto(scelta);

}else{

crea_labirinto(scelta);

}

for(;;){

fflush(stdin);

pun_lista=crea_lista();

if(pun_lista->pun==NULL){

break;

}

}

if(pun_lista->pun==NULL && rifa==0){

break;

}

}

}

struct elemento *crea_lista()

{

float start,finish;

int h,i;

float durata;

struct elemento *p,*paus;

fflush(stdin);

do{

if(flag_in==0){

p=(struct elemento *)malloc(sizeof(struct elemento));

printf("Inserisci direzione:\n");

start=clock();

scanf("%d",&p->inf);

switch(p->inf){

case 1:

finish=clock();

help_me();

break;

case 2:

finish=clock();

durata=(float)(finish-start)/1000;

calcolatempo(durata,voltet);

paus=p;

movimento(paus);

flag_in=1;

break;

case 3:

printf("Non puoi salvare il file perchè non hai fatto ancora mosse\n");

break;

case 4:

finish=clock();

durata=(float)(finish-start)/1000;

calcolatempo(durata,voltet);

paus=p;

movimento(paus);

flag_in=1;

break;

case 5:

printf("Non puoi visualizzare le mose ora,non ne hai ancora fatte\n");

break;

case 6:

finish=clock();

durata=(float)(finish-start)/1000;

calcolatempo(durata,voltet);

paus=p;

movimento(paus);

flag_in=1;

break;

case 7:

printf("Non puoi caricare,non hai ancora effettuato un salvataggio!\n");

break;

case 8:

finish=clock();

durata=(float)(finish-start)/1000;

calcolatempo(durata,voltet);

paus=p;

movimento(paus);

flag_in=1;

break;

case 9:

printf("Vuoi ricominciare la partita o interrompere il programma?\n");

printf("Premi t se vuoi terminare la partita altrimenti premi w\n");

fflush(stdin);

scanf("%c",&scelta1);

if(scelta1=='t'){

p->pun=NULL;

rifa=0;

return(p);

}

if(scelta1=='w'){

p->pun=NULL;

rifa=1;

return(p);

}

break;

}

}

}while(flag_in!=1);

if(p->inf!=9 && flag_in==1){

do{

for(h=0;h<=8;h++){

for(i=0;i<16;i++){

printf("%c",labirinto[h]);

}

printf("\n");

}

paus->pun=(struct elemento *)malloc(sizeof(struct elemento));

paus=paus->pun;

printf("Inserisci direzione:\n");

start=clock();

scanf("%d",&paus->inf);

switch(paus->inf){

case 1:

finish=clock();

help_me();

break;

case 2:

finish=clock();

voltet++;

durata=(float)(finish-start)/1000;

calcolatempo(durata,voltet);

movimento(paus);

flag_in=1;

break;

case 3:

finish=clock();

mos=voltet;

x1=x;

y1=y;

if ((fp = fopen("c:\\salvataggio.txt","wb")) != NULL)

{

if (fwrite(labirinto,sizeof(int),144,fp) != 144)

{

printf("\n errore di scrittura \n");

exit(1);

}

printf("Salvataggio avvenuto con successo\n");

}

else

{

printf("\n errore apertura file \n");

exit(1);

}

fclose(fp);

salvataggio=1;

case 4:

finish=clock();

voltet++;

durata=(float)(finish-start)/1000;

calcolatempo(durata,voltet);

movimento(paus);

flag_in=1;

break;

case 5:

paus->pun=NULL;

visualizza_lista(p);

break;

case 6:

finish=clock();

voltet++;

durata=(float)(finish-start)/1000;

calcolatempo(durata,voltet);

movimento(paus);

flag_in=1;

break;

case 7:

voltet=mos;

x=x1;

y=y1;

if(salvataggio==1){

if ((fp = fopen("c:\\salvataggio.txt","rb")) != NULL)

{

if (fread(labirinto,sizeof(int),144,fp) != 144)

{

printf("\n errore di lettura \n");

exit(1);

}

}

else

{

printf("\n errore apertura file \n");

exit(1);

}

fclose(fp);

for(h=0;h<=8;h++){

for(i=0;i<16;i++){

printf("%c",labirinto[h]);

}

printf("\n");

}

paus->pun=NULL;

cancella_lista(p,mos);

system("PAUSE");

}

else{

printf("Non hai ancora effetuato salvataggi.Errore!!!\n");

}

break;

case 8:

finish=clock();

voltet++;

durata=(float)(finish-start)/1000;

calcolatempo(durata,voltet);

movimento(paus);

flag_in=1;

break;

case 9:

printf("Vuoi ricominciare la partita o interrompere il programma?\n");

printf("Premi t se vuoi terminare la partita altrimenti premi w\n");

fflush(stdin);

scanf("%c",&scelta1);

if(scelta1=='t'){

p->pun=NULL;

rifa=0;

flag=1;

}

if(scelta1=='w'){

paus->pun=NULL;

rifa=1;

cancella_lista(p,mos);

p->pun=NULL;

return(p);

}

break;

}

}while(flag!=1);

paus->pun=NULL;

}

return(p);

}

void visualizza_lista(struct elemento *p)

{

printf("Ecco le mosse fatte:\n");

while(p!=NULL){

if(p->inf==8){

printf("%c\n",0x18);

}

if(p->inf==2){

printf("%c\n",0x19);

}

if(p->inf==6){

printf("%c\n",0x1A);

}

if(p->inf==4){

printf("%c\n",0x1B);

}

p=p->pun;

}

}

void crea_labirinto(int n)

{

int i,h;

for(h=0;h<=8;h++){

for(i=0;i<16;i++){

labirinto[h]=0x00;

}

}

switch(n){

case 1:

x=9;

y=0;

//riga 0

for(i=0;i<16;i++){

labirinto[0]=0xcd;

}

labirinto[9][0]=0x00;

//riga 1

for(i=0;i<16;i++){

labirinto[1]=0x00;

}

labirinto[0][1]=0xba;

labirinto[8][1]=0xba;

labirinto[15][1]=0xba;

//riga 2

for(i=0;i<16;i++){

labirinto[2]=0xba;

}

labirinto[1][2]=0x00;

labirinto[3][2]=0x00;

labirinto[6][2]=0x00;

labirinto[14][2]=0x00;

//riga 3

for(i=0;i<16;i++){

labirinto[3]=0x00;

}

labirinto[0][3]=0xba;

labirinto[2][3]=0xba;

labirinto[4][3]=0xba;

labirinto[5][3]=0xba;

labirinto[15][3]=0xba;

//riga 4

for(i=0;i<16;i++){

labirinto[4]=0xba;

}

labirinto[1][4]=0x00;

labirinto[3][4]=0x00;

labirinto[10][4]=0x00;

//riga 5

for(i=0;i<16;i++){

labirinto[5]=0x00;

}

labirinto[0][5]=0xba;

labirinto[2][5]=0xba;

labirinto[9][5]=0xba;

labirinto[15][5]=0xba;

//riga 6

for(i=0;i<16;i++){

labirinto[6]=0xba;

}

labirinto[1][6]=0x00;

labirinto[3][6]=0x00;

//riga 7

for(i=0;i<16;i++){

labirinto[7]=0x00;

}

labirinto[0][7]=0xba;

labirinto[2][7]=0xba;

labirinto[15][7]=0xba;

//riga 8

for(i=0;i<16;i++){

labirinto[8]=0xcd;

}

labirinto[10][8]=0x00;

labirinto[9][0]=0x01;

break;

case 2:

x=9;

y=0;

//riga 0

for(i=0;i<16;i++){

labirinto[0]=0xcd;

}

labirinto[9][0]=0x00;

//riga 1

for(i=0;i<16;i++){

labirinto[1]=0x00;

}

labirinto[0][1]=0xba;

labirinto[8][1]=0xba;

labirinto[15][1]=0xba;

//riga 2

for(i=0;i<16;i++){

labirinto[2]=0xba;

}

labirinto[1][2]=0x00;

labirinto[3][2]=0x00;

labirinto[6][2]=0x00;

labirinto[14][2]=0x00;

//riga 3

for(i=0;i<16;i++){

labirinto[3]=0x00;

}

labirinto[0][3]=0xba;

labirinto[2][3]=0xba;

labirinto[4][3]=0xba;

labirinto[5][3]=0xba;

labirinto[15][3]=0xba;

//riga 4

for(i=0;i<16;i++){

labirinto[4]=0xba;

}

labirinto[1][4]=0x00;

labirinto[3][4]=0x00;

labirinto[10][4]=0x00;

//riga 5

for(i=0;i<16;i++){

labirinto[5]=0x00;

}

labirinto[0][5]=0xba;

labirinto[2][5]=0xba;

labirinto[9][5]=0xba;

labirinto[15][5]=0xba;

//riga 6

for(i=0;i<16;i++){

labirinto[6]=0xba;

}

labirinto[1][6]=0x00;

//riga 7

for(i=0;i<16;i++){

labirinto[7]=0x00;

}

labirinto[0][7]=0xba;

labirinto[15][7]=0xba;

//riga 8

for(i=0;i<16;i++){

labirinto[8]=0xcd;

}

labirinto[10][8]=0x00;

labirinto[9][0]=0x01;

break;

case 3:

x=9;

y=0;

//riga 0

for(i=0;i<16;i++){

labirinto[0]=0xcd;

}

labirinto[9][0]=0x00;

//riga 1

for(i=0;i<16;i++){

labirinto[1]=0x00;

}

labirinto[0][1]=0xba;

labirinto[8][1]=0xba;

labirinto[10][1]=0xba;

labirinto[15][1]=0xba;

//riga 2

for(i=0;i<16;i++){

labirinto[2]=0xba;

}

labirinto[1][2]=0x00;

labirinto[3][2]=0x00;

labirinto[6][2]=0x00;

labirinto[9][2]=0x00;

labirinto[14][2]=0x00;

//riga 3

for(i=0;i<16;i++){

labirinto[3]=0x00;

}

labirinto[0][3]=0xba;

labirinto[2][3]=0xba;

labirinto[4][3]=0xba;

labirinto[5][3]=0xba;

labirinto[15][3]=0xba;

//riga 4

for(i=0;i<16;i++){

labirinto[4]=0xba;

}

labirinto[1][4]=0x00;

labirinto[3][4]=0x00;

labirinto[10][4]=0x00;

//riga 5

for(i=0;i<16;i++){

labirinto[5]=0x00;

}

labirinto[0][5]=0xba;

labirinto[2][5]=0xba;

labirinto[9][5]=0xba;

labirinto[15][5]=0xba;

//riga 6

for(i=0;i<16;i++){

labirinto[6]=0xba;

}

labirinto[1][6]=0x00;

labirinto[8][6]=0x00;

//riga 7

for(i=0;i<16;i++){

labirinto[7]=0x00;

}

labirinto[0][7]=0xba;

labirinto[2][7]=0xba;

labirinto[15][7]=0xba;

//riga 8

for(i=0;i<16;i++){

labirinto[8]=0xcd;

}

labirinto[10][8]=0x00;

labirinto[9][0]=0x01;

break;

case 4:

x=9;

y=0;

//riga 0

for(i=0;i<16;i++){

labirinto[0]=0xcd;

}

labirinto[9][0]=0x00;

//riga 1

for(i=0;i<16;i++){

labirinto[1]=0x00;

}

labirinto[0][1]=0xba;

labirinto[10][1]=0xba;

labirinto[15][1]=0xba;

//riga 2

for(i=0;i<16;i++){

labirinto[2]=0xba;

}

labirinto[1][2]=0x00;

labirinto[3][2]=0x00;

labirinto[6][2]=0x00;

labirinto[14][2]=0x00;

//riga 3

for(i=0;i<16;i++){

labirinto[3]=0x00;

}

labirinto[0][3]=0xba;

labirinto[2][3]=0xba;

labirinto[4][3]=0xba;

labirinto[5][3]=0xba;

labirinto[15][3]=0xba;

//riga 4

for(i=0;i<16;i++){

labirinto[4]=0xba;

}

labirinto[1][4]=0x00;

labirinto[3][4]=0x00;

labirinto[10][4]=0x00;

//riga 5

for(i=0;i<16;i++){

labirinto[5]=0x00;

}

labirinto[0][5]=0xba;

labirinto[2][5]=0xba;

labirinto[9][5]=0xba;

labirinto[15][5]=0xba;

//riga 6

for(i=0;i<16;i++){

labirinto[6]=0xba;

}

labirinto[1][6]=0x00;

labirinto[3][6]=0x00;

labirinto[14][6]=0x00;

//riga 7

for(i=0;i<16;i++){

labirinto[7]=0x00;

}

labirinto[0][7]=0xba;

labirinto[2][7]=0xba;

labirinto[9][7]=0xba;

labirinto[15][7]=0xba;

//riga 8

for(i=0;i<16;i++){

labirinto[8]=0xcd;

}

labirinto[10][8]=0x00;

labirinto[9][0]=0x01;

break;

case 5:

x=9;

y=0;

//riga 0

for(i=0;i<16;i++){

labirinto[0]=0xcd;

}

labirinto[9][0]=0x00;

//riga 1

for(i=0;i<16;i++){

labirinto[1]=0x00;

}

labirinto[0][1]=0xba;

labirinto[5][1]=0xba;

labirinto[8][1]=0xba;

labirinto[15][1]=0xba;

//riga 2

for(i=0;i<16;i++){

labirinto[2]=0xba;

}

labirinto[1][2]=0x00;

labirinto[3][2]=0x00;

labirinto[6][2]=0x00;

labirinto[14][2]=0x00;

//riga 3

for(i=0;i<16;i++){

labirinto[3]=0x00;

}

labirinto[0][3]=0xba;

labirinto[2][3]=0xba;

labirinto[4][3]=0xba;

labirinto[5][3]=0xba;

labirinto[15][3]=0xba;

//riga 4

for(i=0;i<16;i++){

labirinto[4]=0xba;

}

labirinto[1][4]=0x00;

labirinto[3][4]=0x00;

labirinto[14][4]=0x00;

//riga 5

for(i=0;i<16;i++){

labirinto[5]=0x00;

}

labirinto[0][5]=0xba;

labirinto[2][5]=0xba;

labirinto[4][5]=0xba;

labirinto[15][5]=0xba;

//riga 6

for(i=0;i<16;i++){

labirinto[6]=0xba;

}

labirinto[1][6]=0x00;

labirinto[3][6]=0x00;

labirinto[6][6]=0x00;

//riga 7

for(i=0;i<16;i++){

labirinto[7]=0x00;

}

labirinto[0][7]=0xba;

labirinto[2][7]=0xba;

labirinto[15][7]=0xba;

//riga 8

for(i=0;i<16;i++){

labirinto[8]=0xcd;

}

labirinto[10][8]=0x00;

labirinto[9][0]=0x01;

break;

case 6:

x=9;

y=0;

//riga 0

for(i=0;i<16;i++){

labirinto[0]=0xcd;

}

labirinto[9][0]=0x00;

//riga 1

for(i=0;i<16;i++){

labirinto[1]=0x00;

}

labirinto[0][1]=0xba;

labirinto[8][1]=0xba;

labirinto[15][1]=0xba;

//riga 2

for(i=0;i<16;i++){

labirinto[2]=0xba;

}

labirinto[1][2]=0x00;

labirinto[3][2]=0x00;

labirinto[6][2]=0x00;

labirinto[9][2]=0x00;

labirinto[14][2]=0x00;

//riga 3

for(i=0;i<16;i++){

labirinto[3]=0x00;

}

labirinto[0][3]=0xba;

labirinto[2][3]=0xba;

labirinto[4][3]=0xba;

labirinto[5][3]=0xba;

labirinto[10][3]=0xba;

labirinto[15][3]=0xba;

//riga 4

for(i=0;i<16;i++){

labirinto[4]=0xba;

}

labirinto[1][4]=0x00;

labirinto[3][4]=0x00;

labirinto[10][4]=0x00;

//riga 5

for(i=0;i<16;i++){

labirinto[5]=0x00;

}

labirinto[0][5]=0xba;

labirinto[2][5]=0xba;

labirinto[9][5]=0xba;

labirinto[15][5]=0xba;

//riga 6

for(i=0;i<16;i++){

labirinto[6]=0xba;

}

labirinto[1][6]=0x00;

labirinto[3][6]=0x00;

labirinto[7][6]=0x00;

labirinto[11][6]=0x00;

labirinto[14][6]=0x00;

//riga 7

for(i=0;i<16;i++){

labirinto[7]=0x00;

}

labirinto[0][7]=0xba;

labirinto[2][7]=0xba;

labirinto[6][7]=0xba;

labirinto[12][7]=0xba;

labirinto[15][7]=0xba;

//riga 8

for(i=0;i<16;i++){

labirinto[8]=0xcd;

}

labirinto[10][8]=0x00;

labirinto[9][0]=0x01;

break;

case 7:

x=9;

y=0;

//riga 0

for(i=0;i<16;i++){

labirinto[0]=0xcd;

}

labirinto[9][0]=0x00;

//riga 1

for(i=0;i<16;i++){

labirinto[1]=0x00;

}

labirinto[0][1]=0xba;

labirinto[8][1]=0xba;

labirinto[15][1]=0xba;

//riga 2

for(i=0;i<16;i++){

labirinto[2]=0xba;

}

labirinto[1][2]=0x00;

labirinto[3][2]=0x00;

labirinto[6][2]=0x00;

labirinto[14][2]=0x00;

//riga 3

for(i=0;i<16;i++){

labirinto[3]=0x00;

}

labirinto[0][3]=0xba;

labirinto[2][3]=0xba;

labirinto[4][3]=0xba;

labirinto[5][3]=0xba;

labirinto[15][3]=0xba;

//riga 4

for(i=0;i<16;i++){

labirinto[4]=0xba;

}

labirinto[1][4]=0x00;

labirinto[10][4]=0x00;

//riga 5

for(i=0;i<16;i++){

labirinto[5]=0x00;

}

labirinto[0][5]=0xba;

labirinto[9][5]=0xba;

labirinto[15][5]=0xba;

//riga 6

for(i=0;i<16;i++){

labirinto[6]=0xba;

}

labirinto[1][6]=0x00;

labirinto[3][6]=0x00;

//riga 7

for(i=0;i<16;i++){

labirinto[7]=0x00;

}

labirinto[0][7]=0xba;

labirinto[2][7]=0xba;

labirinto[15][7]=0xba;

//riga 8

for(i=0;i<16;i++){

labirinto[8]=0xcd;

}

labirinto[10][8]=0x00;

labirinto[9][0]=0x01;

break;

case 8:

x=9;

y=0;

//riga 0

for(i=0;i<16;i++){

labirinto[0]=0xcd;

}

labirinto[9][0]=0x00;

//riga 1

for(i=0;i<16;i++){

labirinto[1]=0x00;

}

labirinto[0][1]=0xba;

labirinto[8][1]=0xba;

labirinto[15][1]=0xba;

//riga 2

for(i=0;i<16;i++){

labirinto[2]=0xba;

}

labirinto[1][2]=0x00;

labirinto[3][2]=0x00;

labirinto[6][2]=0x00;

labirinto[14][2]=0x00;

//riga 3

for(i=0;i<16;i++){

labirinto[3]=0x00;

}

labirinto[0][3]=0xba;

labirinto[1][3]=0xba;

labirinto[2][3]=0xba;

labirinto[4][3]=0xba;

labirinto[5][3]=0xba;

labirinto[15][3]=0xba;

//riga 4

for(i=0;i<16;i++){

labirinto[4]=0xba;

}

labirinto[1][4]=0x00;

labirinto[2][4]=0x00;

labirinto[3][4]=0x00;

labirinto[10][4]=0x00;

//riga 5

for(i=0;i<16;i++){

labirinto[5]=0x00;

}

labirinto[0][5]=0xba;

labirinto[2][5]=0xba;

labirinto[9][5]=0xba;

labirinto[15][5]=0xba;

//riga 6

for(i=0;i<16;i++){

labirinto[6]=0xba;

}

labirinto[1][6]=0x00;

//riga 7

for(i=0;i<16;i++){

labirinto[7]=0x00;

}

labirinto[0][7]=0xba;

labirinto[15][7]=0xba;

//riga 8

for(i=0;i<16;i++){

labirinto[8]=0xcd;

}

labirinto[10][8]=0x00;

labirinto[9][0]=0x01;

break;

case 9:

x=9;

y=0;

//riga 0

for(i=0;i<16;i++){

labirinto[0]=0xcd;

}

labirinto[9][0]=0x00;

//riga 1

for(i=0;i<16;i++){

labirinto[1]=0x00;

}

labirinto[0][1]=0xba;

labirinto[8][1]=0xba;

labirinto[15][1]=0xba;

//riga 2

for(i=0;i<16;i++){

labirinto[2]=0xba;

}

labirinto[1][2]=0x00;

labirinto[3][2]=0x00;

labirinto[6][2]=0x00;

labirinto[11][2]=0x00;

//riga 3

for(i=0;i<16;i++){

labirinto[3]=0x00;

}

labirinto[0][3]=0xba;

labirinto[2][3]=0xba;

labirinto[4][3]=0xba;

labirinto[5][3]=0xba;

labirinto[15][3]=0xba;

//riga 4

for(i=0;i<16;i++){

labirinto[4]=0xba;

}

labirinto[1][4]=0x00;

labirinto[3][4]=0x00;

labirinto[10][4]=0x00;

//riga 5

for(i=0;i<16;i++){

labirinto[5]=0x00;

}

labirinto[0][5]=0xba;

labirinto[2][5]=0xba;

labirinto[9][5]=0xba;

labirinto[15][5]=0xba;

//riga 6

for(i=0;i<16;i++){

labirinto[6]=0xba;

}

labirinto[1][6]=0x00;

labirinto[13][6]=0x00;

//riga 7

for(i=0;i<16;i++){

labirinto[7]=0x00;

}

labirinto[0][7]=0xba;

labirinto[2][7]=0xba;

labirinto[15][7]=0xba;

//riga 8

for(i=0;i<16;i++){

labirinto[8]=0xcd;

}

labirinto[10][8]=0x00;

labirinto[9][0]=0x01;

break;

case 10:

x=9;

y=0;

//riga 0

for(i=0;i<16;i++){

labirinto[0]=0xcd;

}

labirinto[9][0]=0x00;

//riga 1

for(i=0;i<16;i++){

labirinto[1]=0x00;

}

labirinto[0][1]=0xba;

labirinto[8][1]=0xba;

labirinto[15][1]=0xba;

//riga 2

for(i=0;i<16;i++){

labirinto[2]=0xba;

}

labirinto[1][2]=0x00;

labirinto[6][2]=0x00;

labirinto[11][2]=0x00;

//riga 3

for(i=0;i<16;i++){

labirinto[3]=0x00;

}

labirinto[0][3]=0xba;

labirinto[4][3]=0xba;

labirinto[5][3]=0xba;

labirinto[15][3]=0xba;

//riga 4

for(i=0;i<16;i++){

labirinto[4]=0xba;

}

labirinto[3][4]=0x00;

//riga 5

for(i=0;i<16;i++){

labirinto[5]=0x00;

}

labirinto[0][5]=0xba;

labirinto[4][5]=0xba;

labirinto[15][5]=0xba;

//riga 6

for(i=0;i<16;i++){

labirinto[6]=0xba;

}

labirinto[1][6]=0x00;

labirinto[4][6]=0x00;

labirinto[5][6]=0x00;

labirinto[14][6]=0x00;

//riga 7

for(i=0;i<16;i++){

labirinto[7]=0x00;

}

labirinto[0][7]=0xba;

labirinto[5][7]=0xba;

labirinto[15][7]=0xba;

//riga 8

for(i=0;i<16;i++){

labirinto[8]=0xcd;

}

labirinto[10][8]=0x00;

labirinto[9][0]=0x01;

break;

}

for(h=0;h<=8;h++){

for(i=0;i<16;i++){

printf("%c",labirinto[h]);

}

printf("\n");

}

return;

}

void calcolatempo(float a,float volte)

{

if(flagt==0){

sec=sec+a;

min=a;

max=a;

flagt=1;

}else

{

if(a<min){

min=a;

}

if(a>max){

max=a;

}

sec=sec+a;

med=sec/voltet;

}

return;

}

void movimento(struct elemento *paus)

{

int z=0,c,p=0,pass=0,proa=0,f=0,v,e;

float parzialet,parzialem;

char people[20];

if(paus->inf==6){

x++;

if(labirinto[x][y]==0xBA || labirinto[x][y]==0xCD){

x--;

printf("Errore,c'e\' il muro.Non puoi effettuare questa mossa\n");

}else{

labirinto[x][y]=0x01;

labirinto[x-1][y]=' ';

}

}

if(paus->inf==4){

x--;

if(labirinto[x][y]==0xBA || labirinto[x][y]==0xCD){

x++;

printf("Errore,c'e\' il muro.Non puoi effettuare questa mossa\n");

}else{

labirinto[x][y]=0x01;

labirinto[x+1][y]=' ';

}

}

if(paus->inf==2){

y++;

if(labirinto[x][y]==0xBA || labirinto[x][y]==0xCD){

y--;

printf("Errore,c'e\' il muro.Non puoi effettuare questa mossa\n");

}else{

labirinto[x][y]=0x01;

labirinto[x][y-1]=' ';

}

}

if(paus->inf==8){

y--;

if(labirinto[x][y]==0xBA || labirinto[x][y]==0xCD){

y++;

printf("Errore,c'e\' il muro.Non puoi effettuare questa mossa\n");

}else{

labirinto[x][y]=0x01;

labirinto[x][y+1]=' ';

}

}

if(labirinto[10][8]==0x01){

printf("\a hai vinto!!\n");

printf("il tempo tot e\':%f\n",sec);

printf("il tempo medio e\':%f\n",med);

printf("il tempo minimo e\':%f\n",min);

printf("il tempo massimo e\':%f\n",max);

printf("il numero di mosse e\':%f\n",voltet);

flag=1;

now.mosse=voltet;

now.tempo=sec;

if ((fd = fopen("c:\\record4.txt","a+b")) != NULL)

{

if (fwrite(&now,sizeof(now),1,fd) != 1)

{

printf("\n errore di scrittura \n");

exit(1);

}

printf("Salvataggio avvenuto con successo\n");

}

else

{

printf("\n errore apertura file \n");

exit(1);

}

fclose(fd);

fopen("c:\\record4.txt","rb");

while(!feof(fd)){

fread(&record,sizeof(record),2,fd);

z++;

}

fclose(fd);

parzialet=record[0].tempo;

z=0;

while(record[p].mosse!=0){

p++;

z++;

}

printf("%d\n",z);

p=0;

f=0;

for(p=0;p<z;p++){

//parzialet=record[p].tempo;

for(e=p;e<z-1;e++){

if(record[e].tempo>record[e+1].tempo){

appo=record[e];

record[e]=record[e+1];

record[e+1]=appo;

}

}

}

for(v=0;v<z;v++){

printf("%f\n",record[v].mosse);

printf("%f\n",record[v].tempo);

printf("%s\n\n\n\n",record[v].nominativo);

system("PAUSE");

}

}

}

void help_me(void)

{

printf("Obbiettivo del gioco e\' portare la faccina all'uscita del percorso\n");

printf("Si prema 6 se si vuole andare a destra\n");

printf("Si prema 4 se si vuole andare a sinistra\n");

printf("Si prema 2 se si vuole andare verso il basso\n");

printf("Si prema 8 se si vuole andare verso l'alto\n");

printf("Nel caso si voglia interrompere una partita si prema 9\n");

printf("Una volta interrotta si puo\' decidere se ricominciarne una o finire il programma\n");

printf("Nel caso si vogliano vedere le mosse fatte si prema 5\n");

printf("Nel caso vi troviate in difficolta\' premete 1 e vi comparira\' l'help\n");

return;

}

void cancella_lista(struct elemento *p,int temp)

{

struct elemento *tmp;

int i=0;

if(temp==0){

tmp=p;

p=(p)->pun;

if((p)->pun!=NULL){

cancella_lista(p,temp);

}

free(p);

}

else{

p=(p)->pun;

temp--;

cancella_lista(p,temp);

}

return;

}

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

grazie mille!

carino il labirinto!

cmq guarda che va tutto bene e l'applicazione funziona

(quella del ciao come ti chiami)

solo che quando ti da la risposta termina il programma e quindi si chiude!!!

lo ho notato grazie a un leggero rallentamento della cpu

il prog funziona solo che quando finisce viene automaticamente chiuso!

nn c'e una funzione in c++ tipo il goto x il dos?

grazie e ciao!!!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

per fare in modo che il programma non si chiuda subito devi inserire un

getch();

prima del return 0; alla fine.

Dipende dal compilatore che usi ma potrebbe essere necessario includere conio.h

ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Se ti riferisci al conio che ho inserito io,hai ragione,infatti in quel programma nn serve a niente.

Avevo intenzione di usare il comando clrscr(); che pulisce lo schermo ma alla fine,per problemi di tempo nn l'ho messo e mi sono scordato di cancellarlo.

Cmq nessuno a scoperto come collegare le librerie open_gl con 3d stusio max?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

error C2065: 'getch' : undeclared identifier

mi da sto errore quando lo compilo!!!

grazie mille ancora!!!

per quanto riguarda 3d studio ho trovato file .cpp e file .c e file .h

nella directory maxsdk presente nella cartella di installazione!!!

se capite qualcosa fatemelo sapere!!!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

qualcuno mi da qualche link dove posso imparare a programmare in c++ dal nulla senza avere nessuna conoscienza e senza dare nulla di scontato

(possibilmente gratuitamente senno vabbe :))grazie!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

vi volevo dire che avevo trovato un sito che spiegava come importare i .3ds (file generati da studio max) in un programma in c++ tramite illricht:

http://www.playerworld.it/page.php?id=11&P...b2769ab3775e4f5

in cambio non e ke mi sapete dire se posso importare un file .avi (audio/video) in un programma in c++?

siccome vorrei fare un gioco per ps2 vorrei che non usasse codec audio/video particolari...

graze mille!!!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Scusa,allora mi confondevo con un'altra discussione.

Il libro è: _Linguaggio c - guida alla programmazione

autori:Alessandro Bellini,Andrea Guidi

casa editrice:McGraw-Hill

Ti avviso però che,nonostante spieghi perfettamente il funzionamento del c,non tratta argomenti grafici,come le librerie gliu e glut.

All'universita cmq ho visto diversi "tomi",appositi per queste 2 librerie.

Grazie per il link,ora ci do un'occhiata

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

il libro che hai detto va bene anke per il c++?

xke io vorrei imparare quello...

secondo voi in che linguaggio sono programmati i giochi per ps2?

dite che posso usare 3dstudio per fare un gioco per ps2?

ho pensato di fare i personaggi e gli sfondi con 3dstudio e i filmati con maya...

come li devo comprimere i filmati?

avete sentito parlare del programma renderman?

e un plugin x maya sviluppato dai grafici della pixar...

permette di fare capelli acqua fuoco ecc...

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ragazzèn

a te il platform 3d di eclipse funziona?

a me da sti errori:

Compilatore: Default compiler

Building Makefile: "C:\Platform3d\Makefile.win"

Esecuzione di make...

make.exe -f "C:\Platform3d\Makefile.win" all

g++.exe -c main.cpp -o main.o -I"C:/Documents and Settings/Jacopo/Desktop/videogioco/irrlicht-0.9/include"

main.cpp: In function `int main()':

main.cpp:44: warning: passing NULL used for non-pointer converting 6 of `irr::IrrlichtDevice* irr::createDevice(irr::video::E_DRIVER_TYPE, const irr::core::dimension2d<irr::s32>&, irr::u32, bool, bool, bool, irr::IEventReceiver*, const wchar_t*)'

g++.exe -c eclipse.cpp -o eclipse.o -I"C:/Documents and Settings/Jacopo/Desktop/videogioco/irrlicht-0.9/include"

eclipse.cpp: In function `void PW_collisione(irr::scene::IAnimatedMeshSceneNode*)':

eclipse.cpp:388: error: no matching function for call to `irr::scene::ISceneManager::createCollisionResponseAnimator(irr::scene::ITriangleSelector*&, irr::scene::IAnimatedMeshSceneNode*&, irr::core::vector3df&, irr::core::vector3df, int, irr::core::vector3df)'

C:/Documents and Settings/Jacopo/Desktop/videogioco/irrlicht-0.9/include/ISceneManager.h:760: note: candidates are: virtual irr::scene::ISceneNodeAnimatorCollisionResponse* irr::scene::ISceneManager::createCollisionResponseAnimator(irr::scene::ITriangleSelector*, irr::scene::ISceneNode*, const irr::core::vector3df&, const irr::core::vector3df&, const irr::core::vector3df&, irr::f32)

eclipse.cpp: In function `void PW_setta_animazione_ms3d(irr::scene::IAnimatedMeshSceneNode*, int, int, int)':

eclipse.cpp:431: warning: passing `double' for converting 1 of `virtual bool irr::scene::IAnimatedMeshSceneNode::setFrameLoop(irr::s32, irr::s32)'

eclipse.cpp:431: warning: passing `double' for converting 2 of `virtual bool irr::scene::IAnimatedMeshSceneNode::setFrameLoop(irr::s32, irr::s32)'

eclipse.cpp:433: warning: passing `double' for converting 1 of `virtual bool irr::scene::IAnimatedMeshSceneNode::setFrameLoop(irr::s32, irr::s32)'

eclipse.cpp:433: warning: passing `double' for converting 2 of `virtual bool irr::scene::IAnimatedMeshSceneNode::setFrameLoop(irr::s32, irr::s32)'

make.exe: *** [eclipse.o] Error 1

Esecuzione terminata

e nn capisco cosa sbaglio!!!

mi aiuteresti x l'ennesima volta?

tnx!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

mi dispiace,ma purtroppo non so nemmeno di cosa tu mi stia parlando!!A cosa serve di preciso e dove si può trovare?Al massimo posso cercare di aiutarti dicendoti quello che vedo scritto li:

-WARNING:passaggi di double in virtual bool(bool sta per booleano?Occhio che se sta per booleano probabilmente necessita di valori true e false)

-ERROR:non trova una funzione che te probabilmente chiami ma non definisci.

Ti ripeto cmq che ciò che t ho scritto è una pura interpretazione di ciò che leggo li sopra.Cmq l'errore è uno solo,prova a controllare le funzioni.

Per le domande che hai postato il 25 aprile(l'e-mail che mi doveva arrivare probabilmente si è persa nel cyber spazio(si scrive così?))dovresti chiedere ai grandi capi di questo sito che ne sanno veramente molta su queste cose.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ti hanno già consigliato il sito di NeHe ... quello è il miglior punto di partenza per capire come funziona l'OpenGL

http://nehe.gamedev.net/

Tra i tutorial ce n'è anche uno su come riprodurre filmati AVI in OpenGL ... per l'import di file 3ds non ho idea, ma su questo sito c'è un tutorial su come importare oggetti 3d mappati in formato milkshape3d

Ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×