Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 28-06-2004, 21.55.19   #16
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
E' quello che avevo in mente.
Alhazred non è collegato   Rispondi citando
Vecchio 28-06-2004, 22.23.37   #17
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Certo, potresti chiamare 'atoi' e saltare così un passaggio e ritornare semplicemente:

atoi(c) - 64

però l'atoi non fa altro che fare un casting (solo formale) da char a int, perché il C tratta già i char come int.

Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 29-06-2004, 09.43.37   #18
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Hai già pensato alle dimensioni della griglia in righe e colonne ?
Hai già pensato al controllo da effettuare per un possibile "fuori griglia" ?
Le coordinate le fornisci attraverso l'input da tastiera oppure col mouse ?
Hai già un'idea di quante navi è composta la flotta ?
Hai già pensato di quanti "pezzi" deve essere composto ogni elemento ?
Hai già un'idea di come segnalare l'affondamento di un elemento visualizzando il nome dell'elemento affondato ?
Hai già pensato come segnalare il numero di elementi affondati in base al numero di elementi totali della flotta ?
Chi sarà il vincitore ?

Sono un mucchio di domande ma mi piacerebbe sapere se hai già un'idea generale del programma o se stai ancora pensando come agire
LoryOne non è collegato   Rispondi citando
Vecchio 29-06-2004, 09.46.32   #19
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
LoryOne, hai mai pensato a farti i c@zzi tuoi ?
Questa l'aggiungo
LoryOne non è collegato   Rispondi citando
Vecchio 29-06-2004, 11.20.32   #20
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Quota:
Originariamente inviato da LoryOne
[B]Hai già pensato alle dimensioni della griglia in righe e colonne ?
Si, dovrà essere 10x10
Quota:
Hai già pensato al controllo da effettuare per un possibile "fuori griglia" ?
No, ma così al volo penso dovrebbe essere piuttosto semplice, dovrebbe venire una cosa di questo tipo:
Codice:
...
if (colonna < 11 && riga < 11 && colonna > 0 && riga > 0)
   then controlla la casella corrispondente
   else messaggio d'errore e ripeti la richiesta di una nuova mossa
...
Quota:
Le coordinate le fornisci attraverso l'input da tastiera oppure col mouse ?
Dato che l'interfaccia sarà in stile DOS ll'input sarà da tastiera.
Quota:
Hai già un'idea di quante navi è composta la flotta ?
Per il momento penso di metterne 3 o 4, prima di tutto mi interessa che funzioni, poi si possono sempre aggiungere.
Quota:
Hai già pensato di quanti "pezzi" deve essere composto ogni elemento ?
Per lo stesso motivo dato alla domanda precedente, per il momento tutte le navi saranno da 1 pezzo.
Quota:
Hai già un'idea di come segnalare l'affondamento di un elemento
visualizzando il nome dell'elemento affondato ?
Al momento essendo tutte le navi da 1 pezzo credo non sia necessario, avrei pensato per ora una cosa di questo tipo:
o = acqua
* = affondato
Quota:
Hai già pensato come segnalare il numero di elementi affondati in base al numero di elementi totali della flotta ?
Il programma all'inizio sa il numero di elementi che ogni giocatore deve piazzare, terrei questo numero in una variabile da decrementare ogni volta che un elemento viene affondato (= a colpito per ora, dato che un elemento è da 1 pezzo)
Quota:
Chi sarà il vincitore ?
Una volta che la variabile di cui sopra arriva a zero vuol dire che una flotta è stata annientata, il programma del giocatore che ha perso comunica questa situazione sulla memoria condivisa, il programma dell'altro giocatore la legge e comunica la vittoria.
Alhazred non è collegato   Rispondi citando
Vecchio 29-06-2004, 11.23.34   #21
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Quota:
Originariamente inviato da LoryOne
LoryOne, hai mai pensato a farti i c@zzi tuoi ?
Questa l'aggiungo
Io ho diligentemente risposto a tutte le domande, tu perché non rispondi all'unica che ti sei fatto?

Alhazred non è collegato   Rispondi citando
Vecchio 29-06-2004, 11.34.02   #22
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Quota:
Alhazred ha scritto:

No, ma così al volo penso dovrebbe essere piuttosto semplice, dovrebbe venire una cosa di questo tipo:
Io la cosa non la gestirei proprio .. farei l'input attraverso le frecce del cursore che muovono un "puntatore" fatto in ascii... in questo modo, quando sei al limite della riga, lo fai ritornare alla prima colonna... e magari con "spazio" colpisci ..

Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 29-06-2004, 11.49.48   #23
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Quota:
Originariamente inviato da P8257 WebMaster


Io la cosa non la gestirei proprio .. farei l'input attraverso le frecce del cursore che muovono un "puntatore" fatto in ascii... in questo modo, quando sei al limite della riga, lo fai ritornare alla prima colonna... e magari con "spazio" colpisci ..

Bye
Questa cosa non saprei come farla
Tenete presente che non ho fatto alcun corso di C (a parte piccole pillole), lo sto imparando in parallelo con questo programma.
Alhazred non è collegato   Rispondi citando
Vecchio 29-06-2004, 11.51.21   #24
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Quota:
Originariamente inviato da Alhazred

Io ho diligentemente risposto a tutte le domande, tu perché non rispondi all'unica che ti sei fatto?

Pewrchè fa parte della patch che devi sviluppare
(Y) Ottima domanda Alh.

