Visualizzazione dei risultati da 1 a 10 su 10

Discussione: sottoprogramma

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    86

    sottoprogramma

    come creo un sottoprogramma in java? e come lo richiamo?

  2. #2
    Cosa intendi per sottoprogramma? Fai un esempio.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    86
    ora posto il codice
    codice:
    //Next
    			next.setIcon(new ImageIcon(path_progetto+"Media/next.png"));
    			next.setBounds(455, 140, 7, 14);
    			next.addMouseListener(new MouseAdapter()
    			{
    			    public void mouseClicked(MouseEvent e) 
    			    {	
    			    	pag=pag+1;
    			    	switch (pag) {
    			    	case 1:{
    			    		aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_01.png"));
    						aiuto_img1.setBounds(6, 4, 128, 96);
    						aiuto_img1.setVisible(true);
    						aiuto_testo1.setText(new String("<html>Il gioco delle carte era considerato un'attività diabolica, ma grazie all'apporto creativo del mago Orlan, divenne un gioco popolare e praticato anche fra i guerrieri. Il gioco si diffuse in tutto il mondo, le illustrazioni delle carte divennero numerose e le regole si differenziarono nei paesi diversi.</html>"));
    						aiuto_testo1.setFont(new Font("Trebuchet MS", Font.LAYOUT_LEFT_TO_RIGHT  , 13));
    						aiuto_testo1.setForeground(Color.WHITE );
    						aiuto_testo1.setBounds(140, 4, 255, 165);
    						aiuto_testo1.setVisible(true);
    					break;}
    			    	case 2:{
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_02.png"));
    						aiuto_testo1.setText(new String("<html>1.Figura
    2.Numeri
    Corrispodono ai 4 lati delle carte (10 tipi di numeri: da 1, il più debole a A, il più forte)
    3.Elementale
    Alcune regole permettono al giocatore di usare anche le proprietà elementali.</html>"));
    						prec.setVisible(true);
    					break;}
    			    	case 3:{
    			    			titolo1.setText("                            Area di gioco"); 
    							aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_03.png"));
    							aiuto_testo1.setText(new String("<html>1.Area di gioco
    Appoggiare le carte qui una per volta.
    2.Elementale
    Alcune regole presentano la proprietà elementale sulla scacchiera.<html>"));
    						break;}
    			    	case 4:{
    		    			titolo1.setText("                           Regola di base"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_04.png"));
    						aiuto_testo1.setText(new String("<html>prono le carte a turno. Quando 2 carte sono adicenti il giocatore che ha la carta col n. nell'angolo opposto alla carta avversaria più alto gira quest'ultima e la fa del proprio colore.
    Alla fine, chi accumula il numero maggiore di carte dello stesso colore vince.<html>"));
    					break;}
    			    	case 5:{
    		    			titolo1.setText("                         La propria mano"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_05.png"));
    						aiuto_testo1.setText(new String("<html>Si scelgono 5 carte prima di cominciare il gioco facendo attenzione ai numeri e alla proprietà elementale.
    
    1.Nome della carta
    2.Carte possedute
    3.Pagina lista carte
    4.Carta scelta<html>"));
    					break;}
    			    	case 6:{
    		    			titolo1.setText("                                Coppia"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_06.png"));
    						aiuto_testo1.setText(new String("<html>Coppia è la regola che permette di rovesciare le care che hanno in 2 o più punti adiacenti alla propria carta la stessa cifra.
    Nell'esempio a sinistra, sia l'1 che il 4 sono uguali ai numeri nel lato sinistro e alto della carta blu. In questo caso, allora, si possono girare le 2 carte avversarie.<html>"));
    					break;}
    			    	case 7:{
    		    			titolo1.setText("                                  Plus"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_07.png"));
    						aiuto_testo1.setText(new String("<html>Plus è la regola che permette di rovesciare le carte che hanno in 2 o più punti adiacenti alla propria carta danno la stessa somma. Come nell'esempio accanto, sia il 5 che il 3 adiacenti ai numeri della carta blu, danno la stessa somma.
    Si rovesciano, allora, entrambe le carte.<html>"));
    					break;}
    			    	case 8:{
    		    			titolo1.setText("                                 Combo"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_08.png"));
    						aiuto_testo1.setText(new String("<html>Combo è la regola che permette di consierare le carte girate con la regola Plus o Combo come nuove carte appena posizionate.
    In questo caso le 2 cart blu, anche se sono state appena girate, sono ancora in gioco. e poichè il 3 (vedi es.) è maggiore del 2 della carta rossa, verrà girata.<html>"));
    					break;}
    			    	case 9:{
    		    			titolo1.setText("                           Muro - Coppia"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_09.png"));
    						aiuto_testo1.setText(new String("<html>La regola Muro-Coppia è simile alla regola Coppia, ma assegna al Muro (bordo dell'area di gioco) il valore di una carta.
    
    Il muro ha il valore 'A'.<html>"));
    					break;}
    			    	case 10:{
    		    			titolo1.setText("                              Elementale"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_10.png"));
    						aiuto_testo1.setText(new String("<html>La regola elementale aumenta/diminuisce il valore delle carte in base alle proprietà elementali. Se l'elemento della carta è uguale a quello indicato sulla scacchiera, la carta aumenta il valore (+1); viceversa, diminuisce (-1).<html>"));
    						next.setVisible(true);
    					break;}
    			    	case 11:{
    		    			titolo1.setText("                          Altre regole"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_11.png"));
    						aiuto_testo1.setText(new String("<html>Carte scoperte:
     Si gioca con tutte le carte scoperte.
    Mano a caso:
     Le carte vengono scelte a caso
    Sudden death:
     Si gioca a ripetizione fino a quando qualcuno non vince.<html>"));
    						next.setVisible(false);
    					break;}
    			    	default:{
    			    	pag=maxpag;}	
    			    	};
    			    }
    			});
    			//prec
    				prec.setIcon(new ImageIcon(path_progetto+"Media/prev.png"));
    				prec.setBounds(20, 140, 7, 14);
    				prec.addMouseListener(new MouseAdapter()
    				{
    				    public void mouseClicked(MouseEvent e) 
    				    {
    				    	pag=pag-1;
    				    	switch (pag) {
    				    	case 1:{
    				    		aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_01.png"));
    							aiuto_img1.setBounds(6, 4, 128, 96);
    							aiuto_img1.setVisible(true);
    							aiuto_testo1.setText(new String("<html>Il gioco delle carte era considerato un'attività diabolica, ma grazie all'apporto creativo del mago Orlan, divenne un gioco popolare e praticato anche fra i guerrieri. Il gioco si diffuse in tutto il mondo, le illustrazioni delle carte divennero numerose e le regole si differenziarono nei paesi diversi.</html>"));
    							aiuto_testo1.setFont(new Font("Trebuchet MS", Font.LAYOUT_LEFT_TO_RIGHT  , 13));
    							aiuto_testo1.setForeground(Color.WHITE );
    							aiuto_testo1.setBounds(140, 4, 255, 165);
    							aiuto_testo1.setVisible(true);
    							prec.setVisible(false);
    						break;}
    				    	case 2:{
    							aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_02.png"));
    							aiuto_testo1.setText(new String("<html>1.Figura
    2.Numeri
    Corrispodono ai 4 lati delle carte (10 tipi di numeri: da 1, il più debole a A, il più forte)
    3.Elementale
    Alcune regole permettono al giocatore di usare anche le proprietà elementali.</html>"));
    							prec.setVisible(true);
    						break;}
    				    	case 3:{
    				    			titolo1.setText("                            Area di gioco"); 
    								aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_03.png"));
    								aiuto_testo1.setText(new String("<html>1.Area di gioco
    Appoggiare le carte qui una per volta.
    2.Elementale
    Alcune regole presentano la proprietà elementale sulla scacchiera.<html>"));
    							break;}
    				    	case 4:{
    			    			titolo1.setText("                           Regola di base"); 
    							aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_04.png"));
    							aiuto_testo1.setText(new String("<html>prono le carte a turno. Quando 2 carte sono adicenti il giocatore che ha la carta col n. nell'angolo opposto alla carta avversaria più alto gira quest'ultima e la fa del proprio colore.
    Alla fine, chi accumula il numero maggiore di carte dello stesso colore vince.<html>"));
    						break;}
    				    	case 5:{
    			    			titolo1.setText("                         La propria mano"); 
    							aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_05.png"));
    							aiuto_testo1.setText(new String("<html>Si scelgono 5 carte prima di cominciare il gioco facendo attenzione ai numeri e alla proprietà elementale.
    
    1.Nome della carta
    2.Carte possedute
    3.Pagina lista carte
    4.Carta scelta<html>"));
    						break;}
    				    	case 6:{
    			    			titolo1.setText("                                Coppia"); 
    							aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_06.png"));
    							aiuto_testo1.setText(new String("<html>Coppia è la regola che permette di rovesciare le care che hanno in 2 o più punti adiacenti alla propria carta la stessa cifra.
    Nell'esempio a sinistra, sia l'1 che il 4 sono uguali ai numeri nel lato sinistro e alto della carta blu. In questo caso, allora, si possono girare le 2 carte avversarie.<html>"));
    						break;}
    				    	case 7:{
    			    			titolo1.setText("                                  Plus"); 
    							aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_07.png"));
    							aiuto_testo1.setText(new String("<html>Plus è la regola che permette di rovesciare le carte che hanno in 2 o più punti adiacenti alla propria carta danno la stessa somma. Come nell'esempio accanto, sia il 5 che il 3 adiacenti ai numeri della carta blu, danno la stessa somma.
    Si rovesciano, allora, entrambe le carte.<html>"));
    						break;}
    				    	case 8:{
    			    			titolo1.setText("                                 Combo"); 
    							aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_08.png"));
    							aiuto_testo1.setText(new String("<html>Combo è la regola che permette di consierare le carte girate con la regola Plus o Combo come nuove carte appena posizionate.
    In questo caso le 2 cart blu, anche se sono state appena girate, sono ancora in gioco. e poichè il 3 (vedi es.) è maggiore del 2 della carta rossa, verrà girata.<html>"));
    						break;}
    				    	case 9:{
    			    			titolo1.setText("                           Muro - Coppia"); 
    							aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_09.png"));
    							aiuto_testo1.setText(new String("<html>La regola Muro-Coppia è simile alla regola Coppia, ma assegna al Muro (bordo dell'area di gioco) il valore di una carta.
    
    Il muro ha il valore 'A'.<html>"));
    						break;}
    				    	case 10:{
    			    			titolo1.setText("                              Elementale"); 
    							aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_10.png"));
    							aiuto_testo1.setText(new String("<html>La regola elementale aumenta/diminuisce il valore delle carte in base alle proprietà elementali. Se l'elemento della carta è uguale a quello indicato sulla scacchiera, la carta aumenta il valore (+1); viceversa, diminuisce (-1).<html>"));
    							next.setVisible(true);
    						break;}
    				    	case 11:{
    			    			titolo1.setText("                          Altre regole"); 
    							aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_11.png"));
    							aiuto_testo1.setText(new String("<html>Carte scoperte:
     Si gioca con tutte le carte scoperte.
    Mano a caso:
     Le carte vengono scelte a caso
    Sudden death:
     Si gioca a ripetizione fino a quando qualcuno non vince.<html>"));
    							next.setVisible(false);
    						break;}
    				    	default:{
    				    	pag=1;}	
    				    	};
    				    }
    				});
    come puoi vedere in next e prec sta lo switch che è uguale.. vorrei sostituirlo con un sottoprogramma(come in vb6) o macro (in assembly)

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da croccio
    [code]vorrei sostituirlo con un sottoprogramma(come in vb6) o macro (in assembly)
    Chi ti vieta di mettere quel pezzo di codice (che ora sarebbe duplicato) in un apposito metodo?
    Non capisco il dubbio ... lavori in Java ... ci sono i metodi ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    86
    scusa la mia ignoranza ma come lo creo un metodo? così??
    codice:
    public class Metodo
    {
    	public Metodo()
    	{
    		switch (pag) {
    			    	case 1:{
    			    		aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_01.png"));
    						aiuto_img1.setBounds(6, 4, 128, 96);
    						aiuto_img1.setVisible(true);
    						aiuto_testo1.setText(new String("<html>Il gioco delle carte era considerato un'attività diabolica, ma grazie all'apporto creativo del mago Orlan, divenne un gioco popolare e praticato anche fra i guerrieri. Il gioco si diffuse in tutto il mondo, le illustrazioni delle carte divennero numerose e le regole si differenziarono nei paesi diversi.</html>"));
    						aiuto_testo1.setFont(new Font("Trebuchet MS", Font.LAYOUT_LEFT_TO_RIGHT  , 13));
    						aiuto_testo1.setForeground(Color.WHITE );
    						aiuto_testo1.setBounds(140, 4, 255, 165);
    						aiuto_testo1.setVisible(true);
    					break;}
    			    	case 2:{
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_02.png"));
    						aiuto_testo1.setText(new String("<html>1.Figura
    2.Numeri
    Corrispodono ai 4 lati delle carte (10 tipi di numeri: da 1, il più debole a A, il più forte)
    3.Elementale
    Alcune regole permettono al giocatore di usare anche le proprietà elementali.</html>"));
    						prec.setVisible(true);
    					break;}
    			    	case 3:{
    			    			titolo1.setText("                            Area di gioco"); 
    							aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_03.png"));
    							aiuto_testo1.setText(new String("<html>1.Area di gioco
    Appoggiare le carte qui una per volta.
    2.Elementale
    Alcune regole presentano la proprietà elementale sulla scacchiera.<html>"));
    						break;}
    			    	case 4:{
    		    			titolo1.setText("                           Regola di base"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_04.png"));
    						aiuto_testo1.setText(new String("<html>prono le carte a turno. Quando 2 carte sono adicenti il giocatore che ha la carta col n. nell'angolo opposto alla carta avversaria più alto gira quest'ultima e la fa del proprio colore.
    Alla fine, chi accumula il numero maggiore di carte dello stesso colore vince.<html>"));
    					break;}
    			    	case 5:{
    		    			titolo1.setText("                         La propria mano"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_05.png"));
    						aiuto_testo1.setText(new String("<html>Si scelgono 5 carte prima di cominciare il gioco facendo attenzione ai numeri e alla proprietà elementale.
    
    1.Nome della carta
    2.Carte possedute
    3.Pagina lista carte
    4.Carta scelta<html>"));
    					break;}
    			    	case 6:{
    		    			titolo1.setText("                                Coppia"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_06.png"));
    						aiuto_testo1.setText(new String("<html>Coppia è la regola che permette di rovesciare le care che hanno in 2 o più punti adiacenti alla propria carta la stessa cifra.
    Nell'esempio a sinistra, sia l'1 che il 4 sono uguali ai numeri nel lato sinistro e alto della carta blu. In questo caso, allora, si possono girare le 2 carte avversarie.<html>"));
    					break;}
    			    	case 7:{
    		    			titolo1.setText("                                  Plus"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_07.png"));
    						aiuto_testo1.setText(new String("<html>Plus è la regola che permette di rovesciare le carte che hanno in 2 o più punti adiacenti alla propria carta danno la stessa somma. Come nell'esempio accanto, sia il 5 che il 3 adiacenti ai numeri della carta blu, danno la stessa somma.
    Si rovesciano, allora, entrambe le carte.<html>"));
    					break;}
    			    	case 8:{
    		    			titolo1.setText("                                 Combo"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_08.png"));
    						aiuto_testo1.setText(new String("<html>Combo è la regola che permette di consierare le carte girate con la regola Plus o Combo come nuove carte appena posizionate.
    In questo caso le 2 cart blu, anche se sono state appena girate, sono ancora in gioco. e poichè il 3 (vedi es.) è maggiore del 2 della carta rossa, verrà girata.<html>"));
    					break;}
    			    	case 9:{
    		    			titolo1.setText("                           Muro - Coppia"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_09.png"));
    						aiuto_testo1.setText(new String("<html>La regola Muro-Coppia è simile alla regola Coppia, ma assegna al Muro (bordo dell'area di gioco) il valore di una carta.
    
    Il muro ha il valore 'A'.<html>"));
    					break;}
    			    	case 10:{
    		    			titolo1.setText("                              Elementale"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_10.png"));
    						aiuto_testo1.setText(new String("<html>La regola elementale aumenta/diminuisce il valore delle carte in base alle proprietà elementali. Se l'elemento della carta è uguale a quello indicato sulla scacchiera, la carta aumenta il valore (+1); viceversa, diminuisce (-1).<html>"));
    						next.setVisible(true);
    					break;}
    			    	case 11:{
    		    			titolo1.setText("                          Altre regole"); 
    						aiuto_img1.setIcon(new ImageIcon(path_progetto+"Media/help/help_11.png"));
    						aiuto_testo1.setText(new String("<html>Carte scoperte:
     Si gioca con tutte le carte scoperte.
    Mano a caso:
     Le carte vengono scelte a caso
    Sudden death:
     Si gioca a ripetizione fino a quando qualcuno non vince.<html>"));
    						next.setVisible(false);
    					break;}
    			    	default:{
    			    	pag=maxpag;}	
    			    	};
    
    	}
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    86
    scusa ma sono abituato al vb6 e non hodimestichezza con il java =(

  7. #7
    Originariamente inviato da croccio
    scusa ma sono abituato al vb6 e non hodimestichezza con il java =(
    Ma non e' un fatto di Java o non Java...

    Comunque, il metodo puo' benissimo stare nella stessa classe in cui hai definito il tuo mouse listener. Ed ammesso che aiuto e prec/next siano variabili di istanza puoi ad esempio fare un metodo cosi':

    codice:
    private void doSwitch (int pag) /*magari con un nome + significativo*/
    {
        switch (pag) {
            case 1: //le parentesi non servono
                //...
            case 2:
                //...
        }
    }
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    86
    grazie 1000!

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    86
    da errore a void

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da croccio
    da errore a void
    Cerca di precisare sempre il problema: ciò che hai scritto non ha alcun senso. Aiuta gli altri a capire se vuoi essere aiutato.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2025 vBulletin Solutions, Inc. All rights reserved.