Esercizio per studenti

5 02 2010

Proponiamo il seguente esercizio con soluzione xD, che potrà essere utile per l’apprendimento del C++.

Traccia:

Costruire il gioco dell’impiccato. La parola da indovinare è data in input ed il numero di tentativi è fissato a 6. Inoltre, ad ogni tentativo, dovrà essere stampato il risultato parziale, dove nel caso in cui la lettera non sia ancora stata “indovinata” dovrà essere stampato il carattere ‘ – ‘.

Leggi il seguito di questo post »





La programmazione ad oggetti (Parte 1)

21 11 2009

In questo articolo tratteremo in C++ la prima parte di un argomento abbastanza vasto che è la “programmazione orientata agli oggetti”.
Introdurremo il concetto di oggetto e di classe per poi iniziare a definire quest’ultime.
Parleremo poi del costruttore e delle funzioni membro set e get, molto utilizzate in questo tipo di programmazione.
Infine, oltre ai vari esempi proprosti capitolo dopo capitolo, faremo un esempio finale dove verrà implementata una classe, molto semplice, con cui lavoreremo poi in un main.

Scarica l’articolo





PIL: manipolare immagini con Python

19 11 2009

Molte volte ci troviamo di fronte a lavori che, svolti su una moltitudine di elementi, diventano molto laboriosi e noiosi. Un esempio molto semplice è il dover ridimensionare delle immagini; semplicemente, possiamo aprire qualunque editor grafico e, una per una, cambiare la dimensione e salvare, via via di questo passo.
Essendomi ritrovato di fronte una procedura del genere, vi propongo una soluzione semplice quanto efficace per automatizzare il tutto.

Per questo tipo di problemi ritengo molto più semplice utilizzare un linguaggio di scripting, magari leggero, semplice e tipizzato dinamicamente. La mia scelta, questa volta, è ricaduta su Python e sulla libreria PIL (Python Imaging Library): con qualche riga di codice e un po’ di prove, il lavoro era praticamente svolto.

Vediamo insieme come svolgere un’operazione del genere. Leggi il seguito di questo post »





Introduzione ai puntatori

18 11 2009

In questo articolo verranno trattati i puntatori, capitolo molto importante nella programmazione in linguaggi come C e C++.
Partendo da concetti fondamentali come quello della gestione della memoria da parte del sistema operativo, impareremo a dichiarare ed utilizzare un puntatore ed infine introdurremo il concetto di allocazione dinamica della memoria che verrà approfondito nel prossimo articolo.

Scarica l’articolo





Briscola

17 11 2009

Sotto richiesta di un mio amico, ritorno con un nuovo giochino di carte: Briscola!
Sicuramente la maggior parte di voi sapranno giocare a Briscola, quindi non sto a spiegarvi le regole del gioco, altrimenti, per fortuna, esiste google!
Ho implementato questo algoritmo sulla falsa riga di quello del 7 e mezzo, utilizzando quindi le stesse classi, Carta e Mazzo, ma con qualche piccola modifica.
Vi ripropongo quindi il loro codice associato al gioco della Briscola!

Enjoy!

Leggi il seguito di questo post »





7 e mezzo

23 09 2009

Forse sto diventando prevedibile, però ultimamente passo il mio tempo libero cercando di creare qualche giochino in c++ ^^ Questa volta, ho preso come esempio il noto gioco di carte 7 e mezzo e ho fatto una bozza…ormai completa si può dire. Se ci sono aggiornamenti lo segnalerò^^
Vi propongo qui quindi una mia versione. Ho usato un pò di programmazione ad oggetti e anche la libreria fstream in modo da poter salvare i progressi nel gioco, dato che ho messo la funzionalità di puntare dei soldi virtuali :D
Troverete quindi altri 4 file con esattezza, oltre al main, riferiti alle classi Carta e Mazzo.

