Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    396

    Fare tabella in C

    Salve,

    io devo afre un disegno come indirizzo http://gilda.it/ludomax/giochi/halma.wmf

    e mi domandavo come si fa cioè che comando si utilizza in C per fare le linee continue??

    xche se utilizzo i " -----" linette mi viene tutto spezettato quando eseguo a video......

  2. #2
    Puoi provare con i caratteri semi-grafici, ma ti avverto
    subito che il risultato non è certamente esaltante...

    Queste poche righe di codice stampa una griglia, di esempio,
    e poi mostra una tabella con tutti i caratteri ASCII disponibili.

    Codice x Borland C++ v5.5 (free)
    codice:
    #include <stdio>
    #include <iostream>
    #include <windows>
    #include <conio>
    
    void main()
    {
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",218,196,194,196,194,196,194,196,194,196,194,196,191);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",179, 32,179, 32,179, 32,179, 32,179, 32,179, 32,179);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",195,196,197,196,197,196,197,196,197,196,197,196,180);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",179, 32,179, 32,179, 32,179, 32,179, 32,179, 32,179);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",195,196,197,196,197,196,197,196,197,196,197,196,180);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",179, 32,179, 32,179, 32,179, 32,179, 32,179, 32,179);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",195,196,197,196,197,196,197,196,197,196,197,196,180);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",179, 32,179, 32,179, 32,179, 32,179, 32,179, 32,179);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",195,196,197,196,197,196,197,196,197,196,197,196,180);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",179, 32,179, 32,179, 32,179, 32,179, 32,179, 32,179);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",192,196,193,196,193,196,193,196,193,196,193,196,217);
    
    	printf("\n\n Mappa dei caratteri disponibili in 'MS-DOS'\n\n");
    	for(int ch = 0; ch < 255; ch ++) {
    		printf(" %3i ",(int)ch ); // Stampa tutti i valori
    		if(ch >14) // salta i caratteri non 'stampabili'
    			printf("%c  ", ch);
    		else
    			printf("%c  ", ' ');
    	}
    	getch();
    }
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    396
    grazie per il codice che mi hai dato

    pero non so xche mi da degli errori nel ciclo for......

    un altra domanda sai per caso dove posso trovare il gioco HALMA scritto in c??

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    396
    pre creare una linea continua posso utilizzare ad esempio il comando

    printf("\n%c%c%c%c",196,196,196,196); ok pero se devo formare una linea sempre continua pero diciamo piu marcata quindi di spessore piu grosso che comando devo utilizzare?

  5. #5
    Originariamente inviato da giackk83
    grazie per il codice che mi hai dato

    pero non so xche mi da degli errori nel ciclo for......
    Che tipo di errori ? Che compilatore usi ?
    Originariamente inviato da giackk83
    un altra domanda sai per caso dove posso trovare il gioco HALMA scritto in c??

    Prova a cercare con Google :

    "halma" game c++ "source code"
    Invece di "halma" puoi cercare "chinese checkers" (è così che lo chiamano in USA).

    Spiegazione sul gioco (in Inglese):
    http://www.cs.laurentian.ca/dgoforth...oject2003.html
    http://www.jijbent.nl/spelregels/halma.php


    Codice di esempio :
    http://www.xs4all.nl/~hwiegman/
    http://chinesecheckers.vegard2.no/freeware.html

    Prova questa variante, in codice C#, potrebbe esserti utile comunque :

    http://www.c-sharpcorner.com/Code/20...jectTrilma.asp

    Originariamente inviato da giackk83
    se devo formare una linea sempre continua però diciamo più marcata
    quindi di spessore più grosso che comando devo utilizzare?
    Prova così :

    codice:
    // basic template file for C++
    
    #include <stdio>
    #include <iostream>
    #include <windows>
    #include <conio>
    
    using namespace std;
    
    void main()
    {
    	// Puoi memorizzarli in una stringa
    	char LineaSup[40] = {218,196,194,196,194,196,194,196,194,196,194,196,191,
    	10, 13, // Per il ritorno a capo
    	179, 32,179, 32,179, 32,179, 32,179, 32,179, 32,179};
    	//Metodi alternativi :
    	printf("\nAngolo a linea doppia : ");
    	cout << CHAR(201) << endl;
    	printf("Linea doppia verticale : ");
    	putch( CHAR(186) );
    	printf("\nLinea doppia orizzontale : ");
    	putch( CHAR(205) );
    	printf("\nLinea + spessa superiore : ");
    	putch( CHAR(223) );
    	printf("\nLinea + spessa inveriore: ");
    	putch( CHAR(220) );
    	printf("\nCarattere pieno : ");
    	putch( CHAR(219) );
    	
    	printf("\n\n%s",LineaSup);// Visualizza la stringa
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",218,196,194,196,194,196,194,196,194,196,194,196,191);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",179, 32,179, 32,179, 32,179, 32,179, 32,179, 32,179);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",195,196,197,196,197,196,197,196,197,196,197,196,180);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",179, 32,179, 32,179, 32,179, 32,179, 32,179, 32,179);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",195,196,197,196,197,196,197,196,197,196,197,196,180);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",179, 32,179, 32,179, 32,179, 32,179, 32,179, 32,179);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",195,196,197,196,197,196,197,196,197,196,197,196,180);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",179, 32,179, 32,179, 32,179, 32,179, 32,179, 32,179);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",195,196,197,196,197,196,197,196,197,196,197,196,180);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",179, 32,179, 32,179, 32,179, 32,179, 32,179, 32,179);
    	printf("\n%c%c%c%c%c%c%c%c%c%c%c%c%c",192,196,193,196,193,196,193,196,193,196,193,196,217);
    
    	printf("\n\n Mappa dei caratteri disponibili in 'MS-DOS'\n\n");
    	for(int ch = 0; ch < 255; ch ++) {
    		printf(" %3i ",(int)ch ); // Stampa tutti i valori
    		if(ch >14) // salta i caratteri non 'stampabili'
    			printf("%c  ", ch);
    		else
    			printf("%c  ", ' ');
    	}
    	getch();
    }
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    Se vuoi fare qualcosa di più impegnativo (come realizzazione) ma anche più bello a vedersi allora puoi ripiegare su una libreria grafica 2D, tipo Allegro (che io ti consiglio), che ti pemette di fare praticamente qualunque cosa a livello di grafica bidimensionale. Tuttavia, siccome non sono esattamente facili da usare (per esempio la gestione dell'input può risultare più complessa che non in C "liscio"), se sei un principiante ti consiglio di fare il tutto con i caratteri ASCII. Poi magari in futuro potresti pensare a trasformarlo. Tuttavia se non hai problemi di tempo/voglia/esperienza ti consiglio caldamente di farlo con una libreria grafica (ripeto, ti consiglio Allegro, davvero facile da usare).

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    396
    Grazie mille per l'aiuto che mi avete dato ,

    cmq come compilatore uso visual studio 6......

    con i comandi che mi hai dato ci sono riuscito

    provero a guardare in google se trovo qualche esempio di gioco per basarmi un attimo

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 © 2025 vBulletin Solutions, Inc. All rights reserved.