Programma con due processi in C

di il
4 risposte

Programma con due processi in C

Ciao a tutti.. Sto provando a scrivere un codice per un gioco (una battaglia navale testuale) che si possa fare in 2 giocatori.. Vorrei scriverlo in C, utilizzando due processi che interagiscano tra di loro (uno per giocatore). Qualcuno sa dirmi come si faccia a far si che per giocare si debba lanciare due volte il programma (una volta per ogni giocatore)? In pratica io clicco la prima volta e sono il primo giocatore, chi clicca dopo è il secondo...

La vita è un codice

4 Risposte

  • Re: Programma con due processi in C

    Ciao.. ci sono tanti modi per far dialogare 2 processi.. secondo me uno dei più facili è utilizzando un file di appoggio.. quando lanci i 2 giocatori.. i 2 processi vanno a leggere le info dal file (in base a chi inizia prima.. che mossa hanno fato, ecc..) e in base a quello si comportano di conseguenza...
    Saluti...

    Intel
  • Re: Programma con due processi in C

    Dato che questo programma è un lavoro che mi è stato assegnato all'università, devo seguire delle specifiche ben precise.. Per la comunicazione devo usare la memoria condivisa.. e fin qui tutto ok... Altra cosa da fare è sviluppare il software in modo che, con un solo eseguibile, possa lanciare SEPARATAMENTE i due processi.. Quindi lanciandolo una volta parte il primo processo, mentre lanciandolo una seconda volta parte il secondo.. Ecco è questo che nn riesco a fare.. Perchè lanciando l'exe due volte, per due volte mi fa partire il primo processo... Nn so come fare..
    p.s: il sistema operativo è windows

    La vita è un codice
  • Re: Programma con due processi in C

    La traccia parla esplicitamente di processi, o puoi usare due thread...sarebbe più semplice credo
  • Re: Programma con due processi in C

    Non ho capito se devi scriverlo in C o in C++..
    In c++ è banale, devi scrivere una classe che abbia come membro privato una struttura dati contenente i dati discambio trai thread, poi lanci tanti thread a seconda di quanti giocatori ci sono.

    Nel thread devi implementare quello che sarà il tuo gioco e quando devi scambiare qualche informazione, dovrai avere a disposizione un metodo di classe con cui accedere alla struttura dati di prima.

    Attento però, quando crei istanze di un thread nella stessa classe e condividi dati, devi fare molta attenzione alla sincronizzazione tra di essi, altrimenti fai dei casini..

    Tutte le volte che accedi a dei dati devi essere assolutamente sicuro che nessun altro thread lo stia già facendo.. Quindi dovrai usare dei mutex o delle CriticalSection..
    Ciao!
Devi accedere o registrarti per scrivere nel forum
4 risposte