Articoli marcati con tag ‘Java’

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…)

Installare Java 1.6 e relativo Plugin per FireFox su Fedora 7

mercoledì, 4 luglio 2007

java-duke-guitar.pngFedora 7 una distro stupenda, ma alla quale manca un po di tutto e bisogna scervellarsi per poter usare per la prima volta le nostre applicazioni o strumenti preferiti. In questo caso vedremo come abilitare Java e installare il Plugin per FireFox.

A questo indirizzo scaricate la versione Linux RPM (self-extracting file) di Java e posizionatela nella vostra home.

Dopodich aprite un terminale e dovreste trovarvi nella Home, se non ci siete spostatevi attraverso il comando:
cd /home/TuoNomeUtente
Acquisite i permessi di root con “su”:
# su
Parola d'ordine: tuapassword
(continua…)

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!

La mia Prima Applet Java 0.1

mercoledì, 11 ottobre 2006

Ho notato che dopo 5-6 caricamenti della mia Applet Firefox cominciava ad impazzire. Ve l’avevo detto ragazzi che non era opportuno fidarsi dei miei programmini :D . Nelle Applet la garbage collector se non erro non il massimo in quanto non distrugge da sola gli elementi all’uscita, in aiuto mi sono venuti i metodi void stop() e void destroy() per derefenziare la matrice creata e credo che ora la garbage collector faccia il resto perch ho ricaricato un sacco di volte la pagina e Firefox con la JVM non si bloccano pi :D .

Ps: l’applet sta nel post sotto, riaggiornata:
La mia Prima Applet Java

BUONGIORNO GENTE.

La mia prima Applet Java

martedì, 10 ottobre 2006

Finalmente dopo qualche nottata di scervellamento totale sono riuscito a creare una piccola Applet in Linguaggio Java(la mia prima applet in assoluto e tutta da solo!) che disegna una matrice booleana di 16×16 elementi (con righe e colonne di dimensioni dinamiche a seconda della dimensione dell’applet) , e all’interno compare un quadrato pieno(anch’esso di dimensioni dinamiche) che pu essere spostato secondo gli assi X,Y a proprio piacimento, se va nei bordi si blocca e puo soltanto muoversi verso i restanti spazi. I movimenti possono essere effettuati tramite i 4 tasti direzionali, SOPRA SOTTO SINISTRA E DESTRA, altri tasti per ora non sono previsti anche se il procedimento sarebbe lo stesso..Per visualizzare l’Applet richiesta la Java Virtual Machine.

Visto? :D Premetto che ho superato l’esame di Java da circa 20 giorni, e trattava esclusivamente i concetti fondamentali di java quali Oggetti Classi Metodi ecc..ecc..in pratica i fondamenti. Non pubblico per ora il sorgente in quanto sicuramente il codice ancora pieno zeppo di errori e di codice spartano(per giunta senza nessun commento) e non farei altro che farvi imitare il mio pessimo stile di programmazione, da questa base si pu partire per creare molti giochini simpatici, quali lo snake che io ho gia programmato ma lavorando su una collezione di punti e quindi man mano che il serpente avanzava superando un tot numero di punti(oggetti creati) il programma cominciava vistosamente ad andare a scatti fino a bloccarsi completamente, pertanto appena ho un po di tempo reimplementer lo snake con la matrice NxN di tipo boolean e credo che sicuramente risparmier molta memoria e lavori macchinosi… Vado a dormire..tenetevi sintonizzati su questo Blog(eh si…ormai lo diventato sul serio un blog :( speravo di non arrivarci…ma alla fine la struttura sta reggendo bene) per il mio primo vero giochino fatto in Java….CON TANTO DI SORGENTE.

PS: per chi fosse interessato pu chiedermi il sorgente di questa applet tramite mail (la trovate nella pagina Info – Traffyk).



  • 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.