Buonasera a tutti!
Mi è venuto la bella idea di replicare il gioco del Tris (Tic-Tac-Toe) in C. Ne ho già fatto una versione, il problema è che è a scorrimento, ovvero ad ogni casella modificata da un giocatore viene stampata a schermo la griglia aggiornata.
Un bel giorno scoprii che esiste una libreria molto versatile per i giochi ed in grado di ricevere input anche da mouse (o qualcosa del genere) ed è ncurses. Ho letto qualche documento in giro sul Web ma ho un po' di dubbi, spero che voi siate in grado di aiutarmi!
1) Nel mio programma inserisco initscr() nel momento in cui lo schermo dovrebbe essere "ripulito". Perché se non inserisco un getchar() initscr non fa il suo lavoro? Sembra che il getchar serva per bloccare il programma in quel punto, appena passo un carattere prosegue, raggiunge endwin() e finisce. In pratica, se non inserisco un getchar, sembra addirittura che il programma non faccia niente, probabilmente l'esecuzione è così veloce che non si nota, mentre se aggiungo getchar posso semplicemente vedere lo schermo rinizializzato ma senza fare niente. Come si fa a mantenere lo schermo attivo?
2) Avendo la griglia con le caselle numerate, il senso della partita è che ogni giocatore passa il numero della casella da tastiera e il simbolo viene inserito. Con il problema del punto 1) è impossibile da fare in questo modo, cosa potrei fare? Chiaramente se ottengo delucidazioni sul problema 1) ottengo risposte anche per questo punto.
3) Le mie funzioni riguardo il gioco possono essere passate nel codice tra initscr e endwin?
4) Immaginando di non avere problemi, com'è possibile notare i cambiamenti delle caselle in real time?
4b) Se no, esistono sistemi più immediati nel fare questo gioco mantenendo una sola stampa di griglia e vedere i cambiamenti delle caselle in tempo reale?
Innanzitutto grazie a tutti, come secondo punto scusate il testo lungo e non fatevi problemi a chiedermi di spiegare meglio, so di aver scritto in un Italiano poco scorrevole.
[C] Dubbi sulla libreria <ncurses.h>/<curses.h>
Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Vai a
- Notizie e informazioni utili
- ↳ Novità e aggiornamenti
- ↳ Prime informazioni sul mondo Ubuntu
- Primi passi
- ↳ Dilemmi del principiante
- ↳ Installazione e aggiornamento del sistema operativo
- ↳ Sessione live DVD/USB
- ↳ Ubuntu su macchina virtuale
- Software
- ↳ Applicazioni
- ↳ Applicazioni professionali
- ↳ Kernel e servizi di sistema
- ↳ Multimediale
- ↳ Videogiochi
- ↳ Software educazionale
- ↳ Tecnologie assistive
- Hardware
- ↳ Driver e periferiche
- ↳ Ubuntu Phone, PowerPC e ARM
- Reti e server
- ↳ Connessione e configurazione delle reti
- ↳ Ubuntu su server
- Ambienti desktop
- ↳ GNOME
- ↳ KDE
- ↳ Altri ambienti desktop e window manager
- ↳ LXDE/LXQt
- ↳ MATE
- ↳ Unity
- ↳ Xfce
- ↳ Personalizzazione dell'ambiente desktop
- Programmazione, sicurezza e sviluppo
- ↳ Progetti della Comunità
- ↳ Programmazione
- ↳ Strumenti per la programmazione
- ↳ Sicurezza
- ↳ Annunci di sicurezza
- ↳ Ubuntu in sviluppo
- Comunità di Ubuntu-it
- ↳ Consiglio della Comunità
- ↳ Membership Ubuntu-it
- ↳ Gruppo Documentazione
- ↳ Gruppo Forum
- ↳ Gruppo Promozione
- ↳ Newsletter italiana
- ↳ Gruppo Sviluppo
- ↳ Gruppo Web
- Comunità del forum
- ↳ Bacheca eventi
- ↳ Bar Sport
- ↳ Bar Ubuntu
- ↳ Altre distribuzioni e sistemi operativi
- ↳ Consigli per gli acquisti
- Archivio del forum
- ↳ Sezioni chiuse o archiviate
- ↳ Architettura x86_64
- ↳ Architetture meno diffuse
- ↳ CD italiano di Ubuntu-it
- ↳ Precedenti Ubuntu in sviluppo
- ↳ Hoary 5.04
- ↳ Breezy 5.10
- ↳ Dapper 6.06
- ↳ Edgy 6.10
- ↳ Feisty 7.04
- ↳ Gutsy 7.10
- ↳ Hardy 8.04
- ↳ Intrepid 8.10
- ↳ Jaunty 9.04
- ↳ Karmic 9.10
- ↳ Lucid 10.04
- ↳ Maverick 10.10
- ↳ Natty Narwhal 11.04
- ↳ Oneiric Ocelot 11.10
- ↳ Precise Pangolin 12.04
- ↳ Quantal Quetzal 12.10
- ↳ Raring Ringtail 13.04
- ↳ Saucy Salamander 13.10
- ↳ Trusty Tahr 14.04
- ↳ Utopic Unicorn 14.10
- ↳ Vivid Vervet 15.04
- ↳ Wily Werewolf 15.10
- ↳ Xenial Xerus 16.04
- ↳ Yakkety Yak 16.10
- ↳ Zesty Zapus 17.04
- ↳ Artful Aardvark 17.10
- ↳ Bionic Beaver 18.04
- ↳ Cosmic Cuttlefish 18.10
- ↳ Disco Dingo 19.04
- ↳ Eoan Ermine 19.10
- ↳ Focal Fossa 20.04
- ↳ Groovy Gorilla 20.10
- ↳ Hirsute Hippo 21.04
- ↳ Impish Indri 21.10
- ↳ Jammy Jellyfish 22.04
- ↳ Quarantena
- ↳ Risoluzione controversie
- ↳ Sondaggi
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti