giochino di strategia in C [allegro]
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Pag 1 di 4 1234 UltimoUltimo
Visualizzazione risultati da 1 a 15 di 46

Discussione: giochino di strategia in C [allegro]

Cambio titolo
  1. #1
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353

    giochino di strategia in C [allegro]

    ciao,
    in queste vacanze mi sono dedicato ad un progetto, volevo fare un gioco di stategia in c con la libreria allegro.
    oggi ho cominciato il codice ho messo l'immagine del planisfero sullo schermo e dei pallini (rossi,blu) ke rappresentano gli eserciti del giocatore e del computer.
    ora ho fatto in modo ke ad un click su un pallino mi dia delle info sull'esercito(es.soldati dell'america del nord 50..) però visto ke le informazioni di ogni esercito compaiono alle stesse coordinate(xke così speravo di cancellare l'info dell'altro selezionato) esce male(es.esercito dell'america del sud 5050 oppure eserito del polo50nordmerica50...)se avete capito aiutatemi.
    p.s.devo trovare anke il modo ke se clicco su un esercito e poi clicco su quello nemico lo attakka grazie in anticipo
    Ultima modifica di Metflar; 10-04-2007 alle 13:55:14

    conoscenze: C\C++, Java, PHP,Python

  2. #2
    l' oscuro nemico L'avatar di morgoth90
    Registrato il
    05-06
    Località
    C LikeLandia
    Messaggi
    2.275
    si sovrappongono le scritte?



    ESISTE UN UNICO AMMINISTRATORE


  3. #3
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    Citazione morgoth90
    si sovrappongono le scritte?

    conoscenze: C\C++, Java, PHP,Python

  4. #4
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    così va bene



    conoscenze: C\C++, Java, PHP,Python

  5. #5
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    così va male


    Ultima modifica di Metflar; 12-04-2007 alle 11:38:36

    conoscenze: C\C++, Java, PHP,Python

  6. #6
    FRAK! L'avatar di The Dix
    Registrato il
    09-05
    Località
    Roma
    Messaggi
    11.830
    non si vede il male...
    cmq ma non refreshi tutta la schermata ogni volta?
    e poi il fatto che se clikki sui blu e poi sui rossi i blu devono attaccare quelli sono casi che devi vedere tu all'interno del gameplay

  7. #7
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    quello già so come farlo il problema è ke se klicco su un rosso e poi su un blu nn succede niente

    conoscenze: C\C++, Java, PHP,Python

  8. #8
    FRAK! L'avatar di The Dix
    Registrato il
    09-05
    Località
    Roma
    Messaggi
    11.830
    cosa ti aspetti che succeda?

    quel "già so come farlo" l'hai già fatto?

  9. #9
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    Citazione The Dix
    cosa ti aspetti che succeda?

    quel "già so come farlo" l'hai già fatto?
    ho fatto un if ke controlla se hai cliccato su un pallino e poi dentro questo ne ho fatto un'altro ke controlla ke hai cliccato su un'altro,credevo ke così funzionava invece niente...

    conoscenze: C\C++, Java, PHP,Python

  10. #10
    FRAK! L'avatar di The Dix
    Registrato il
    09-05
    Località
    Roma
    Messaggi
    11.830
    beh dipende da come l'hai fatto...
    puoi postare il codice della parte incriminata?
    Ultima modifica di The Dix; 12-04-2007 alle 12:14:51

  11. #11
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    questa era solo una prova ma nn funge...

    Codice:
    void attacco()
     {
          if(america==1&&asia==0){
                                  if(mouse_x>UX_RIQUADRO&&mouse_x<UX_RIQUADRO+LARGHEZZA&&mouse_y>UY_RIQUADRO&&mouse_y<UY_RIQUADRO+ALTEZZA)
                                  {
                                  if(mouse_x>CX_RIQUADRO&&mouse_x<CX_RIQUADRO+LARGHEZZA&&mouse_y>CY_RIQUADRO&&mouse_y<CY_RIQUADRO+ALTEZZA)
                                  {
                                  textout(screen,font,"attacca",400,500,255);
                                  }
                                  }
                                  }
                                  }

    conoscenze: C\C++, Java, PHP,Python

  12. #12
    Bannato L'avatar di Eclipse
    Registrato il
    02-04
    Località
    C++atania
    Messaggi
    5.604
    Metflar ho capito il tuo problema... non pulisci il buffer (la stringa) che usi per stampare il testo...
    infatti se ci fai caso le scritte non sono sovrapposte perch&#232; se no le prime lettere sarebbero apparse male, ma ci sta solo l'ultimo pezzo della vecchia stringa...
    Scommetto che se prima fai polo nord e poi nord america ti si vede bene perch&#232; la stringa nord america &#232; + lunga dell'altra...

    Per sistemare tutto devi azzerare la stringa prima di memorizzarci quello che devi stampare, se usi un char* fai stringa=""; se invece usi un array passati tutta la lunghezza dell'array mettendo stringa[i]='';

  13. #13
    Bannato L'avatar di Eclipse
    Registrato il
    02-04
    Località
    C++atania
    Messaggi
    5.604
    Citazione Metflar
    questa era solo una prova ma nn funge...

    Codice:
    void attacco()
     {
          if(america==1&&asia==0){
                                  if(mouse_x>UX_RIQUADRO&&mouse_x<UX_RIQUADRO+LARGHEZZA&&mouse_y>UY_RIQUADRO&&mouse_y<UY_RIQUADRO+ALTEZZA)
                                  {
                                  if(mouse_x>CX_RIQUADRO&&mouse_x<CX_RIQUADRO+LARGHEZZA&&mouse_y>CY_RIQUADRO&&mouse_y<CY_RIQUADRO+ALTEZZA)
                                  {
                                  textout(screen,font,"attacca",400,500,255);
                                  }
                                  }
                                  }
                                  }

    è normale che non funzioni, il mouse non può mica stare in due posti diversi contemporaneamente...

    quando clicchi su un segnalino fai che una variabile bool diventi true, ad esempio se clicchi su america fai che la variabile selezione_america diventi true con

    if(mouse_x>x_america&&mouse_x<x_america+LARGHEZZA&&mouse_y >y_america&&mouse_y<y_america+ALTEZZA)
    {
    selezione_america=true;
    }

    e poi per l'attacco

    if (selezione_america&&(mouse_x>x_asia&&mouse_x<x_asia+LARGHE ZZA&&mouse_y>y_asia&&mouse_y<y_asia+ALTEZZA))
    {
    textout(screen,font,"america attacca asia",400,500,255);
    }

  14. #14
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    grazie eclipse per l'aiuto!!

    conoscenze: C\C++, Java, PHP,Python

  15. #15
    FRAK! L'avatar di The Dix
    Registrato il
    09-05
    Località
    Roma
    Messaggi
    11.830
    Citazione Eclipse
    è normale che non funzioni, il mouse non può mica stare in due posti diversi contemporaneamente...

    quando clicchi su un segnalino fai che una variabile bool diventi true, ad esempio se clicchi su america fai che la variabile selezione_america diventi true con

    if(mouse_x>x_america&&mouse_x<x_america+LARGHEZZA&&mouse_y >y_america&&mouse_y<y_america+ALTEZZA)
    {
    selezione_america=true;
    }

    e poi per l'attacco

    if (selezione_america&&(mouse_x>x_asia&&mouse_x<x_asia+LARGHE ZZA&&mouse_y>y_asia&&mouse_y<y_asia+ALTEZZA))
    {
    textout(screen,font,"america attacca asia",400,500,255);
    }
    uffi l'avevo capito e mi hai fregato l'aiuto


    visto che il problema sembra risolto buon lavoro poi facci vedere il gioco quando l'hai finito mi raccomando

Pag 1 di 4 1234 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
  •