Projektarbete Programmering A (i java, lite hjälp/idéer)
Hejsan Sweclokers!
Nu börjar terminen ta slut och jag har gjort ett dåligt projektarbete i PrA. Det är ett program för körkortsteori. Med 1 fråga och 3 alternativ som tillslut sammanfattar hur det gått. Jag funderar på om det finns något simpelt sätt att få arbetet att vara bättre. T.ex. som att det blandar frågornas ordning. Även då alternativs platserna och liknande. Eller någonting annat som är lite coolt. Vad har ni för idéer som ni kan slänga ihop lite simpelt eller förklara hur jag ska göra så det inte tar mer än 1h att applicera på allt i koden.
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import sun.audio.*;
import javax.swing.*;
import javax.swing.JButton;
import java.io.*;
public class projekt_stort extends Applet implements ActionListener{
Image[] bild=new Image[57];
Image visad_bild;
Button knapp1, knapp2, knapp3;
Font f1 = new Font("Helvetica", Font.BOLD+Font.ITALIC,20);
String[] rättsvar=new String [57];
String[] svaralt1=new String [57];
String[] svaralt2=new String [57];
String[] svaralt3=new String [57];
Label svar1;
Label svar2;
Label svar3;
int i=0;
int antalrätt=0;
private AudioClip alt1_2,alt3,alt4,peng;
@SuppressWarnings("deprecation")
public void init(){
alt1_2 = getAudioClip (getCodeBase (), "sounds/gj.wav");
alt3 = getAudioClip (getCodeBase(), "sounds/alternativ1.2.wav");
alt4 = getAudioClip (getCodeBase(), "sounds/dubstep.wav");
peng = getAudioClip (getCodeBase(), "sounds/peng.wav");
knapp1=new Button ("1");
knapp2=new Button ("2");
knapp3=new Button ("3");
setLayout (null);
knapp1.reshape(300, 50, 25, 25);
knapp2.reshape(300, 100, 25, 25);
knapp3.reshape(300, 150, 25, 25);
svar1=new Label ("");
svar2=new Label ("");
svar3=new Label ("");
this.add(svar1);
this.add(svar2);
this.add(svar3);
knapp1.addActionListener(this);
knapp2.addActionListener(this);
knapp3.addActionListener(this);
this.add(knapp1);
this.add(knapp2);
this.add(knapp3);
bild[0]=getImage(getCodeBase(),"7883-3.jpg");
bild[1]=getImage(getCodeBase(),"stoppskylt.png");
bild[2]=getImage(getCodeBase(),"2147073093.jpg");
bild[3]=getImage(getCodeBase(),"gupp.png");
bild[4]=getImage(getCodeBase(),"index.jpeg");
bild[5]=getImage(getCodeBase(),"A1-1.jpg");
bild[6]=getImage(getCodeBase(),"A10-1.jpg");
bild[7]=getImage(getCodeBase(),"A11-1.jpg");
bild[8]=getImage(getCodeBase(),"A12-2.jpg");
bild[9]=getImage(getCodeBase(),"A13-1.jpg");
bild[10]=getImage(getCodeBase(),"A14-1.jpg");
bild[11]=getImage(getCodeBase(),"A15-1.jpg");
bild[12]=getImage(getCodeBase(),"A16-1.jpg");
bild[13]=getImage(getCodeBase(),"A17-1.jpg");
bild[14]=getImage(getCodeBase(),"A18-1.jpg");
bild[15]=getImage(getCodeBase(),"A19-1.jpg");
bild[16]=getImage(getCodeBase(),"A2-1.jpg");
bild[17]=getImage(getCodeBase(),"A20-1.jpg");
bild[18]=getImage(getCodeBase(),"A21.jpg");
bild[19]=getImage(getCodeBase(),"A22-1.jpg");
bild[20]=getImage(getCodeBase(),"A23-1.jpg");
bild[21]=getImage(getCodeBase(),"A24-1.jpg");
bild[22]=getImage(getCodeBase(),"A25.jpg");
bild[23]=getImage(getCodeBase(),"A26-1.jpg");
bild[24]=getImage(getCodeBase(),"A27-1.jpg");
bild[25]=getImage(getCodeBase(),"A28.jpg");
bild[26]=getImage(getCodeBase(),"A29-1.jpg");
bild[27]=getImage(getCodeBase(),"A3-1.jpg");
bild[28]=getImage(getCodeBase(),"A30-1.jpg");
bild[29]=getImage(getCodeBase(),"A33-1.jpg");
bild[30]=getImage(getCodeBase(),"A34-1.jpg");
bild[31]=getImage(getCodeBase(),"A35-1.jpg");
bild[32]=getImage(getCodeBase(),"A36-1.jpg");
bild[33]=getImage(getCodeBase(),"A37-1.jpg");
bild[34]=getImage(getCodeBase(),"A4-1.jpg");
bild[35]=getImage(getCodeBase(),"A40-1.jpg");
bild[36]=getImage(getCodeBase(),"A5-1.jpg");
bild[37]=getImage(getCodeBase(),"A6-1.jpg");
bild[38]=getImage(getCodeBase(),"A7.jpg");
bild[39]=getImage(getCodeBase(),"A8-1.jpg");
bild[40]=getImage(getCodeBase(),"A9-1.jpg");
bild[41]=getImage(getCodeBase(),"B1-1.jpg");
bild[42]=getImage(getCodeBase(),"B2-1.jpg");
bild[43]=getImage(getCodeBase(),"B3-1.jpg");
bild[44]=getImage(getCodeBase(),"B4-1.jpg");
bild[45]=getImage(getCodeBase(),"B5-1.jpg");
bild[46]=getImage(getCodeBase(),"B6-1.jpg");
bild[47]=getImage(getCodeBase(),"B7-1.jpg");
bild[48]=getImage(getCodeBase(),"D1-1.jpg");
bild[49]=getImage(getCodeBase(),"D10-1.jpg");
bild[50]=getImage(getCodeBase(),"D11-1.jpg");
bild[51]=getImage(getCodeBase(),"D2-1.jpg");
bild[52]=getImage(getCodeBase(),"D3-1.jpg");
bild[53]=getImage(getCodeBase(),"D4-1.jpg");
bild[54]=getImage(getCodeBase(),"D5-1.jpg");
bild[55]=getImage(getCodeBase(),"D8-1.jpg");
bild[56]=getImage(getCodeBase(),"D9-1.jpg");
svaralt1[0]="Lämna företräde";
svaralt1[1]="Du måste stanna och vänta på vidare instruktioner";
svaralt1[2]="Förbud för sågar";
svaralt1[3]="Varning för stensras";
svaralt1[4]="Varning för gående";
svaralt1[5]="Lämna företräde";
svaralt1[6]="Varning för slirig väg";
svaralt1[7]="Varning för stenskott";
svaralt1[8]="Varning för stenras";
svaralt1[9]="Varning för övergångsställe";
svaralt1[10]="Varning för springande";
svaralt1[11]="Varning för äldre";
svaralt1[12]="Varning för cyklister och mopedförare";
svaralt1[13]="Varning för norrmän";
svaralt1[14]="Varning för kvinnor";
svaralt1[15]="Varning för åttafotingar";
svaralt1[16]="Varning för dåligt skrivna S";
svaralt1[17]="Varning för vägarbete";
svaralt1[18]="Upplysning: Vägarbetarna dog";
svaralt1[19]="Varning för fina barnteckningar";
svaralt1[20]="Varning för lågt flygande flygplan";
svaralt1[21]="Varning för konformade konstverk";
svaralt1[22]="Varning för mötande trafik";
svaralt1[23]="Varning för övergång till den andra sidan";
svaralt1[24]="Varning för svag vägkant";
svaralt1[25]="Varning för sjukhus";
svaralt1[26]="Varning för att folk inte lämnar företräde här";
svaralt1[27]="Varning för skidbacke";
svaralt1[28]="Varning för dåligt formade Ohm-tecken";
svaralt1[29]="Varning för terrängskotertrafik";
svaralt1[30]="Varning för lite personal";
svaralt1[31]="Varning för fordon som ignorerar högerregeln";
svaralt1[32]="Varning för järnvägskorsning utan bommar";
svaralt1[33]="Varning för tågmuseéum";
svaralt1[34]="Varning för loop";
svaralt1[35]="Varning för dig själv";
svaralt1[36]="Varning för avsmalnande väg";
svaralt1[37]="Varning för Indiana Jones bro.";
svaralt1[38]="Varning för kaj";
svaralt1[39]="Varning för ojämn väg";
svaralt1[40]="Varning för farthinder";
svaralt1[41]="Väjningsplikt";
svaralt1[42]="Du har företräde";
svaralt1[43]="Du ska inte bromsa";
svaralt1[44]="Du skall lämna företräde";
svaralt1[45]="Du kör på huvudled";
svaralt1[46]="Du skall följa högerregeln";
svaralt1[47]="Du skall lämna företräde till alla";
svaralt1[48]="Förbjuden körriktning";
svaralt1[49]="Påbjudet körfält eller körbana för fordon i linjetrafik";
svaralt1[50]="Start på körfält";
svaralt1[51]="Påbjuden körbana";
svaralt1[52]="Varning för utomjordiska frisbees";
svaralt1[53]="Varning för motorcyklister";
svaralt1[54]="Varning för Jason";
svaralt1[55]="Påbjuden led endast för män";
svaralt1[56]="Påbjuden led för terrängmotorfordon och terrängsläp";
svaralt2[0]="Du har företräde";
svaralt2[1]="De andra har stopplikt";
svaralt2[2]="Förbud för dubbdäck";
svaralt2[3]="Hål";
svaralt2[4]="Varning för cirkus";
svaralt2[5]="Varning för farlig kurva";
svaralt2[6]="Varning för driftare";
svaralt2[7]="Varning för flygande chilenare";
svaralt2[8]="Varning för en rasande Sten-Håkan";
svaralt2[9]="Varning för britter";
svaralt2[10]="Varning för gående";
svaralt2[11]="Varning för generation X";
svaralt2[12]="Varning för folk med stödhjul";
svaralt2[13]="Varning för skidåkare";
svaralt2[14]="Förbud för ridande";
svaralt2[15]="Varning för djur";
svaralt2[16]="Förbud för vänstersväng";
svaralt2[17]="Varning för lekande barn";
svaralt2[18]="Slut på sträcka med vägarbete";
svaralt2[19]="Varning för brandutryckning";
svaralt2[20]="Varning för modellflygsklubben";
svaralt2[21]="Varning för flygplan";
svaralt2[22]="Varning för mötande cyklister";
svaralt2[23]="Varning för genomgång";
svaralt2[24]="Varning för oförberedd offroadåkning";
svaralt2[25]="Varning för vägkorsning";
svaralt2[26]="Förbud för vägkorsning";
svaralt2[27]="Förbud för lutning";
svaralt2[28]="Påbjuden trafik";
svaralt2[29]="Varning för terräng";
svaralt2[30]="Varning för bilar som kör suspekt";
svaralt2[31]="Varning för modelljärnvägar";
svaralt2[32]="Varning för modelljärnvägar med bommar";
svaralt2[33]="Påbjuden korsning";
svaralt2[34]="Varning för stigning";
svaralt2[35]="Varning för den stenen";
svaralt2[36]="Varning för bredare väg";
svaralt2[37]="Varning för övergång";
svaralt2[38]="Varning för Klang";
svaralt2[39]="Varning för obekvämt underlag i tältet";
svaralt2[40]="Varning för farhindrade";
svaralt2[41]="Snedställda hjul";
svaralt2[42]="Varning för stopplikt";
svaralt2[43]="Övergångsställe";
svaralt2[44]="Varierande huvudled";
svaralt2[45]="Huvudled upphör";
svaralt2[46]="Väjningsplikt mot rådjur";
svaralt2[47]="Mötande trafik har väjningsplikt";
svaralt2[48]="Förbjudet påbudsmärke";
svaralt2[49]="Förbjudet fordon i linjetrafik";
svaralt2[50]="Nytt körfält";
svaralt2[51]="Förbjudet körfält";
svaralt2[52]="Plats att artikulera på";
svaralt2[53]="Påbjuden cykelbana";
svaralt2[54]="Förbjuden plats för bilar vars registreringsnummer börjar på 9";
svaralt2[55]="Påbjuden ridväg";
svaralt2[56]="Förbjudet att upphäva gravitationen";
svaralt3[0]="Högerregeln gäller";
svaralt3[1]="Stoppskylt";
svaralt3[2]="Förbud för isracingcyklar";
svaralt3[3]="Farthinder";
svaralt3[4]="Varning för ryttare";
svaralt3[5]="Varning för vägkorsning";
svaralt3[6]="Varning för avsmalnande väg";
svaralt3[7]="Varning för bro";
svaralt3[8]="Påbjuden körriktning";
svaralt3[9]="åbjudet körfält eller körbana för fordon i linjetrafik";
svaralt3[10]="Stoppskylt";
svaralt3[11]="Varning för barn";
svaralt3[12]="Varning för mötande trafik";
svaralt3[13]="Farthinder";
svaralt3[14]="Varning för ridande";
svaralt3[15]="Varning för farlig kurva";
svaralt3[16]="Varning för flera farliga kurvor";
svaralt3[17]="Varning för nedförslutning";
svaralt3[18]="Varning för att svara fel";
svaralt3[19]="Varning för flervägssignal";
svaralt3[20]="Varning för stoppskyltar på vägbanan";
svaralt3[21]="Varning för sidvind (från höger)";
svaralt3[22]="Varning för cyklande mopedförare";
svaralt3[23]="Varning för tunnel";
svaralt3[24]="Huvudledstecken";
svaralt3[25]="Påbjuden golfbana";
svaralt3[26]="Varning för vägkorsning där de på anslutande väg har väjningsplikt eller stopplikt";
svaralt3[27]="Varning för nedförslutning";
svaralt3[28]="Varning för cirkulationsplats";
svaralt3[29]="Förbjuden trafik";
svaralt3[30]="Varning för kö";
svaralt3[31]="Varning för järnvägskorsningar med bommar";
svaralt3[32]="Förbud för kamelfrakt";
svaralt3[33]="Varning för korsning med spårfordon (utan bommar)";
svaralt3[34]="Varning för bergstoppar och ermiter";
svaralt3[35]="Varning för annan fara";
svaralt3[36]="Varning för horisont";
svaralt3[37]="Varning för bro";
svaralt3[38]="Varning för otillräckliga fysikbetyg";
svaralt3[39]="Varning för lik på körfältet";
svaralt3[40]="Varning för farthindrade";
svaralt3[41]="Välj ej";
svaralt3[42]="Stopplikt";
svaralt3[43]="Ställe för mentala övergångar från ett stadie till ett annat i livet";
svaralt3[44]="Huvudled";
svaralt3[45]="Varning för kaj";
svaralt3[46]="Väjningsplikt mot mötande trafik";
svaralt3[47]="Förbjuden gångbana";
svaralt3[48]="Påbjuden körriktning";
svaralt3[49]="Suspekta alternativ";
svaralt3[50]="Slut på påbjuden bana, körfält, väg eller led";
svaralt3[51]="Påbjuden middag av svärfar";
svaralt3[52]="Cirkulationsplats";
svaralt3[53]="Upplysning: Cyklister med hjälm";
svaralt3[54]="Påbjuden gångbana";
svaralt3[55]="Mysigt ställe att spendera med flickvänn/pojkvänn";
svaralt3[56]="Förbjudet att utföra motorsporter i detta område";
rättsvar[0]="Lämna företräde";
rättsvar[1]="Stoppskylt";
rättsvar[2]="Förbud för dubbdäck";
rättsvar[3]="Farthinder";
rättsvar[4]="Varning för gående";
rättsvar[5]="Varning för farlig kurva";
rättsvar[6]="Varning för slirig väg";
rättsvar[7]="Varning för stenskott";
rättsvar[8]="Varning för stenras";
rättsvar[9]="Varning för övergångsställe";
rättsvar[10]="Varning för gående";
rättsvar[11]="Varning för barn";
rättsvar[12]="Varning för cyklister och mopedförare";
rättsvar[13]="Varning för skidåkare";
rättsvar[14]="Varning för ridande";
rättsvar[15]="Varning för djur";
rättsvar[16]="Varning för flera farliga kurvor";
rättsvar[17]="Varning för vägarbete";
rättsvar[18]="Slut på sträcka med vägarbete";
rättsvar[19]="Varning för flervägssignal";
rättsvar[20]="Varning för lågt flygande flygplan";
rättsvar[21]="Varning för sidvind (från höger)";
rättsvar[22]="Varning för mötande trafik";
rättsvar[23]="Varning för tunnel";
rättsvar[24]="Varning för svag vägkant";
rättsvar[25]="Varning för vägkorsning";
rättsvar[26]="Varning för vägkorsning där de på anslutande väg har väjningsplikt eller stopplikt";
rättsvar[27]="Varning för nedförslutning";
rättsvar[28]="Varning för cirkulationsplats";
rättsvar[29]="Varning för terrängskotertrafik";
rättsvar[30]="Varning för kö";
rättsvar[31]="Varning för järnvägskorsningar med bommar";
rättsvar[32]="Varning för järnvägskorsning utan bommar";
rättsvar[33]="Varning för korsning med spårfordon (utan bommar)";
rättsvar[34]="Varning för stigning";
rättsvar[35]="Varning för annan fara";
rättsvar[36]="Varning för avsmalnande väg";
rättsvar[37]="Varning för bro";
rättsvar[38]="Varning för kaj";
rättsvar[39]="Varning för ojämn väg";
rättsvar[40]="Varning för farthinder";
rättsvar[41]="Väjningsplikt";
rättsvar[42]="Stopplikt";
rättsvar[43]="Övergångsställe";
rättsvar[44]="Huvudled";
rättsvar[45]="Huvudled upphör";
rättsvar[46]="Väjningsplikt mot mötande trafik";
rättsvar[47]="Mötande trafik har väjningsplikt";
rättsvar[48]="Påbjuden körriktning";
rättsvar[49]="Påbjudet körfält eller körbana för fordon i linjetrafik";
rättsvar[50]="Slut på påbjuden bana, körfält, väg eller led";
rättsvar[51]="Påbjuden körbana";
rättsvar[52]="Cirkulationsplats";
rättsvar[53]="Påbjuden cykelbana";
rättsvar[54]="Påbjuden gångbana";
rättsvar[55]="Påbjuden ridväg";
rättsvar[56]="Påbjuden led för terrängmotorfordon och terrängsläp";
this.setSize(600,300);
}
public void paint (Graphics g){
if(i<57){
g.drawImage(bild[i], 50,50,200,200,this);
int size1=svaralt1[i].length();
int size2=svaralt2[i].length();
int size3=svaralt3[i].length();
if(size1>39){
g.drawString(svaralt1[i].substring(0, 40), 350, 70);
g.drawString(svaralt1[i].substring(40), 350, 85);
}
else
g.drawString(svaralt1[i], 350, 70);
if(size2>39){
g.drawString(svaralt2[i].substring(0, 41), 350, 120);
g.drawString(svaralt2[i].substring(41), 350, 135);
}
else
g.drawString(svaralt2[i], 350, 120);
if(size3>39){
g.drawString(svaralt3[i].substring(0, 41), 350, 170);
g.drawString(svaralt3[i].substring(41), 350, 185);
}
else
g.drawString(svaralt3[i], 350, 170);
svar1.setText(svaralt1[i]);
svar2.setText(svaralt2[i]);
svar3.setText(svaralt3[i]);
}
else{
g.setFont(f1);
this.setSize(480, 270);
if (antalrätt<20){
g.drawString("Antal rätt svar var: "+ antalrätt + " av 57 möjliga.", 100, 100);
g.drawString("Du måste studera mycket mer!" , 100, 120);
g.drawString("ICKE GODKÄNT", 100,140);
this.setBackground(Color.RED);
alt1_2.loop();
}
else if(antalrätt>19 && antalrätt<42){
g.drawString("Antal rätt svar var: "+ antalrätt + " av 57 möjliga.", 100, 100);
g.drawString("Du måste studera mer!" , 100, 120);
g.drawString("ICKE GODKÄNT", 100,140);
this.setBackground(Color.RED);
alt1_2.loop();
}
else if(antalrätt>41 && antalrätt<56){
g.drawString("Antal rätt svar var: " + antalrätt + " av 57 möjliga.", 100, 100);
g.drawString("Bra gjort!" , 100, 120);
g.drawString("GODKÄNT" , 100, 140);
this.setBackground(Color.green);
alt3.loop();
}
else if(antalrätt>55){
g.drawString("Antal rätt svar var: " + antalrätt + " av 57 möjliga.", 100, 100);
g.drawString("Väldigt bra gjort!" , 100, 120);
g.drawString("GODKÄNT" , 100, 140);
this.setBackground(Color.GREEN);
alt4.loop();
}
knapp1.setVisible(false);
knapp2.setVisible(false);
knapp3.setVisible(false);
}
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==knapp1){
if(rättsvar[i].compareTo(svaralt1[i])==0){
antalrätt++;
peng.play();
}
}
else if (e.getSource()==knapp2){
if(rättsvar[i].compareTo(svaralt2[i])==0){
antalrätt++;
peng.play();
}
}
else if (e.getSource()==knapp3){
if(rättsvar[i].compareTo(svaralt3[i])==0){
antalrätt++;
peng.play();
}
}
if(i<57)
i++;
else {
visa();
}
repaint ();
}
private void visa() {
}
}
Skulle uppskatta all hjälpt stort
Utnyttja din dag, var dag.