|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
c++ e grafica
Ciao a tutti.
Per esercitazione dovrei fare in c++ un progr che simuli il gioco della battaglia navale che permetta a due computer collegati tramite la seriale di comunicare le varie celle...ma questo non è il problema, ma quello di fare delle griglie "decenti", fare le griglie con i caratteri ascii non mi ispira molto...so che si può attivare la modalità grafica ma non so come fare sia ad attivarla che ad utilizzarla...potete aiutarmi? grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
|
void main()
{ clrscr(); //Inizializzazione scheda grafica int driver_grafico=VGA; int modalita_grafica=VGAHI; int errore; //Se si è verificato un errore nell'inizializzazione della //grafica, ne segnala il tipo. initgraph(&driver_grafico, &modalita_grafica, "C:\\BC5\\BGI\\"); errore = graphresult(); //Se si è verificato un errore lo stampa if(errore) //ERRORE NELL'INIZIALIZZAZIONE DELLA SCHEDA VIDEO { cout<<"ERRORE: "<< grapherrormsg(errore)<<endl; getch(); } else //VISUALIZZAZIONE CORRETTA { Qui ci va tutto il programma cioè cio che mettresti nel main } closegraph();//Chiudo la grafica }
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
grazie...ma ora che ho inizializzato la grafica come posso utilizzarla a dovere??cioè qualche semplice comando per poter disegnare linee o cambiare il colore allo sfondo e altre piccole cosette....scusa l'ignoranza
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
|
Questa inizializzazione funziona solo su c/c++ della Borland, e in modalità MS-DOS.
Attenzione bisogna che innanzitutto includi la libreria graphics.h e devi creare un nuovo progetto, inoltre quando lo crei seleziona su piattaforma dos standard e accanto su librerie spunta la casella BGI. L'inizializzazione che ti ho fatto vedere io a noi ce l'ha data il prof, inoltre si può modificare e portare fino a 1024*768. Usa obliggatoriamente o l'outextxy o il cout e cin perchè il c non funzia.
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
ok io cout e cin son quelli che uso sempre...per il resto va tutto bene tranne la creazione del progetto ma mi arrangero...per il resto ti rimando alla domanda sopra...grazie
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
|
Leggiti l'help che si chiama bcdos che contiene un sacco di istruzioni tipo, bar,bar3d,line,rectangle,floodfill,setcolor,setline,circle e sono presenti anche alcuni esempi.
Fai attenzione che il borland sia installato nell'unità c: altrimenti devi mettere un'altra lettera nell'intestazione dove si fa riferimento alle cartelle del Borland c/c++. Non esitare a chiedere che ormai facendo la 4° Informatica ITI a Empoli e avendo il prof fissato sono diventato quasi esperto, cè anche chi è riuscito(un pazzo) a fare dei bottoni tridimensionali cliccabili attraverso il muose tramite la getkey o roba del genere. Te sei uno studente di... ?
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
|
per creare linee e roba varia devi leggerti l'help bcdos (fai un trova)
per esempio per mettere lo sfondo floodfill per creare una linea line e cosi via
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
anke io faccio quarta info xò a Biella e prima d'ora non ho mai provato a fare uso di grafica in c++...minkia dei tasti 3d cliccabili!!!!!!!!!!!!!!!!!!roba da pazzi altro che visual basic!!!credo che tu sia molto + bravo di me, complimenti!e poi figurati se la mia prof si mette a spiegare come si utilizza la grafica...hai già fatto i puntatori??e le classi??queste non ancora ma spero presto perchè credo che imparandole bene di possano fare dei passi avanti...cmq ora va tutto bene...l'unica cosa è il clrscr che se lo metto mi fa dei casini...grazie ciao
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
|
le classi ancora le dobbiamo fare ma manca poco, abbiamo da poco finti i file e le funzione ricorsive, i puntatori e gia da molto (metà terza), stiamo vedendo ora l'allocazione dinamica.
Per quanto riguarda il clrscr(), usa prima il clrscr(); e poi subito dopo il cleardevice(); Questo perchè il clrscr porta la posizione di dove verranno scritte le cose in alto mentre il cleardevice pulisce lo schermo e lo rende tutto nero.
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T. |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
ok io invc le funzioni ricorsive e i file li ho fatti lo scorso anno invc ora faccio i puntatori e l'allocazione dinamica della memoria..anke per me per le classi manca poco...tra l'altro, oggi ho fatto le olimpiadi dell'informatica...non si poò dire che fossero cose semplici, nella tua scuola le fate?
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
|
oh il borland.... anche io ai "bei" tempi dell'itis mi son trovato di fronte a professori idioti che mi han fatto perdere ore e ore sulle funzioni grafiche della graphics del Borland... mi ero fatto anche io una bella libreria per generare applicazioni windows style con tasti 3d cliccabili col mouse etc etc ^^'
e ora posso dire che è stato tutto COMPLETAMENTE inutile ^^ quindi... se vi ci divertite, fate pure, ma non perdeteci la testa |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
scusate,
ma non è + semplice (oltre che + bello)usare le funzioni standard di windows lineto ,rectangle etc etc disegnando sulla parte client della form (di dimensione fissa)direttamente? Una casella fatta ad esempio 21 x 21 pixels ,con griglia di linee ortogonali fatte di 1 pixel. Nell'evento onPaint si disegna (e ridisegna) tutto. Esempio Tabella di 10x10 caselle : L=21*10+9*1 pixels +2 pixel dei bordi esterni nave da 4: lato piccolo 21+1+1 lato grande 21*4 +5*1 Spero di essere stato chiaro |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Inoltre un compialtore a 32 bit per Windows renderebbe più difficile la comunicazione sulla seriale... Non impossibile, ma certo + difficile... |
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Quote:
ma sono anni che borland ha rilasciato il 5.5! (free f.n.c) (e ce stanno già dentro le api di win) Ma sti "professori" dove vivono,sulla luna? ciao cionci |
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
|
in effetti mi chiedo anche io perchè non usare il visual c/c++ su interfaccia grafica e abbandonare i 16bit per i 32bit, però bisogna anche dire che per le basi del c è forse meglio programmare in c con interfaccia sotto dos, e poi altrimenti come fanno a complicarci la vita?
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T. |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
beh
noi usiamo il c++ 3.1 della borland per fare il laboratorio di sistemi dove facciamo uso di interrupt...(anke col 5.02 si può)e invece nel lab di info usiamo il 5.02, credo che non si usa il 5.5 perchè la mia scuola avendo la licenza per il 5.02 perchè dovrebbe cambiarlo...poi bo non so...
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
|
ma che licenze e licenze, non ho mai visto una scuola che abbia un programma con la licenza in regola, è solo perchè gli fa fatica cambiare sia al tecnico che ai professori.
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T. |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 692
|
si infatti il tecnico non è che sia una cima...cmq credo che la mia assistente si adatterebbe cmq...è una che ha dimostrato di sapere non come un altro mio assistente che non sa una mazza...cmq si sa il mondo è anche questo...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:03.



















