Articoli marcati con tag ‘programmazione’

spostato – Un editor html online con anteprima in tempo reale

lunedì, 14 gennaio 2008

Spostato qui: Un editor html online con anteprima in tempo reale

Tipi di dati astratti: la coda (queue) e algoritmo in Java 5.0

mercoledì, 3 ottobre 2007

Secondo capitolo della puntata algoritmi e strutture dati la coda.

coda-queue

Un coda una struttura dati molto semplice, segue il principio FIFO, First In First Out, il primo ad entrare il primo ad uscire.. o potremmo dire chi primo arriva meglio alloggia!:P

Oggi non posso spiegarvi tutto, come sempre confido nei vostri commenti e richieste di informazioni specifiche per contribuire al meglio al post. Vediamo subito quali metodi ha l’interfaccia Queue:

  • enqueue(e): accoda l’elemento e alla coda, in pratica posiziona dietro l’elemento;
  • dequeue(): prende il primo elemento della coda, ovvero il primo ad essere entrato, lancia un’eccezione se vuota;
  • front(): simile al pop dello stack, legge il primo elemento della coda senza per toglierlo da essa, lancia un’eccezione se vuota;
  • size(): un classico ormai, restituisce la dimensione;
  • isEmpty(): booleano per sapere se la coda vuota o occupata da elementi.

Vediamo quindi l’interfaccia:

package queue;

import exception.EmptyQueueException;

public interface Queue<E> {

 public int size();
 public boolean isEmpty();
 public E front() throws EmptyQueueException;
 public void enqueue(E element);
 public E dequeue()throws EmptyQueueException;
}

(continua…)

Tipi di dati astratti: Lo Stack, con algoritmo in Java 5.0

martedì, 2 ottobre 2007

Eccoci finalmente arrivati alla prima stuttura di dati che andremo ad analizzare, lo Stack.

391px-Data stack

Prima di cominciare vorrei fare una piccola premessa, utilizzo il linguaggio Java per implementare gli algoritmi (in particolare Java 5.0), si presume (come ho citato nell’articolo precedente) che conosciate almeno in piccola parte il linguaggio Java, in particolare Classi, interfacce, Variabili assegnamenti e operatori/operazioni, cicli, packages e chi pi ne ha pi ne metta. Non vorrei trattare guide riguardanti la normale programmazione in Java in quanto ci sono degli ottimi libri che permettono di superare addirittura un esame universitario (nel mio caso cos stato :P ), mi permetto quindi di citarvi l’ottimo Java Mattone dopo Mattone, liberamente scaricabile e utilizzabile da tutti, non sar aggiornatissimo ma una volta acquisiti i fondamenti iniziali aggiornarsi alle ultime versioni di Java non sar un problema ;) . (continua…)

Implementiamo degli algoritmi e strutture di dati in Java 5.0

lunedì, 1 ottobre 2007

322px-Java LogoSalve ragazzi oggi ricominciata l’Universit… vediamo un po se riusciamo a studiare insieme… magari bloggando le cose che faccio mi entrano meglio in testa e forse mi preparer meglio per gli esami oltre al fatto che cos dovr studiare quasi tutti i giorni per poter scrivere l’articolo ;)

Vi parler di un corso molto bello riguardante Laboratorio di Algoritmi e Strutture Dati (da ora in poi conosciuto con il tag LASD) nel quale vedremo come implementare in Java e in particolare in Java 5.0 con le classi generiche Algoritmi e Strutture Dati di grande utilit per i programmatori. Ma prima di tutto conosciamo meglio la definizione di Algoritmi e Strutture Dati:

Una struttura dati un’entit usata per organizzare un insieme di dati all’interno della memoria del computer, ed eventualmente per memorizzarli in una memoria di massa. La scelta delle strutture dati da utilizzare strettamente legata a quella degli algoritmi, a tal proposito, solitamente si utilizza il concetto unificato di Algoritmi e Strutture Dati. (continua…)

Ho scoperto Python! Perch non l’ho fatto prima?? Come installarlo su Windows (incluso Feedparser)

sabato, 25 agosto 2007

python-logo

Continua il mio viaggio di esproprio dal proprio ambiente di lavoro nativo di programmi praticamente perfetti. Oggi ho scoperto Python.

Cosa Python??

