Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420

    [java]: URGENTE!!!! HeLp :messner: Scontro tra oggetti

    Salve a tutti, mi servirebbe una mano a capire questo testo perchè alcune parti mi lasciano un po "perplesso"...
    Non ho capito soprattutto la parte relativa allo scontro tra le automobiline. Come faccio a capire quando una macchina e entrate in collisione frontalmente o orizzontalmente con un altra macchina.
    Poi non riesco a capire come realizzare questa griglia.... (indica solo la posizione o bisogna proprio disegnarla??)
    HELPPPPPPPPPPPPPPP (ho solo un altro giorno di vita per finirlo :P)....




    Scrivete un gioco basato su automobiline che rimbalzano rispettando le seguenti regole.

    * Le automobiline sono collocate sui punti (x, y) di una griglia (la dimensione di una casella della griglia è dello stesso ordine di grandezza dell'automobilina che, per semplicità, farete in modo sia il più quadrata possibile), dove x e y sono numeri interi compresi fra –LIM e LIM (LIM vale almeno 10, la superficie complessiva dell'applet non deve superare 800 per 800 pixel).
    * Un’automobilina inizia a muoversi in una direzione casuale, che può essere destra, sinistra, alto o basso (opzionalmente potete decidere che il movimento avviene anche in diagonale).
    * Se tocca un bordo (vale a dire, se x o y diventa LIM o -LIM) inverte la direzione di movimento nella coordinata per cui si è raggiunto il limite

    Inserire NUM_AUTO automobiline (almeno 2) e gestire le collisioni secondo lo schema seguente:
    auto che collidono frontalmente invertono la direzione, auto che collidono tangenzialmente si scambiano le direzioni.

    Per l'animazione usare i comandi elencati nel seguito.

    Prima dell'intestazione della classe:



    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.Timer;

    Nella funzione init() dell'applet inserire:

    timer = new Timer (DELAY, new ReboundActionListener());
    timer.start();

    Dichiarare la classe interna:

    private class ReboundActionListener implements ActionListener
    {
    public void actionPerformed (ActionEvent event)
    {

    {qui il codice che determina la variazione di posizione dell'automobilina}

    }
    }
    the sALIEN

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    disegnare la griglia non credo sia fondamentale lo farei più pe comodita per controllare i movimenti.Se le macchine e i quadrati della griglia hanno le stesse dimensioni dovrai controllare in base ai 2 casi se le coord x o y delle due macchine coincidono coincidono

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    quello che non capisco è come fare per sapere in che direzione
    far muovere l'oggetto. Se viene colpito lateralmente da un oggetto che ha una direzione di movimento ortogonale alla sua, il testo dice che si devono scambiare tra questi due oggetti le direzioni del movimento.Se invece sono stati colpiti frontalmente, devono invertire semplicemente la loro direzione.. ma come faccio a sapere se l'oggetto e colpito lateralmente o frontalmente? riguarda le posizioni sugli assi?
    E questo –LIM e LIM hai idea di cosa sia?
    the sALIEN

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    la tua macchina ha per forza un davanti e un dietro che decidi tu. Ad ogni movimento devi verificare se una delle 2 coord delle macchine sono uguali e da li poi controllare se la macchina e stata colpita front o lateralmenente.
    per far muovere gli oggetti in modo casuale dovrai usare una funzione random che aumenta di 1 le coord nelle 4 diverse direzioni...
    Quando avviense uno scontro fai ripartie le funzione per il movimento passando le coord in base al tipo di scontro

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    ciao, prima di tutto grazie per avermi risposto...
    Forse ho capito come impostare il progetto ma alcune cose sono sempre offuscate... ad es. questo LIM per esempio, è il bordo? e poi come faccio a disegnare un automobilina? io riesco a creare solo un oggetto alla volta (es un quadrato) ma non ho idea di come realizzare un oggetto costruito con piu forme che si muove uniformemente....
    the sALIEN

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    credo voglia dire che la dim minima deve stare tra i 10 e -10 delle x e delle y.
    Non credo tu debba fare una macchina completa con ruote e tutto per me basta solo un quadrato e stop

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    mmmh... ma x e y in java non sono sempre positivi (nella porzione visibile dell'applet)?
    the sALIEN

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    non te lo so dire, ma se hai un limite pos e neg credo che la tua griglia deve stare a cavallo delle coord (0,0)

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    420
    mmh.. ora provo a implementarlo usando i tuoi preziosi consigli e ti farò sapere i risultati, ciao
    the sALIEN

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.