Vai al contenuto


Foto

[JAVA] Richieste di aiuto Java


Questa discussione e' stata archiviata Questo significa che non e' possibile rispondere
201 risposte a questa discussione

#121 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.073 Messaggi:

Inviato 02 dicembre 2011 - 16:53

ho deciso di fare anche la roba per l' "eligibity for "30 & lode" " dai

un punto di sta roba è la rappresentazione grafica della simulazione.. niente di che, pensavo.

Allora, ho il mio bel SimulationPanel che deriva da Jpanel.

Parte la simulazione, faccio disegnare tutti i nodi. Tutto ok.
Subito dopo, metto in evidenza (per il momento facendo cerchi più gorssi, finché non lurko come si colorano) i cloni.
Lui lo fa, ma spariscono tutti gli altri nodi disegnati :patpat:

Cioè ogni volta che fa un'operazione di disegno è come se si rifreshasse :oops:

perché?

questo disegna i nodi, tutti
public void drawNodes(Map _nodes){

		nodes=_nodes;

		g = getGraphics();

		Iterator it = nodes.keySet().iterator();

		dy = getSize().height;

		dx = getSize().width;

		Node tmp;

		g.clearRect(0, 0, dx, dy);

		while(it.hasNext()){

			tmp=it.next();

			g.drawOval((int)(nodes.get(tmp)[0] * dx),(int)(nodes.get(tmp)[1] * dy), 5, 5);

		}

	}

questo mette in evidenza un nodo e il rispettivo clone, disegnandoli più grandi