Python un linguaggio di programmazione interpretato, interattivo, ad oggetti. Incorpora i moduli, le eccezioni, la tipizzazione dinamica, alcuni tipi di dati dinamici ad altissimo livello e le classi. Python unisce una potenza considerevole ad una sintassi molto pulita e comprensibile. ?? dotato di interfacce a molte chiamate di sistema e librerie, come pure a vari sistemi a finestre, ed estensibile in C o C++. ?? utilizzabile pure come linguaggio di estensione per applicazioni che necessitano di un’interfaccia programmabile. Infine, Python portabile: funziona su molte versioni di UNIX, su Mac, e sui PC sotto MS-DOS, Windows, Windows NT, e OS/2. (Fonte: Python.it)

Conoscevo gia questo linguaggio di programmazione, su [tag]Linux[/tag] mi sono imbattuto pi volte, ma non ne avevo mai approfondito l’uso ne tantomeno sono capace di scrivere una sola riga di codice fin quando non mi sono imbattuto su questo articolo: Come mettere le ultime news del blog in firma con Mozilla Thunderbird.

Lo script creato da questo fantastico ragazzo di cui ora seguir sempre il blog tramite feed [tag]rss[/tag], stato creato in Python con il supporto della libreria Universal Feed Parser di cui tratter dopo l’installazione.

(continua…)

Guida pratica all’uso di Subversion su Windows con TortoiseSVN (How-to)

domenica, 19 agosto 2007

L’articolo è stato spostato qui: Guida pratica per Subversion su Windows;

Codice sorgente dello Snake 0.4 in Java 5.0 e How-to

lunedì, 25 giugno 2007

Ho ripreso in mano i manuali di programmazione e non faccio altro che distrarmi come al solito, nelle mie vecchie cartelle ho ritrovato dei giochini in Java fatti da me un bel po di tempo fa. Due versioni dell’intramontabile Snake. Uno dove non si muore mai e uno nel classico stile di Snake. Avevo gia pubblicato il codice sorgente su Unitribu un forum universitario da me gestito ma che stato accantonato da un bel po di tempo e ho deciso di rispondere all’unico commento ricevuto con una breve guida.

Per compilare il gioco visto che ho letto di alcune difficoltà vi descrivo la procedura passo passo da fare in Eclipse 3.2.2.
Una volta scaricato basta estrarlo e aprire la cartella, non necessita di installazione. Troverete all’interno della cartella Eclipse un file chiamato eclipse.exe facendo doppio click sopra potrete avviare (dopo aver selezionato una cartella per il workspace) Eclipse.
Subito dopo andate su File > New > Project e scegliete Java Project poi cliccate su Next.
Apparirà questa schermata:
eclipse1

Assicuratevi che in JRE sia selezionata almeno la versione 1.5.0 oppure come nel mio caso la versione 1.6.0. Poi cliccate sotto su Configure compilance…

eclipse2

Il livello di compilazione deve essere impostato almeno su 5.0 altrimenti non si potranno usare le classi generiche previste da Java 5.0(e superiori). Date OK e alla richiesta successiva rispondete YES. Apparirà la finestra precedente date Next e poi Finish.

eclipse3

Ora vedrete nel Package Explorer la nostra bella cartella Giochi, cliccate su New Java Package (l’icona indicata nell’immagine).

eclipse4

Restate Giochi in source folder e date come nome del package snakeB_04. Questo sarà il risultato finale:

eclipse5

Cliccate ora su New Java Class e date un nome alla vostra classe.

eclipse6

eclipse7

Cliccate su Finish e si aprirà il vostro bel file Snake.java pronto da essere editato.

eclipse8

Cancellate tutto e incollate il codice sorgente contenuto in questo file snake.java. Poi dopo andate nel Package Explorer, cliccate con il destro su Snake.java e scorrete fino alla voce Run As > Java Applet:

eclipse9

Vi verrà chiesto di salvare il programma, date Ok, il tempo di elaborare e codificare in Byte code il codice sorgente e verrà avviata l’applet che potrete testare.

Vi faccio presente che nell’applet ci sono molte imperfezioni e inoltre ho verificato la presenza di un bug abbastanza grave che fa crashare il gioco che non ho avuto tempo di sistemare, quindi se volete potete risolvere i problemi e rielaborare il tutto a vostro piacimento però abbiate l’accortezza di inviarmi indietro la vostra versione modificata perchè così potrò imparare qualcosa da voi. Grazie.

THAT’S ALL!

 

 

Rilasciato il codice sorgente Java dello SnakeB fatto da me.

sabato, 2 dicembre 2006

Ho pubblicato il codice sorgente del gioco da me fatto in precedenza e pubblicato su questo sito sul forum di Unitribu.net, nella sezione Informatica, cos possiamo raccogliere le discussioni in un forum.

Ecco qui il link:

java-codice-sorgente-dello-snake-04-di-traffyk

Il vero Snake! Appena finito di fare e corretto

sabato, 18 novembre 2006

