Gå til innhold

Avsluttet...(ingenting som står her)


Anbefalte innlegg

Videoannonse
Annonse

Litt rotete, og et par ting som kan viskes ut, men den skal funke fint

 

Koden kan nok gjøres "bedre"

 

Tror ikke terningssimulatoren min er god, men du kan jo lage en selv.

 

Edit: Ser nå at appletet suger, siden det ikke tar hensyn til hvor mange terninger som rulles. 6 Terninger gir dårlige grafer, og 100000 terninger kan du ikke se enden på grafenen. Fix komme snart.

 

Edit: Fiksa. Ser at appletet går veldig tregt når man komme opp i 1mill terninger

 

import java.applet.Applet;
import java.awt.event.ActionListener;

import java.lang.Math;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Color;
import java.awt.*;


public class etApplet extends Applet implements ActionListener{

private JLabel antallTerninger;
private JTextField etTekstfelt;
private JButton beregn;
private int antallKast;

private int[] tabell;
private int en;
private int to;
private int tre;
private int fire;
private int fem;
private int seks;

private boolean tegneNaa;
  

   public void init() {
   	resize(400,450);
   }

   public void start() {
   	resize(400,450);
       antallTerninger = new JLabel("Antall terninger: ");
          add(antallTerninger);
         
          etTekstfelt = new JTextField("1000", 6);
          add(etTekstfelt);
          etTekstfelt.setEnabled(true);
          
          beregn = new JButton("Kast terning!");
          beregn.addActionListener(this);
          add(beregn);
   	
   /*       tabell = new int[6];
          en = 0;
          tabell[0] = en;
          to = 0;
          tabell[1] = to;
          tre = 0;
          tabell[2] = tre;
          fire = 0;
          tabell[3] = fire;
          fem = 0;
          tabell[4] = fem;
          seks = 0;
          tabell[5] = seks;
      */    
   }

   public void stop() {
       
   }

   public void destroy() {

   }

public void actionPerformed(ActionEvent e){
 String tekst = e.getActionCommand(); 
 if(tekst.equalsIgnoreCase("Kast terning!")){
 	antallKast = Integer.parseInt(etTekstfelt.getText());
 	kastTerning(antallKast);
 }//slutt if
}
   
   private void kastTerning(int antall){
   	tegneNaa = false;
   	repaint();

       en = 0;
       to = 0;
       tre = 0;
       fire = 0;
       fem = 0;
       seks = 0;
   	
   	for(int i = 0; i<antall; i++){
     int tall = (int) Math.floor(6*(Math.random()))+1;
     //System.out.println(""+tall);
     if(tall == 1){en = en +1;}
     else if(tall == 2){to = to + 1;}
     else if(tall == 3){tre = tre + 1;}
     else if(tall == 4){fire = fire + 1;}
     else if(tall == 5){fem = fem + 1;}
     else if(tall == 6){seks = seks + 1;}
     else{System.out.println("FEIL: Verdi utenfor intervallet [1,6]");}
   	}
   	/*System.out.println("En: "+en);
   	System.out.println("To: "+to);
   	System.out.println("Tre: "+tre);
   	System.out.println("Fire: "+fire);
   	System.out.println("Fem: "+fem);
   	System.out.println("Seks: "+seks);
   	System.out.println("--------");*/
   	tegneNaa = true;
   	repaint();
   }//slutt metode
 
  public void paint(Graphics g){
   	super.paint(g);
   	Graphics2D tegneting = (Graphics2D) g;
   
   	if(tegneNaa == true){
       	tegneting.setColor(Color.BLACK);
       	tegneting.setFont(new Font("Arial", Font.BOLD, 12));
     int x = 20;
     int y = 90;
       	for(int i = 0; i < 6; i++){
         tegneting.drawString("Terningkast "+(i+1),x,y);
         //tegneting.drawString("",x,y);
         y = y+55;
     }
       	tegneting.drawString("Total verdi av kast: "+(en+(to*2)+(tre*3)+(fire*4)+(fem*5)+(seks*6)),x,y+10);
       	
       	x = 110;
       	y = 90;

         tegneting.drawRect(x, y-20, (int)Math.floor((1000*en)/antallKast), 30);
         tegneting.drawString(""+en,x+10,y);
         y = y+55;
         tegneting.drawRect(x, y-20, (int)Math.floor((1000*to)/antallKast), 30);
         tegneting.drawString(""+to,x+10,y);
         y = y+55;
         tegneting.drawRect(x, y-20, (int)Math.floor((1000*tre)/antallKast), 30);
         tegneting.drawString(""+tre,x+10,y);
         y = y+55;
         tegneting.drawRect(x, y-20, (int)Math.floor((1000*fire)/antallKast), 30);
         tegneting.drawString(""+fire,x+10,y);
         y = y+55;
         tegneting.drawRect(x, y-20, (int)Math.floor((1000*fem)/antallKast), 30);
         tegneting.drawString(""+fem,x+10,y);
         y = y+55;
         tegneting.drawRect(x, y-20, (int)Math.floor((1000*seks)/antallKast), 30);
         tegneting.drawString(""+seks,x+10,y);
         y = y+55;
             	
   	}
   	if(tegneNaa == false){
     tegneting.setColor(Color.WHITE);
     tegneting.fillRect(0,40, 400, 500);
   	}
   }
   	
   
}//slutt Applet

Endret av Khayman
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...