+ Rispondi alla Discussione
Risultati da 1 a 6 di 6
  1. #1
    Moderatore Forum Programmazione
    Points: 17,317, Level: 19
    Level completed: 15%, Points required for next Level: 1,633
    Overall activity: 10.0%
    Achievements:
    SocialRecommendation Second ClassVeteranCreated Album picturesCreated Blog entry
    L'avatar di laber
    Data Registrazione
    Jul 2008
    Genere
    Maschio
    Località
    Lecce
    Messaggi
    3,790
    Punteggio
    17,317
    Livello
    19
    Credits
    238,556
    Depositati
    5,863
    Ringraziamenti
    52
    Ringraziato 24 Volte in 20 Post
    Inserzioni Blog
    18
    Il famoso gioco Snake realizzato in linguaggio C
    Ho realizzato questo programma a livello didattico e ora lo metto a disposizione degli utenti di Atuttonet...
    Ecco a voi il famosissimo Snake nel linguaggio di programmazione C


    #include <stdlib.h>
    #include <conio.h>
    #include <dos.h>
    #include <stdio.h>
    #include <time.h>

    void genera();


    #define UP 72
    #define DW 80
    #define LF 75
    #define RH 77

    int vc[100] = { 75,76,77,78 }; //vettore della colonna dello snake
    int vr[100] = { 13,13,13,13 }, //vettore della riga dello snake
    n=4, //mi conta la dimensione dello snake
    i, //indice cicli
    dc=-1, //mi indica la direzione della colonna
    dr=0; //mi indica la direzione della riga
    long int t=0; //contatore del tempo per il movimento
    int tasto=0, //tasto da leggere
    app, //variabile sostituita al tasto
    app2=0,
    cibo=0, //variabile bool per il cibo
    col=0,rig=0, //varibili delle coordinate rand del cibo
    scelta=0,T;

    void main()
    {
    clrscr();
    textbackground(0);
    for(i=29;i<33;i++){ gotoxy(i,6); putch('þ'); }
    gotoxy(30,4); puts("S N A K E");
    gotoxy(30,8); puts("1) Facile");
    gotoxy(30,9); puts("2) Medio");
    gotoxy(30,10); puts("3) Difficile");
    gotoxy(30,11); puts("4) Estremo");
    gotoxy(30,12); puts("ESC) Esci");
    do
    scelta=getch();
    while(scelta!=49 && scelta!=50 && scelta!=51 && scelta!=52 && scelta!=27);

    switch(scelta)
    {
    case 49:
    T=30000;
    break;
    case 50:
    T=20000;
    break;
    case 51:
    T=15000;
    break;
    case 52:
    T=10000;
    break;
    case 27:
    return 0;
    break;
    }
    //Disegno quadro del gioco
    clrscr();
    textcolor(12);
    for(i=2;i<25;i++)
    { gotoxy(1,i); putch('º');
    gotoxy(79,i); putch('º');
    }
    for(i=2;i<=79;i++)
    {
    gotoxy(i,1); putch('Í');
    }
    for(i=2;i<79;i++)
    {
    gotoxy(i,25); putch('Í');
    }
    gotoxy(79,25); putch('¼');
    gotoxy(79,1); putch('»');
    gotoxy(1,1); putch('É');
    gotoxy(1,25); putch('È');
    //------------------------------

    srand(time(0));
    genera(); //procedura ke genera il cibo random

    do //Ciclo generale si esce per ESC
    {
    //controllo del cibo se gia presente
    if(cibo==1)
    {
    genera();
    cibo=0;
    }
    //-----------------------------

    //controllo se la testa mangia parte del corpo
    for(i=1;i<=n;i++)
    {
    if(vc[0]==vc[i] && vr[0]==vr[i])
    { delay(500);
    gotoxy(35,12); puts("G A M E O V E R");
    gotoxy(35,14);
    printf("Hai totalizzato %d punti",n);getch(); tasto=27;
    }
    }
    //------------------------------

    //MOVIMENTO DEL SERPENTE
    //GESTIONE TASTI
    if( kbhit() )
    {
    tasto=getch();
    if(tasto==0) tasto=getch();
    if(tasto==LF || tasto==RH || tasto==DW || tasto==UP)
    app=tasto;
    }
    //---------------------------------------
    //GESTIONE DIREZIONE DEL SERPENTE
    if(app==LF && dc!=1) { dc=-1; dr=0; }
    if(app==RH && dc!=-1) { dc=1; dr=0; }
    if(app==UP && dr!=1) { dc=0; dr=-1; }
    if(app==DW && dr!=-1) { dc=0; dr=1; }
    //---------------------------------------
    //CONTATORE PER IL MOVIMENTO
    if(t<=0)
    {
    t=T;

    //GESTIONE MOVIMENTO

    gotoxy(vc[n-1],vr[n-1]); putch(' '); //CANCELLO LA CODA
    for(i=n-1;i>0;i--){ vr[i]=vr[i-1]; vc[i]=vc[i-1];} //SHIFT DEL VETTORE
    vc[0]=vc[0]+dc; //GESTISCO LA DIREZIONE COLONNA
    vr[0]=vr[0]+dr; //GESTISCO LA DIREZIONE RIGA

    //GESTIONE AI LIMITI DELLO SCHERMO
    if(vc[0]==1) vc[0]=78;
    if(vr[0]==25) vr[0]=2;
    if(vr[0]==1) vr[0]=24;
    if(vc[0]==79) vc[0]=2;
    textcolor(RED);
    gotoxy(vc[0],vr[0]); putch('');
    textcolor(GREEN);
    gotoxy(vc[0+1],vr[0+1]); putch('þ');
    //INCREMEMTO DEL SERPENTE SE MANGIA CIBO
    if(vc[0]==col && vr[0]==rig){ n++; cibo=1; }
    gotoxy(2,1); printf("Point %d",n);
    }if(dc!=0)t-=2; if(dr!=0) t--;
    //----------------------------------
    }while(tasto!=27);
    }
    //FINE int MAIN

    //----------------------------------
    //PROCEDURA CHE GENERA IL CIBO RANDOM
    void genera()
    { do
    {
    col=2+(rand()%75);
    rig=2+(rand()%22);
    app2=0;
    textcolor(14);
    gotoxy(col,rig); putch('');
    do
    { if(vr[i]==rig && vc[i]==col) app2=1;
    i++;
    }while(i<n && app2==0);

    }while(app2==1);
    }
    //----------------------------------
    Presidente TheSannicolaBoys



    Sono aperte le iscrizioni per il GDR Fifa 2012 Atn

  2. #2
    Vinz
    Guest
    Complimenti!!

  3. #3
    Amministratore
    Points: 134,549, Level: 52
    Level completed: 39%, Points required for next Level: 3,201
    Overall activity: 0%
    Achievements:
    SocialYour first GroupRecommendation First ClassVeteranCreated Album pictures
    L'avatar di Delo
    Data Registrazione
    Mar 2006
    Genere
    Maschio
    Località
    Foligno, Italy
    Messaggi
    8,330
    Punteggio
    134,549
    Livello
    52
    Credits
    833,265
    Depositati
    0
    Ringraziamenti
    153
    Ringraziato 241 Volte in 163 Post
    Inserzioni Blog
    24

    I miei social

    Segui Delo su Google+
    Non mi sono mai approcciato al linguaggio C++, se non per motivi scolastici durante la mia breve carriera universitaria nel settore "Telecomunicazioni".

    Hai uno screeshot del gioco realizzato?
    Sono curioso

  4. #4
    Moderatore
    Points: 19,633, Level: 20
    Level completed: 35%, Points required for next Level: 1,317
    Overall activity: 9.0%
    Achievements:
    SocialRecommendation Second ClassVeteranCreated Album picturesTagger First Class
    L'avatar di avellino
    Data Registrazione
    Jan 2009
    Genere
    Maschio
    Località
    Avellino
    Messaggi
    2,229
    Punteggio
    19,633
    Livello
    20
    Credits
    147,968
    Depositati
    25,678
    Ringraziamenti
    27
    Ringraziato 17 Volte in 13 Post
    Grande laber!

    Anche io per motivi "didattici" avevo realizzato qualcosa di simile. Una battaglia navale scritta in C.

  5. #5
    Moderatore Forum Programmazione
    Points: 17,317, Level: 19
    Level completed: 15%, Points required for next Level: 1,633
    Overall activity: 10.0%
    Achievements:
    SocialRecommendation Second ClassVeteranCreated Album picturesCreated Blog entry
    L'avatar di laber
    Data Registrazione
    Jul 2008
    Genere
    Maschio
    Località
    Lecce
    Messaggi
    3,790
    Punteggio
    17,317
    Livello
    19
    Credits
    238,556
    Depositati
    5,863
    Ringraziamenti
    52
    Ringraziato 24 Volte in 20 Post
    Inserzioni Blog
    18
    La posterò appena possibile, scusa ma sto creando un mio ambiente di sviluppo e un mio compilatore e appena l'avrò completato posterò lo screeshot, dovrebbe essere questione di ore.
    Presidente TheSannicolaBoys



    Sono aperte le iscrizioni per il GDR Fifa 2012 Atn

  6. #6
    Moderatore Forum Programmazione
    Points: 17,317, Level: 19
    Level completed: 15%, Points required for next Level: 1,633
    Overall activity: 10.0%
    Achievements:
    SocialRecommendation Second ClassVeteranCreated Album picturesCreated Blog entry
    L'avatar di laber
    Data Registrazione
    Jul 2008
    Genere
    Maschio
    Località
    Lecce
    Messaggi
    3,790
    Punteggio
    17,317
    Livello
    19
    Credits
    238,556
    Depositati
    5,863
    Ringraziamenti
    52
    Ringraziato 24 Volte in 20 Post
    Inserzioni Blog
    18
    Dopo due mesi e pochi giorni ecco a voi lo screeshot del gioco, scusate il ritardo :
    Immagini Allegate Immagini Allegate
    Presidente TheSannicolaBoys



    Sono aperte le iscrizioni per il GDR Fifa 2012 Atn

Tag per Questa Discussione
Articoli consigliati
Permessi 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
  •