La mia prima Applet Java

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? 😀 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).

Tag: ,

3 Commenti a “La mia prima Applet Java”

  1. […] Traffyk – I’m Driving Crazy Brain method has been Overloaded « La mia prima Applet Java […]

  2. Marcello Cannarsa ha detto:

    Ciao Raf, sono Marcello

    E’ da tanto che non scrivo

    Cmq mi sono iscritto alla facolt di Informatica a Pesche(IS), faccio sopra e sotto tra Termoli,Isernia e Pesche ed il contrario. E’ finita la prima settimana di lezione(marted , mercoled, gioved e venerd). Sto studiando all’universita e fuori, Ho conosciuto i nuovi compagni e mi sto ambientando bene. Purtroppo l’appartamento non l’ho preso per motivi economici, per questo non un problema, L’importante avere testa e determinazione.

    Ciao
    Marcello

    NB: attivo il mio nuovo sito web : http://www.marcellinux.it su cms Joomla

  3. my ha detto:

    Ecco il sorgente (non è poi brutto):

    import java.applet.Applet;
    import java.awt.*;

    public class Tavola extends Applet
    {

    private static final long serialVersionUID = 0x3273d72ebc7df5c3L;
    private boolean matrice[][];
    int l;
    int x;
    int y;
    int tasto;

    public Tavola()
    {
    matrice = new boolean[15][15];
    l = 15;
    tasto = 0;
    }

    public void init()
    {
    x = y = 7;
    matrice[x][y] = true;
    }

    public boolean keyDown(Event evt, int key)
    {
    switch(key)
    {
    case 1005:
    tasto = 1;
    break;

    case 1004:
    tasto = 2;
    break;

    case 1006:
    tasto = 3;
    break;

    case 1007:
    tasto = 4;
    break;

    default:
    tasto = 0;
    break;
    }
    repaint();
    return true;
    }

    public boolean keyUp(Event evt, int key)
    {
    tasto = 0;
    repaint();
    return true;
    }

    public void paint(Graphics g)
    {
    g.setColor(Color.blue);
    for(int i = 0; i < matrice.length; i++)
    {
    for(int j = 0; j < matrice[i].length; j++)
    {
    if(getSize().width < getSize().height)
    {
    g.drawRect(i * (getSize().width / l), j * (getSize().width / l) + 5, getSize().width / l, getSize().width / l);
    if(matrice[i][j])
    {
    g.fillRect(i * (getSize().width / l), j * (getSize().width / l) + 5, getSize().width / l, getSize().width / l);
    }
    } else
    {
    g.drawRect(i * (getSize().height / l), j * (getSize().height / l), getSize().height / l, getSize().height / l);
    }
    if(matrice[i][j])
    {
    g.fillRect(i * (getSize().height / l), j * (getSize().height / l), getSize().height / l, getSize().height / l);
    }
    }

    }

    switch(tasto)
    {
    case 1: // '01'
    matrice[x][y] = false;
    if(y 0)
    {
    y--;
    }
    matrice[x][y] = true;
    break;

    case 3: // '03'
    matrice[x][y] = false;
    if(x > 0)
    {
    x--;
    }
    matrice[x][y] = true;
    break;

    case 4: // '04'
    matrice[x][y] = false;
    if(x < 14)
    {
    x++;
    }
    matrice[x][y] = true;
    break;

    default:
    tasto = 0;
    break;
    }
    }

    public void stop()
    {
    matrice = null;
    }

    public void destroy()
    {
    matrice = null;
    }
    }

Lascia un Commento