SnakeB 0.3 – Aggiornamento dalla versione precedente e implementazione della MORTE :D

Molti di voi mi hanno detto che al mio Snake non si moriva mai, che era una palla e che non c’era sfizio..Beh io a tutti vi rispondo che avevo sempre sognato un gioco cos :D davvero un potente antistress per me! Inoltre visto che non sto mai con le mani in mano vi ho accontentato tutti e ho creato il classico Snake(escluso il fatto che attraversa i muri che mi piace un casino).

Cosa c’ di nuovo? Allora, non potete pi far scontrare il serpente con se stesso, ne fare retromarcia, inoltre stato aggiunto il punteggio con possibilit di memorizzare il Record. Appena possibile rilascer un’ulteriore versione che permetter di salvare i migliori punteggi in un database. Inoltre potete scrivere il vostro nome nella finestra che compare.

È stato inoltre risolto un antipaticissimo Bug, che faceva bloccare Snake che sfociava in un Loop infinito, c’ un altro errore durante il reset in caso di sconfitta meno fastidioso che non sono ancora riuscito a capire in quali casi si crea. Quindi se vi capita ditemi un po in quale situazione o magari mi postate uno screenShot. Grazie RAGAZZI

Per giocare cliccate con il mouse nel riquadro qui sotto, poi muovete i tasti direzionali!

Lo Snake pi pazzo che c’!

giovedì, 16 novembre 2006

SnakeB 0.2 – Il mio primo giochino cazzuto in Java :D

Chi di voi non ha giocato al buon vecchio Snake?? Immagino tutti…ah ricordo ancora i megatornei dietro al banco del liceo con i cellulari allo Snake 1 e 2 della Nokia, hihihi quante ne abbiamo combinate(Catap t ricord record?? hiihihhi), naturalmente il sottoscritto li ha battuti tutti, e se si permettono di dire che non vero abbuscano tutti quanti uno ad uno! ihihihi LOL. Ritorniamo a noi, questo Snake un pochino particolare…Stufo di perdere ore ed ore per poi morire e ricominciare da capo ho sempre sognato di crearmene uno dove non si muore mai….AVETE CAPITO BENE! QUI NON SI MUORE MAI! hihihih. Ma non finita qui…elenco brevemente le particolarit di questo gioco:

  • Snake attraversa i bordi e ricompare all’altra estremit ;
  • Snake si annoda su se stesso, fa le capriole, si attorciglia tutto quanto e non si affoga mai! hihihi;
  • Snake, e sentite bene questa, ha la RETROMARCIA! Basta invertire la direzione e il simpatico serpentello prima si contrae e poi va dall’altra parte!
  • Mantenendo il tasto premuto di direzione, il serpente raddoppia la velocit di movimento! Nos Inside! (Come soprannominato da Pako! Grande!).

Il gioco per funzionare necessita della Java Virtual Machine, aggiornata alla versione 1,5(o versione 5 la stessa cosa). Tecnicamente parlando questo gioco non si basa sulla classica(e molto dispendiosa) matrice NxN vista qualche post fa, ma su una lista a puntatori che memorizza tutte le posizioni dello Snake(e volendo si pu usare anche il classico ArrayList ma siccome lo sto studiando in Lasd, mi sono creato il TDA, tipo di dato astratto, da solo).

Per giocare cliccate con il mouse nel riquadro qui sotto, poi muovete i tasti direzionali!



  • Feed RSS e contatti

    il mio super sexy feed rss
    Contatti (email, msn):

  • Consigli

    Questo blog è ospitato su Dreamhost, sei invece vuoi provare l'avventura di blogger e seguire le mie orme perchè non provi a visitare Italian Bloggers, Guadagnare Scrivendo!.

  • OpenStreetMap

    Sono mapper su OpenStreetMap.org, un progetto mondiale gratuito per la creazione di mappe stradali.
    openstreetmap
    Il mio nome utente è Traffyk.
  • Come guadagna il blog e disclaimer

    Semplicissimo, grazie a SprinTrade, ecco un mio articolo che spiega come guadagnare facendo scaricare giochi.
    Per qualsiasi richiesta comunque contattatemi via mail (sopra) o lasciate un commento.

    Su questo blog effettuo spesso delle recensioni a pagamento. I miei fedeli lettori non riceveranno mai questa tipologia di post nel feed rss, e inoltre i post saranno molto ambigui e di scarsa qualità.Al contrario di altri non ho nulla da nascondere, e accetto tranquillamente insulti sul blog o quello che vi pare. Volete mandarmi a cagare? Fatelo! Mille volte meglio un insulto o una critica che una leccata di culo.