public void setCloneId(Integer id){

		Iterator it = nodes.keySet().iterator();

		int dy = getSize().height,

		    dx = getSize().width;

		Node tmp;

		g.clearRect(0, 0, dx, dy);

		while(it.hasNext()){

			tmp=it.next();

			if(tmp.getId_().equals(id)){

				g.drawOval((int)(nodes.get(tmp)[0] * dx),(int)(nodes.get(tmp)[1] * dy), 30, 30);

				

			}

			

		}

solo che il resto dei cerchietti spariscono, restano solo i 2 appena disegnati :megusta:

perché?

FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
 

Mai più giorni felici


#122 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.073 Messaggi:

Inviato 02 dicembre 2011 - 16:54

W Gesù perché nel copia incolla non ho tolto il g.clearRect(0, 0, dx, dy);

vabè :megusta:

FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
 

Mai più giorni felici


#123 Guest__*

Guest__*
  • Ospiti

Inviato 02 dicembre 2011 - 16:55


g.clearRect(0, 0, dx, dy);


...solo per curiosità...mi dici cosa fa questo?...

#124 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.073 Messaggi:

Inviato 02 dicembre 2011 - 17:06


g.clearRect(0, 0, dx, dy);


...solo per curiosità...mi dici cosa fa questo?...



:megusta:

FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
 

Mai più giorni felici


#125 Guest__*

Guest__*
  • Ospiti

Inviato 02 dicembre 2011 - 17:07

@[/url]":2wfx12w7]


g.clearRect(0, 0, dx, dy);


...solo per curiosità...mi dici cosa fa questo?...



:patpat:


... :megusta: ...

#126 SuperMario=ITA=

SuperMario=ITA=

    Lo scemo del forum

  • Moderatori
  • 96.852 Messaggi:

Inviato 05 dicembre 2011 - 10:49

con eclipse c'è modo di eseguire un programma con gli inserimenti da tastiera già fatti?

cavolo per testare il programma devo sempre farmi 1 minuto di inserimento manuale di roba http://www.hwupgrade...tyle_emoticons/default/usd5kj.gif
TghXItr.gif - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita

#127 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 05 dicembre 2011 - 10:54

con eclipse c'è modo di eseguire un programma con gli inserimenti da tastiera già fatti?

cavolo per testare il programma devo sempre farmi 1 minuto di inserimento manuale di roba http://www.hwupgrade...tyle_emoticons/default/usd5kj.gif

Non puoi fare un link con i parametri al programma ?

Poi da eclipse puoi lanciare eseguibili e passare arguments.
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#128 SuperMario=ITA=

SuperMario=ITA=

    Lo scemo del forum

  • Moderatori
  • 96.852 Messaggi:

Inviato 05 dicembre 2011 - 10:58

@[/url]":wif6vm98] con eclipse c'è modo di eseguire un programma con gli inserimenti da tastiera già fatti?

cavolo per testare il programma devo sempre farmi 1 minuto di inserimento manuale di roba http://www.hwupgrade...tyle_emoticons/default/usd5kj.gif

Non puoi fare un link con i parametri al programma ?

Poi da eclipse puoi lanciare eseguibili e passare arguments.


e come? http://www.hwupgrade...tyle_emoticons/default/emot-v.png
TghXItr.gif - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita

#129 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 05 dicembre 2011 - 11:00

Su windows sai come creare un link, no ? :look:

Per eclipse controllo, è da un po' che non lo uso (ora qtcreator & CodeBlock).
Ma cosa devi eseguire ?
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#130 SuperMario=ITA=

SuperMario=ITA=

    Lo scemo del forum

  • Moderatori
  • 96.852 Messaggi:

Inviato 05 dicembre 2011 - 11:18

si ma il mio programma:

parte
mi fa una domanda: io rispondo con input da tastiera (così per taaaante domande)
sputa il risultato.

nel link posso passare le risposte che gli do?
TghXItr.gif - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita

#131 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 05 dicembre 2011 - 11:23

si ma il mio programma:

parte
mi fa una domanda: io rispondo con input da tastiera (così per taaaante domande)
sputa il risultato.

nel link posso passare le risposte che gli do?

Su linux si :look:

Pensavo intendessi i parametri al programma, non le risposte a domande.
Boh, su linux so come fare su windows no.
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#132 yorkeiser

yorkeiser

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 68.840 Messaggi:

Inviato 05 dicembre 2011 - 11:36

si ma il mio programma:

parte
mi fa una domanda: io rispondo con input da tastiera (così per taaaante domande)
sputa il risultato.

nel link posso passare le risposte che gli do?


Usa una variabile che ti abiliti il debug all'interno del codice (ad esempio da riga di comando gli passi 0=esecuzione normale, 1=debug).
Da codice, se trovi a 1 la variabile (=debug attivo) puoi utilizzare la classe Robot (googla come usarla, comunque è semplicissima) per simulare degli input via tastiera/mouse.

Il sole è giallo

Brava Giovanna, brava

E canto please don't let me be misunderstood mentre parcheggio nel parcheggio l'alfasud


#133 SuperMario=ITA=

SuperMario=ITA=

    Lo scemo del forum

  • Moderatori
  • 96.852 Messaggi:

Inviato 05 dicembre 2011 - 12:02

@[/url]":1b0q57lh] si ma il mio programma:

parte
mi fa una domanda: io rispondo con input da tastiera (così per taaaante domande)
sputa il risultato.

nel link posso passare le risposte che gli do?


Usa una variabile che ti abiliti il debug all'interno del codice (ad esempio da riga di comando gli passi 0=esecuzione normale, 1=debug).
Da codice, se trovi a 1 la variabile (=debug attivo) puoi utilizzare la classe Robot (googla come usarla, comunque è semplicissima) per simulare degli input via tastiera/mouse.



interesting.

dopo ci guardo :look:
TghXItr.gif - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita

#134 SuperMario=ITA=

SuperMario=ITA=

    Lo scemo del forum

  • Moderatori
  • 96.852 Messaggi:

Inviato 22 dicembre 2011 - 16:19

halp

allora, devo scegliere una soluzione in base a delle probabilità. Ma il numero di soglie non sono fisse. Wat do?

Spiego:

Ho, per esempio, n=5 probabilità, sommate fanno ovviamente 1. Sono le possibilità che una persona faccia qualcosa.
Ecco, questo lo implemento facendo una variabile random da 0 a 1, e facendo degli if in cui controllo se la variabile random è < della prima prob (allora scelgo la prima opzione), se è tra la prima e la seconda, e così via...

ma se il numero di soglie non è 5, ma è variabile? come posso fare? Non posso fare 5 if...
TghXItr.gif - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita

#135 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 22 dicembre 2011 - 16:43

Se ho capito bene:

old_prob = 1 



while(cond == true)

   if prob < old_prob

      do something;

      old_prob = prob;



   if prob is last_prob

      exit loop (cond = false);


Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#136 SuperMario=ITA=

SuperMario=ITA=

    Lo scemo del forum

  • Moderatori
  • 96.852 Messaggi:

Inviato 22 dicembre 2011 - 17:18

Se ho capito bene:

old_prob = 1 



while(cond == true)

   if prob < old_prob

      do something;

      old_prob = prob;



   if prob is last_prob

      exit loop (cond = false);


:patpat:

non ho capito. Perchè così?

della serie: ho 5 prob= 0.25, 0.25, 0.25, 0.125 e 0.125 ( per farla semplice). Estraggo una var random: mi da 0.32

con gli if ho definito che

if(random<0.25){

do something 1;

}

if(random>0.25 && random<0.25+0.25){

do something 2;

}

if(random>0.25+0.25 && random<0.25+0.25+0.25){

do something 3;

}

if(random>0.25+0.25+0.25 && random<0.25+0.25+0.25+0.125){

do something 4;

}

if (blablablabla){

do something 5;

}

ecco, se le condizioni non sono 5 ma sono una volta 2, l'altra 4, l'altra 7, come lo adatto?
nel tuo il primo if lo fa sempre e cmq...spiega
TghXItr.gif - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita

#137 Guest__*

Guest__*
  • Ospiti

Inviato 22 dicembre 2011 - 17:25

...non si capisce una fava :patpat:

#138 SuperMario=ITA=

SuperMario=ITA=

    Lo scemo del forum

  • Moderatori
  • 96.852 Messaggi:

Inviato 22 dicembre 2011 - 17:38

...non si capisce una fava :cereal:


come no? :patpat: :patpat:

più fottutamente chiaro di così :patpat:

devo farti il disegno? :sisi:

Immagine inserita

ecco, se i cestini non sono più 5 ma un altro numero? come posso avere un codice adatto a ogni numero di cestini?
TghXItr.gif - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita

#139 yorkeiser

yorkeiser

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 68.840 Messaggi:

Inviato 22 dicembre 2011 - 17:39

Con array (o arraylist) di probabilità:

p[0]=0.1;  //probabilità evento 1

p[1]=0.2;

p[2]=0.15;

...





int i=-1;

boolean trovato=false;

double probabilita=Math.random();

double sommaSoglie=0.0;

while (!trovato)

{

    i++;

    sommaSoglie+=p[i];

    if (probabilita<sommaSoglie)

         evento=i;

    else

        trovato=true;

}

// in uscita dal while i contiene l'evento voluto


Il sole è giallo

Brava Giovanna, brava

E canto please don't let me be misunderstood mentre parcheggio nel parcheggio l'alfasud


#140 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 22 dicembre 2011 - 17:45

@[/url]":pcg42jfp] Se ho capito bene:

old_prob = 1 



while(cond == true)

   if prob < old_prob

      do something;

      old_prob = prob;



   if prob is last_prob

      exit loop (cond = false);


:patpat:

non ho capito. Perchè così?

della serie: ho 5 prob= 0.25, 0.25, 0.25, 0.125 e 0.125 ( per farla semplice). Estraggo una var random: mi da 0.32

con gli if ho definito che

if(random<0.25){

do something 1;

}

if(random>0.25 && random<0.25+0.25){

do something 2;

}

if(random>0.25+0.25 && random<0.25+0.25+0.25){

do something 3;

}

if(random>0.25+0.25+0.25 && random<0.25+0.25+0.25+0.125){

do something 4;

}

if (blablablabla){

do something 5;

}

ecco, se le condizioni non sono 5 ma sono una volta 2, l'altra 4, l'altra 7, come lo adatto?
nel tuo il primo if lo fa sempre e cmq...spiega

Ma nel programma, anche se ci sono solo 5 fisse probabilità, mica usi costanti, vero ? :patpat:

Una cosa del genere l'avresti dovuta mettere in un ciclo dinamico da subito, anche sapendo che ci sono 5 fisse probabilità.

Usa arrays e indici.
Ti do un hint (le parentesi tonde sarebbero quadre ma sto cazzo di windows xp non capisce che tastiera ho e non me la lascia configurare :patpat: )

if(random<array(0)){

do something 1;

}

if(random>array(0) && random<array(0)+array(1)){

do something 2;

}

if(random>array(0)+array(1) && random<array(0)+array(1)+array(2)){

do something 3;

}

...

Non ci vedi niente di continuo, ergo, "ciclabile" ?
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all