Ho letto ma cerchi di semplificare un po troppo.
Tutte le navi da un solo pezzo non è propriamente una Battaglia Navale.
In una griglia da 10x10 le coordinate possono essere espresse da una semplice stringa
Es: A10, B1, C7
La prima parte della stringa definisce la prima coordinata, il resto la seconda.

Non voglio assolutamente fare il professore sia chiaro ma valuta attentamente la complessità dell'applicativo che vuoi realizzare.
Un programma lo si fa prima con la testa, poi con le dita.

Ultima modifica di LoryOne : 29-06-2004 alle ore 12.00.35
LoryOne non è collegato   Rispondi citando
Vecchio 29-06-2004, 12.07.44   #25
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Quota:
Alhazred ha scritto:

Questa cosa non saprei come farla
Tenete presente che non ho fatto alcun corso di C (a parte piccole pillole), lo sto imparando in parallelo con questo programma.
Semplicemente con la 'getch()' nel ciclo principale del programm leggi la pressione del tasto freccia e dello spazio e decidi cosa fare attraverso un blocco strutturato.

Codice:
// gestione strutturata dell'input
switch(getch())
{
   case(0+'H'):
      // codice freccia su
      break;

   case(0+'P'):
      // codice freccia giù
      break;
   
   case(0+'K'):
      // codice freccia sinistra
      break;

   case(0+'M'):
      // codice freccia destra
      break;

   case (' '):
      // spazio
      break;
}
Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 29-06-2004, 12.39.54   #26
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Quota:
Originariamente inviato da LoryOne


Pewrchè fa parte della patch che devi sviluppare
(Y) Ottima domanda Alh.

Ho letto ma cerchi di semplificare un po troppo.
Tutte le navi da un solo pezzo non è propriamente una Battaglia Navale.
In una griglia da 10x10 le coordinate possono essere espresse da una semplice stringa
Es: A10, B1, C7
La prima parte della stringa definisce la prima coordinata, il resto la seconda.

Non voglio assolutamente fare il professore sia chiaro ma valuta attentamente la complessità dell'applicativo che vuoi realizzare.
Un programma lo si fa prima con la testa, poi con le dita.
Questo che sto cercando di sviluppare è un testo d'esame di "Sistemi Operativi I", ho chiesto al professore quanto era previsto dovessero essere grandi le navi, mi ha risposto dicendomi che per l'esame andavano bene anche da 1 pezzo, l'importante era gestire bene gli accessi alla memoria condivisa e per adesso è questo che voglio riuscire a fare.
Alhazred non è collegato   Rispondi citando
Vecchio 29-06-2004, 13.08.04   #27
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Mi sta sorgendo un dubbio, una volta che avrò scritto tutto il codice per il programma, come farò a testare se funziona? Dovrei lanciare 2 volte lo stesso file, ma posso farlo? La seconda volta non mi direbbe che il programma è già in esecuszione?
Alhazred non è collegato   Rispondi citando
Vecchio 29-06-2004, 13.14.08   #28
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
No no ... puoi lanciare tranquillamente due istanze del processo, basta che tu sia in grado di "accorgerti" che esiste un'area di memoria condivisa e paginata .. questa costituisce il tuo spazio di lavoro.

Per semplificare la gestione potresti costruirti un mini-loader che carica già due istanze del processo predisponendo la memoria condivisa per entrambe...

Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 29-06-2004, 13.23.31   #29
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Quota:
Originariamente inviato da Alhazred

Questo che sto cercando di sviluppare è un testo d'esame di "Sistemi Operativi I", ho chiesto al professore quanto era previsto dovessero essere grandi le navi, mi ha risposto dicendomi che per l'esame andavano bene anche da 1 pezzo, l'importante era gestire bene gli accessi alla memoria condivisa e per adesso è questo che voglio riuscire a fare.
A beh. (Y)
LoryOne non è collegato   Rispondi citando
Vecchio 29-06-2004, 17.07.17   #30
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
E' giunto il momento di postare un po' di codice, questo è il processo che dovrebbe leggere dalla memoria condivisa
Codice:
void leggi(HANDLE mapping) {
	char colonna_c;
	int colonna_i;
	t_Mossa *p;
	p = (t_Mossa *)MapViewOfFile(mapping, FILE_MAP_READ, 0, 0, 0);
	if(p == NULL) Errore_("Impossibile attaccare la memoria condivisa");
	scanf("%s", p->colonna);
	colonna_i = ChartoI(colonna_c);
	scanf("%u", p->riga);
	/*non servono controlli, se i dati sono nella memoria condivisa
	  di sicuro sono già stati controllati dal processo "scrivi"*/

	/**************************
	qui le verifiche del colpo
	o forse lo metterò nel main
	**************************/
	ExitProcess(0);
}
come va per il momento?
Spero di non aver scritto boiate

Editato per non aggiungere post inutili.

Ultima modifica di Alhazred : 29-06-2004 alle ore 17.41.40
Alhazred non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
La grande battaglia dei super eroi! Sbavi Chiacchiere in libertà 83 27-02-2009 11.43.39
battaglia navale in c# Joy&Lu Programmazione 3 01-09-2008 16.08.58
Il Signore degli Anelli - La Battaglia per la terra di mezzo Darth Maul Masterizzazione Giochi Games 0 01-09-2006 19.16.18
[C] Battaglia Navale (versione client server) in Linux Nanri Programmazione 11 06-08-2005 15.50.27

Orario GMT +2. Ora sono le: 21.58.29.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.