Per chiunque volesse provarlo, ho creato un file .zip dove ho messo l’eseguibile e il file dove vengono memorizzati i progressi durante il gioco( quindi i soldi virtuali :) ). Scarica File

Solita raccomandazione: non esitate a conttarmi per qualsiasi tipo di problema ^^
Leggi il seguito di questo post »





0 a.d Compilazione e impressioni.

4 09 2009

Stranamente a quanto scritto precedentemente questo articolo è un pò più soft (tutti abbiamo bisogno sempre e comunque di svagare con il cervello).  Infatti ci interessiamo ad un videogame.

Il gioco in questione è l’attesissimo 0 a.d (in fase di sviluppo da 8 anni) un gioco di strategia in tempo reale simile ad Age of Empire II, ma ambientato in periodi storici differenti. Tutte le informazioni possono essere trovato sul sito.

Dopo una non lunga compilazione sul mio computer fisso con Debian, ho potuto avere una prima impressione del gioco(come potete vedere dal video). Per quanto riguarda i sorgenti essi sono poco chiari in alcuni punti, ma completi per capire lo sviluppo e il funzionamento del gioco, c’è da aggiungere che essi in alcuni punti sono incompleti e necessitano di forti riscritture o aggiornamente (l’AI non è ancora molto sviluppata).

La grafica non è ancora ai livelli di eccellenza desiderati, ma è comunque buona per qualsiasi tipo di scheda video vecchia (non eccessivamente minimo GF 4) e nuova. La giocabilità non è ancora del tutto completata, in alcuni tratti e lenta e fastidiosa.

Qualsiasi altro tipo di descrizione può essere preso dal video (spero di rilasciarne altri). Al più presto sarà disponibile su questo blog un pacchetto .deb con il gioco pre-compilato… Grazie !!





Introduzione alle stringhe e algoritmi collegati (Parte 1)

15 08 2009

Salve a tutti ragazzi!
In questo articolo viene introdotto il concetto di carattere e di sequenza di caratteri. Presenteremo il tipo di dato stringa e analizzeremo i più importanti algoritmi di ricerca/ordinamento/parsing collegati.

La prima parte consiste in un’introduzione generale: i caratteri, le stringhe, la rappresentazione e i sistemi di codifica e l’uso delle stringhe in C++.

Scarica l’articolo

Come sempre commenti e critiche sono i benvenuti! A breve la seconda parte!
Buon weekend!





Gioco del Tris

12 08 2009

Chi non ha mai giocato a Tris? Classico passatempo tra i banchi di scuola durante noiosissime lezioni :)
Vi propongo qui una mia versione, molto semplice.

Attenzione: Ho messo dei commenti dove potrete distinguere le differenze tra il codice utilizzabile su windows e il codice uitlizzabile su linux. Queste diffrenze riguardano il comando “clear screen” e il comando “PAUSE”.
Le righe di codice commentate sono quelle da utilizzare sotto windows, mentre se siete sotto linux, potete lasciare il codice così.

Aggiornamento: Sostituiti tutti gli if else della versione precedente con dei for.
In caso di bug o per qualsiasi altro motivo, alla fine del codice troverete le funzioni computerChoise e pcTris in versione “if else”, che potrete tranquillamente sostiture a quelle presenti attualmente.

Solita raccomandazione: Per dubbi, consigli, o bug non esitate a contattarmi! :)

Leggi il seguito di questo post »





Algoritmo per la risoluzione dei sistemi di congruenze

1 08 2009

Per la risoluzione dei sistemi di congruenze utilizziamo il “Teorema Cinese del Resto”.
La teoria la trovate QUI

L’algoritmo che segue non prevede la risoluzione del sistema se i moduli delle equazioni non sono coprimi, cioè primi tra loro.
Si noti comunque che l’algoritmo è un esempio di risoluzione di un sistema di congruenze a 3 equazioni; l’ho creato ed usato prima dell’esame di Matematica Discreta 2 per verificare che gli esercizi svolti fossero giusti :D

Leggi il seguito di questo post »