gioco tris in c++ che errori ho fatto?
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Pag 1 di 2 12 UltimoUltimo
Visualizzazione risultati da 1 a 15 di 29

Discussione: gioco tris in c++ che errori ho fatto?

Cambio titolo
  1. #1
    utente motardizzato L'avatar di boseebose
    Registrato il
    05-05
    Località
    genova
    Messaggi
    2.625

    gioco tris in c++ che errori ho fatto?

    allora il prog deve essere "cliccato due volte" e accedendo allo stessofile mappato deve mettere al primo le x e al secondo gli o! me lo sapete correggere perfavore??


    Spoiler:

    // Produttore.cpp : Defines the entry point for the console application.
    //
    #include "iostream.h"
    #include <stdio.h>
    #include <windows.h>

    void main()
    {
    int cont=0;
    char* Niente;
    HANDLE PuntaMemoria,file,mapping,h1;
    char *PuntFile="K:\\Sistemi\\Programma_Gioco_Tris\\File mappato\\FileMappato.txt";
    file=CreateFile(PuntFile, 0, FILE_SHARE_WRITE | FILE_SHARE_READ, NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,h1);
    mapping=CreateFileMapping(file,0,FILE_ATTRIBUTE_NORMAL,0,0 ,NULL);
    //PuntaMemoria=OpenFileMapping(FILE_MAP_ALL_ACCESS,TRUE,Punt File);
    HANDLE FM;
    FM=MapViewOfFile(mapping,FILE_MAP_ALL_ACCESS,0,0,0);
    char Prod_Sem_[]="Prod_Sem";
    char Cons_Sem_[]="Cons_Sem";
    HANDLE Prod_Sem,Cons_Sem;
    Prod_Sem = CreateSemaphore (NULL,1,1,Prod_Sem_);
    Cons_Sem = CreateSemaphore (NULL,0,1,Cons_Sem_);
    int R,C;
    char RC[3][3];
    int* PFM= (int*)PuntaMemoria;
    RC[0][0]=0;
    RC[0][1]=0;
    RC[0][2]=0;
    RC[1][0]=0;
    RC[1][1]=0;
    RC[1][2]=0;
    RC[2][0]=0;
    RC[2][1]=0;
    RC[2][2]=0;


    while(1)
    {
    // WaitForSingleObject(Prod_Sem,INFINITE);

    cout<<":::::::::::::::TRIS:::::::::::::::::"<<endl<<endl;
    /////////////////////////////////INSERIMENTO COORDINATE///////////////////////////////////
    cout<<"INSERIRE LE COORDINATE: "<<endl;
    cout<<"Righe: ";cin>>R;cout<<"Colonne: ";cin>>C;cout<<endl;

    while(RC[R][C]=='X')
    {
    cout<<"Errore!!! Reinserire le coordinate"<<endl;
    cout<<"Righe: ";cin>>R;cout<<"Colonne: ";cin>>C;cout<<endl;
    }


    do{
    if(R!=1&&R!=2&&R!=0||C!=0&&C!=1&&C!=2)
    {
    cout<<"Errore!!!Reinserire coordinate:"<<endl;
    cout<<"Righe: ";cin>>R;cout<<"Colonne: ";cin>>C;cout<<endl;
    }

    }while((R!=1&&R!=2&&R!=0||C!=0&&C!=1&&C!=2));

    while(RC[R][C]=='X')
    {
    cout<<"Errore!!! Reinserire le coordinate"<<endl;
    cout<<"Righe: ";cin>>R;cout<<"Colonne: ";cin>>C;cout<<endl;
    }
    RC[R][C]='X';
    // PFM[cont]=RC[R][C];
    cout<<PFM[cont];



    /*while(((RC[0][0]=='X')||(RC[0][1]=='X')||(RC[0][2]=='X')||(RC[1][0]=='X')||(RC[1][1]=='X')||(RC[1][2]=='X')||(RC[2][0]=='X')||(RC[2][1]=='X')||(RC[2][2]=='X')))
    {
    if((RC[0][0]=='X')&&(RC[0][1]=='X')&&(RC[0][2]=='X')&&(RC[1][0]=='X')&&(RC[1][1]=='X')&&(RC[1][2]=='X')&&(RC[2][0]=='X')&&(RC[2][1]=='X')&&(RC[2][2]=='X'))
    {cout<<"Errore!!! Reinserire le coordinate"<<endl;
    cout<<"Righe: ";cin>>R;cout<<"Colonne: ";cin>>C;cout<<endl;
    }
    else{RC[R][C]='X';}
    }*/


    ///////////////////////STAMPA SCHEMA/////////////////////////////////////////////////////////



    //fclose(PF);
    cout<<" 0 1 2 "<<endl;
    cout<<" __________________________________________"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" |"<<" "<<RC[0][0]<<" | "<<RC[0][1]<<" | "<<RC[0][2]<<" | "<<endl;
    cout<<" 0 | | | |"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" |______________|______________|____________|"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" |"<<" "<<RC[1][0]<<" | "<<RC[1][1]<<" | "<<RC[1][2]<<" | "<<endl;
    cout<<" 1 | | | |"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" |______________|______________|____________|"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" |"<<" "<<RC[2][0]<<" | "<<RC[2][1]<<" | "<<RC[2][2]<<" | "<<endl;
    cout<<" 2 | | | |"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" | | | |"<<endl;
    cout<<" |______________|______________|____________|"<<endl;
    ///////////////////////////////////VERIFICA VINCITA////////////////////////////////////////

    if(RC[0][0]=='X'&&RC[0][1]=='X'&&RC[0][2]=='X'){ cout<<"Ha vinto l'ultimo giocatore che ha giocato!!"<<endl;return;}
    else if(RC[1][0]=='X'&&RC[1][1]=='X'&&RC[1][2]=='X'){ cout<<"Ha vinto l'ultimo giocatore che ha giocato!!"<<endl;return;}
    else if(RC[2][0]=='X'&&RC[2][1]=='X'&&RC[2][2]=='X'){ cout<<"Ha vinto l'ultimo giocatore che ha giocato!!"<<endl;return;}
    else if(RC[0][0]=='X'&&RC[1][1]=='X'&&RC[2][2]=='X'){ cout<<"Ha vinto l'ultimo giocatore che ha giocato!!"<<endl;return;}
    else if(RC[0][2]=='X'&&RC[1][1]=='X'&&RC[2][0]=='X'){ cout<<"Ha vinto l'ultimo giocatore che ha giocato!!"<<endl;return;}
    else if(RC[0][0]=='X'&&RC[1][0]=='X'&&RC[2][0]=='X'){ cout<<"Ha vinto l'ultimo giocatore che ha giocato!!"<<endl;return;}
    else if(RC[0][1]=='X'&&RC[1][1]=='X'&&RC[2][1]=='X'){ cout<<"Ha vinto l'ultimo giocatore che ha giocato!!"<<endl;return;}
    else if(RC[0][2]=='X'&&RC[1][2]=='X'&&RC[2][2]=='X'){ cout<<"Ha vinto l'ultimo giocatore che ha giocato!!"<<endl;return;}
    /////////////////////////////////////////////////////////////////////////////////////////
    cout<<"Premi un tasto per continuare e poi premere invio...";
    int cont;
    cin>>cont;
    system("CLS");
    // ReleaseSemaphore(Cons_Sem,1,NULL);
    }
    // CreateFile("K:\\Sistemi\\Programma_Gioco_Tris.txt");
    }



    Errare è umano, perseverare diabolico, fregarsene divino.



  2. #2
    utente motardizzato L'avatar di boseebose
    Registrato il
    05-05
    Località
    genova
    Messaggi
    2.625
    a dimenticavo la parte che ora &#232; tutta sfalsata non serve mi basta corregere il file mappato e che si possa chiamare 2 volte con lo stesso exe
    grazie mille!!!!
    Errare è umano, perseverare diabolico, fregarsene divino.



  3. #3
    swisstux
    Ospite
    Ciao, malgrado sia nubbio non lo reputo proprio un gran programma.
    Un consiglio, che puoi mettere in pratica anche pi&#249; tardi nel programma.

    invece di
    Codice:
         RC[0][0]=0;
        RC[0][1]=0;
        RC[0][2]=0;
        RC[1][0]=0;
        RC[1][1]=0;
        RC[1][2]=0;
        RC[2][0]=0;
        RC[2][1]=0;
        RC[2][2]=0;
    scrivi:
    Codice:
    for(i=0;i<3;i++){
           for (j=0;j<3;j++){
                      RC[i][j]=0;
                  }
           }


    EDIT: devo scappare a scuola, quindi non posso aiutarti molto

  4. #4
    StorieDallaSalaMacchine L'avatar di miniBill '90
    Registrato il
    08-05
    Località
    Bergerac
    Messaggi
    4.204
    Citazione swisstux
    Ciao, malgrado sia nubbio non lo reputo proprio un gran programma.
    Un consiglio, che puoi mettere in pratica anche più tardi nel programma.

    invece di
    Codice:
         RC[0][0]=0;
        RC[0][1]=0;
        RC[0][2]=0;
        RC[1][0]=0;
        RC[1][1]=0;
        RC[1][2]=0;
        RC[2][0]=0;
        RC[2][1]=0;
        RC[2][2]=0;
    scrivi:
    Codice:
    for(i=0;i<3;i++){
           for (j=0;j<3;j++){
                      RC[i][j]=0;
                  }
           }


    EDIT: devo scappare a scuola, quindi non posso aiutarti molto
    domanda stupida:
    ma rc non è GIA settato a zero?

    ESISTE UN UNICO AMMINISTRATORE
    Quoto-thisisgorman-
    (La mi ex-firma sta qua)

  5. #5
    SeeYouInSpaceCowboy... L'avatar di balmung91
    Registrato il
    10-04
    Località
    Nei miei Trip
    Messaggi
    879
    char RC[3][3]={0};

    cos&#236; tutte le celle della matrice sono settate a 0.
    domanda stupida:
    ma rc non &#232; GIA settato a zero?
    credo che se non dai un valore dipenda da compilatore a compilatore, poi non so


    www.webapocalypse.org
    In ottimo stile web 2.0 ho anchio un ombra sotto di me. Sono uscito dalla fabbrica così ben 17 anni fa.[cit.]


  6. #6
    www.fabiorusconi.com L'avatar di specopsrusca
    Registrato il
    11-02
    Località
    Como
    Messaggi
    5.061
    Citazione miniBill '90
    domanda stupida:
    ma rc non è GIA settato a zero?
    no, può esserci di tutto e di più!

    Per l'inizializzazione, quoto quello che ha detto balmung91: RC[3][3] = {0}

    My Hardware - My Discography - My Last.fm - Be More Shepherd

  7. #7
    swisstux
    Ospite
    Citazione balmung91
    char RC[3][3]={0};
    Quanto è bello imparare tutti i giorni cose nuove

  8. #8
    utente motardizzato L'avatar di boseebose
    Registrato il
    05-05
    Località
    genova
    Messaggi
    2.625
    buono a sapersi!!
    ma sapete dirmi perche non funge?
    Errare è umano, perseverare diabolico, fregarsene divino.



  9. #9
    www.fabiorusconi.com L'avatar di specopsrusca
    Registrato il
    11-02
    Località
    Como
    Messaggi
    5.061
    Citazione boseebose
    buono a sapersi!!
    ma sapete dirmi perche non funge?
    sostituisci #include"iostream.h"
    con
    Codice:
    #include<iostream>
    using namespace std;
    per il resto... non gli ho dato un'occhiata (se nessuno ti aiuta, cerco di guardarlo stasera), ma ti consiglio di cercare di migliorarne la leggibilità: (a me) mi si incrociano gli occhi solo quando apro lo spoiler

    My Hardware - My Discography - My Last.fm - Be More Shepherd

  10. #10
    Utente L'avatar di ndakota
    Registrato il
    07-06
    Località
    Milano
    Messaggi
    3.253
    ho provato a compilarlo.. dava errore in tutti gli if-else if.. togliendo i return e le parentesi graffe invece non da nessun errore, però crasha subito dopo aver inserito le coordinate..

  11. #11
    utente motardizzato L'avatar di boseebose
    Registrato il
    05-05
    Località
    genova
    Messaggi
    2.625
    grazie!
    cmq anche a me crashava subito all'esecuzione e non capisco il perchè!
    Errare è umano, perseverare diabolico, fregarsene divino.



  12. #12
    Utente
    Registrato il
    07-06
    Messaggi
    1.113
    #include "iostream.h"
    dovrebbe essere
    #include <iostream.h> ???
    The King Fighter
    Le piu dolorose sono quelle che sforzi come un pazzo quando hai le chiappe serrate seduto su qualcosa di duro, come una sedia di legno, oltre a fare un rumore simile ad mitragliatore fanno un male tremendo.

  13. #13
    java is forever
    Ospite
    togli il .h, quella e' la vecchia versione

  14. #14
    Utente
    Registrato il
    07-06
    Messaggi
    1.113
    cmq di solito si inizia con int main ()....non void main () xk si presuppone ke il main avr&#224; "sempre" un ritorno intero!!!!!!!!
    The King Fighter
    Le piu dolorose sono quelle che sforzi come un pazzo quando hai le chiappe serrate seduto su qualcosa di duro, come una sedia di legno, oltre a fare un rumore simile ad mitragliatore fanno un male tremendo.

  15. #15
    utente motardizzato L'avatar di boseebose
    Registrato il
    05-05
    Località
    genova
    Messaggi
    2.625
    Citazione java is forever
    togli il .h, quella e' la vecchia versione
    ho la versione di c++ vecchia a scuola!
    cmq dovrebbe essere uguale scrivere "iostream" e <iostream>
    Errare è umano, perseverare diabolico, fregarsene divino.



Pag 1 di 2 12 UltimoUltimo

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •