Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C] Creare un cursore con conio.h

    Salve a tutti , sto programmando in linguaggio C un gioco di carte. Avrei bisogno di una mano per la programmazione di un cursore con l'inclusione della conio.h, che attraverso le funzioni gotoxy() e getch()si sposti all'interno della finestra del prompt utilizzando i tasti direzionali della tastiera. Dovrei creare una funzione il più generica possibile, in modo tale da poterla utilizzare più volte... C'è qualcuno in grado di aiutarmi?

    Ringrazio in anticipo chiunque risponderà.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Un forum è fatto per aiutare ma non ho capito che tipo di aiuto cerchi ...

    Hai scritto del codice che non ti funziona? Altrimenti che aiuto vorresti?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Hai ragione, nella fretta non ho scritto il codice... Questa è una prova del menù
    codice:
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    
    
    void titolo();
    void stampa_stringa(char [], int , int, int);
    void menu();
    void gestione_cursore_menu(int, int[]);
    void stampa_cursore_menu(int, int);
    
    
    
    
    int main(){
        titolo();
        menu();
    printf("\n");
    system("pause");
        return 0;
    }
    
    void titolo(){
        textcolor(6);
        gotoxy(14, 2); printf("**  ** **      ***   **   ** ****    ** **  ** ****");
        gotoxy(14, 3); printf("** **  **    **   ** ***  ** **  **  ** ** **  **");
        gotoxy(14, 4); printf("****   **    **   ** ** **** **   ** ** ****   ***");
        gotoxy(14, 5); printf("** **  **    **   ** **  *** **  **  ** ** **  **");
        gotoxy(14, 6); printf("**  ** *****   ***   **   ** ****    ** **  ** ****");
    }
    
    void menu(){
        int posizione[7]={10, 12, 14, 16, 18, 20, 22};
        int p=0, i=0;
        int cor[1]={18, 15};
        stampa_stringa("Nuova Partita", cor[0], posizione[0], 15);
        stampa_stringa("Carica Partita", cor[0], posizione[1], 15);
        stampa_stringa("Salva Partita", cor[0], posizione[2], 15);
        stampa_stringa("Impostazioni", cor[0], posizione[3], 15);
        stampa_stringa("Record", cor[0], posizione[4], 15);
        stampa_stringa("Istruzioni", cor[0], posizione[5], 15);
        stampa_stringa("Esci", cor[0], posizione[6], 15);
        gestione_cursore_menu(cor[1], pos);
    }
    
    void stampa_stringa(char s[], int colonna, int riga, int colore){
        int i=0;
        gotoxy(colonna, riga); 
        textcolor(colore);
         while(s[i]){
            printf("%c", s[i]);
            i++;
        }           
    }  
    
    
    void gestione_cursore_menu(int rig, int pos[7]){
        int i=0, key=0;
        while(key!=27){
        key=getch();
            switch (key){
                
                case 72: 
                su(

  4. #4

    Moderazione

    Il codice va specificato tra tag [CODE] ... [/CODE], altrimenti perde l'indentazione.

    Ora correggo io, in futuro ricordatene.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Grazie, lo terrò a mente!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.