Hallo alle miteinander,
ich bin neu ihr und bring mir grad Java bei. Ich bräuchte eure Hilfe, denn mein Code ist bissel unübersichtlich und teile unnötig ich weiß allerdings nicht wie ich ihn "verbessern kann".
Könntet ihr mir bitte helfen? also konstruktive Vorschläge und Anregungen wie man was am besten machen könnte. Mit kleinen beispiel wie es aussehen könnte
Danke im voraus.
viele grüße,
David Krenz
ich bin neu ihr und bring mir grad Java bei. Ich bräuchte eure Hilfe, denn mein Code ist bissel unübersichtlich und teile unnötig ich weiß allerdings nicht wie ich ihn "verbessern kann".
Könntet ihr mir bitte helfen? also konstruktive Vorschläge und Anregungen wie man was am besten machen könnte. Mit kleinen beispiel wie es aussehen könnte
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class frame extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JButton info;
private JButton nnew;
private JButton load;
private JButton ende;
public static void main(String[] args) {
frame frame = new frame("Menü");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,400);
frame.setLayout(null);
frame.setVisible(true);
}
public frame(String title){
super(title);
info = new JButton("Info");
info.setBounds(120, 0, 160, 50);
info.addActionListener(this);
add(info);
nnew = new JButton("Neues Spiel Starten");
nnew.setBounds(120,80,160,50);
nnew.addActionListener(this);
add(nnew);
load = new JButton("Spiel Laden");
load.setBounds(120,160,160,50);
load.addActionListener(this);
add(load);
ende = new JButton("Ende");
ende.setBounds(120,240,160,50);
ende.addActionListener(this);
add(ende);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == info){
Object[] options ={"OK"};
JOptionPane.showOptionDialog(null,"Dies ist ein Wirdschaft Simulator aber nicht viel Grafisch.\n Deswegen bitte ich dies zu berücksichtigen.\nDieses Spiel funktioniert so: \n "
+ "Sie kaufen eins der angebote der rechten seite und bekommen dafür eine entsprechende Summe Geld pro Secunde.\n Mit dem neu gewonnen Geld übereinen Zeitraum "
+ "können sie neu und bessere verdienst möglichkeiten kaufen unm ihren ertrag pro sekunde zu steigern.\n Jedoch je öfters sie ein Upgrat machen des do teurer wird es.\n"
+ "Sie können sich allerdings noch Werbungs-material kaufen das wiederum steigert ihr sekunden einkommen um eine angegebene Prozentzahl.\n"
+ "diese können aber maximal 10 pro werbematerial gekauft werden.","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
}
else if(e.getSource() == nnew){
fenster();
}
else if(e.getSource() == load){
lade_fenster();
}else if(e.getSource() == ende){
System.exit(0);
}
}
public static void fenster(){
JFrame fenster = new JFrame("Wirdschafts-Simulator");
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.setSize(1800,400);
fenster.setVisible(true);
fenster.setResizable(false);
fenster.setLocationRelativeTo(null);
fenster.add(new gui());
}
public static void lade_fenster(){
JFrame lade_fenster = new JFrame("Laden");
lade_fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
lade_fenster.setSize(500,500);
lade_fenster.setLayout(null);
lade_fenster.setVisible(true);
}
}
Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class gui extends JPanel implements ActionListener {
private static final long serialVersionUID = 1L;
public void nicht_geld(){
Object[] options ={"OK"};
JOptionPane.showOptionDialog(null,"Nicht genügend Geld","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
}
public void zu_viel(){
Object[] options ={"OK"};
JOptionPane.showOptionDialog(null,"Maximal erreicht","Informationen/Erklärung",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
}
int[] anzahl = new int[17];
double[] kosten = new double[17];
double[] steigern = new double[17];
double geld = 200;
double geld_sec = 0;
anzahl[0] = 0;
anzahl[1] = 0;
anzahl[2] = 0;
anzahl[3] = 0;
anzahl[4] = 0;
anzahl[5] = 0;
anzahl[6] = 0;
anzahl[7] = 0;
anzahl[8] = 0;
anzahl[9] = 0;
anzahl[10] = 0;
anzahl[11] = 0;
anzahl[12] = 0;
anzahl[13] = 0;
anzahl[14] = 0;
anzahl[15] = 0;
anzahl[16] = 0;
kosten[0] = 5000;
kosten[1] = 8000;
kosten[2] = 15000;
kosten[3] = 40000;
kosten[4] = 80000;
kosten[5] = 150000;
kosten[6] = 190000;
kosten[7] = 100;
kosten[8] = 500;
kosten[9] = 5600;
kosten[10] = 18000;
kosten[11] = 40000;
kosten[12] = 240000;
kosten[13] = 400000;
kosten[14] = 950000;
kosten[15] = 1200000;
kosten[16] = 1900000;
steigern[0] = 1;
steigern[1] = 1.5;
steigern[2] = 2;
steigern[3] = 3;
steigern[4] = 5;
steigern[5] = 6.5;
steigern[6] = 9;
steigern[7] = 0.50;
steigern[8] = 1;
steigern[9] = 2.5;
steigern[10] = 7.30;
steigern[11] = 19.70;
steigern[12] = 37.60;
steigern[13] = 69.75;
steigern[14] = 99.10;
steigern[15] = 130;
steigern[16] = 205.30;
private JButton plus;
private JButton plus1;
private JButton plus2;
private JButton plus3;
private JButton plus4;
private JButton plus5;
private JButton plus6;
private JButton plus7;
private JButton plus8;
private JButton plus9;
private JButton save;
private JButton plusA;
private JButton plusA1;
private JButton plusA2;
private JButton plusA3;
private JButton plusA4;
private JButton plusA5;
private JButton plusA6;
public gui(){
plus = new JButton("+");
plus.setBounds(25, 300, 100, 100);
plus.addActionListener(this);
add(plus);
plus1 = new JButton("+");
plus1.setBounds(50, 300, 100, 100);
plus1.addActionListener(this);
add(plus1);
plus2 = new JButton("+");
plus2.setBounds(75, 300, 100, 100);
plus2.addActionListener(this);
add(plus2);
plus3 = new JButton("+");
plus3.setBounds(100,300, 100, 100);
plus3.addActionListener(this);
add(plus3);
plus4 = new JButton("+");
plus4.setBounds(125, 300, 100, 100);
plus4.addActionListener(this);
add(plus4);
plus5 = new JButton("+");
plus5.setBounds(150, 300, 100, 100);
plus5.addActionListener(this);
add(plus5);
plus6 = new JButton("+");
plus6.setBounds(175, 300, 100, 100);
plus6.addActionListener(this);
add(plus6);
plus7 = new JButton("+");
plus7.setBounds(200, 300, 100, 100);
plus7.addActionListener(this);
add(plus7);
plus8 = new JButton("+");
plus8.setBounds(225, 300, 100, 100);
plus8.addActionListener(this);
add(plus8);
plus9 = new JButton("+");
plus9.setBounds(250, 300, 100, 100);
plus9.addActionListener(this);
add(plus9);
save = new JButton("Save");
save.setBounds(0,1750,100,100);
save.addActionListener(this);
add(save);
plusA = new JButton("+A");
plusA.setBounds(25, 1500, 100, 100);
plusA.addActionListener(this);
add(plusA);
plusA1 = new JButton("+A");
plusA1.setBounds(50, 1500, 100, 100);
plusA1.addActionListener(this);
add(plusA1);
plusA2 = new JButton("+A");
plusA2.setBounds(75, 1500, 100, 100);
plusA2.addActionListener(this);
add(plusA2);
plusA3 = new JButton("+A");
plusA3.setBounds(100, 1500, 100, 100);
plusA3.addActionListener(this);
add(plusA3);
plusA4 = new JButton("+A");
plusA4.setBounds(125, 1500, 100, 100);
plusA4.addActionListener(this);
add(plusA4);
plusA5 = new JButton("+A");
plusA5.setBounds(150, 1500, 100, 100);
plusA5.addActionListener(this);
add(plusA5);
plusA6 = new JButton("+A");
plusA6.setBounds(175, 1500, 100, 100);
plusA6.addActionListener(this);
add(plusA6);
}
public void paint(Graphics g){
super.paint(g);
Graphics2D fs =(Graphics2D)g;
fs.drawString("Geld = "+ geld, 400,50);
fs.drawString("Geld / sec = " + geld_sec, 500,50);
fs.drawString("Kosten: ",10,50);
fs.drawString("pro Sec: ",160,50);
fs.drawString("Upgrad: ",260,50);
fs.drawString("Zigaretten " +kosten[7],10,75);
fs.drawString(" " +steigern[7],160,75);
fs.drawString("= Zigaretten " +anzahl[0],260,75);
fs.drawString("Kaugummi "+kosten[8] ,10,100);
fs.drawString(""+steigern[8] ,160,100);
fs.drawString("= Kaugummi "+anzahl[1] ,260,100);
fs.drawString("Blumen "+kosten[9] ,10,125);
fs.drawString(""+steigern[9] ,160,125);
fs.drawString("= Blumen "+anzahl[2] ,260,125);
fs.drawString("Tante Ema "+kosten[10] ,10,150);
fs.drawString(""+steigern[10] ,160,150);
fs.drawString("= Tante Ema "+anzahl[3] ,260,150);
fs.drawString("Kaufhaus "+kosten[11] ,10,175);
fs.drawString(""+steigern[11] ,160,175);
fs.drawString("= Kaufhaus "+anzahl[4] ,260,175);
fs.drawString("Öl "+kosten[12],10,200);
fs.drawString(""+steigern[12],160,200);
fs.drawString("= Öl "+anzahl[5],260,200);
fs.drawString("Erz "+kosten[13] ,10,225);
fs.drawString(""+steigern[13] ,160,225);
fs.drawString("= Erz "+anzahl[6] ,260,225);
fs.drawString("Stahl "+kosten[14] ,10,250);
fs.drawString(""+steigern[14] ,160,250);
fs.drawString("= Stahl "+anzahl[7] ,260,250);
fs.drawString("Gold "+kosten[15] ,10,275);
fs.drawString(""+steigern[15] ,160,275);
fs.drawString("= Gold "+anzahl[8] ,260,275);
fs.drawString("Diamanten "+kosten[16],10,300);
fs.drawString(""+steigern[16],160,300);
fs.drawString("= Diamanten "+anzahl[9],260,300);
fs.drawString("Werbung/Kosten: ", 1100,50);
fs.drawString("Prozent steigerung: ", 1250,50);
fs.drawString("Upgrade: ", 1400,50);
fs.drawString("Flyer: " + kosten[0] , 1100,75);
fs.drawString("" + steigern[0] , 1300,75);
fs.drawString("= Flyer " + anzahl[10] , 1400,75);
fs.drawString("Visitenkarten: " + kosten[1] , 1100,100);
fs.drawString("" + steigern[1] , 1300,100);
fs.drawString("= Visitenkarten " + anzahl[11] , 1400,100);
fs.drawString("Plackart: " + kosten[2] , 1100,125);
fs.drawString("" + steigern[2] , 1300,125);
fs.drawString(" = Plackart " + anzahl[12] , 1400,125);
fs.drawString("Werbebanner: " + kosten[3] , 1100,150);
fs.drawString("" + steigern[3] , 1300,150);
fs.drawString("= Werbebanner " + anzahl[13] , 1400,150);
fs.drawString("Zeitung: " + kosten[4] , 1100,175);
fs.drawString("" + steigern[4] , 1300,175);
fs.drawString("= Zeitung " + anzahl[14] , 1400,175);
fs.drawString("Radio: " + kosten[5], 1100,200);
fs.drawString("" + steigern[5], 1300,200);
fs.drawString("= Radio " + anzahl[15], 1400,200);
fs.drawString("Fernsehen: " + kosten[6], 1100,225);
fs.drawString("" + steigern[6], 1300,225);
fs.drawString("= Fernsehen " + anzahl[16], 1400,225);
repaint();
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == plus){
if(geld >=kosten[7]){
anzahl[0] = +1;
geld_sec = geld_sec + steigern[7];
geld = geld - kosten[7];
kosten[7] = kosten[7] + (kosten[7] / 4);
}else{
nicht_geld();
}
}else if(e.getSource() == plus1){
if(geld >=kosten[8]){
anzahl[1] = +1;
geld_sec = geld_sec + steigern[8];
geld = geld - kosten[8];
kosten[8] = kosten[8] + (kosten[8] / 4);
}else{
nicht_geld();
}
}else if(e.getSource() == plus2){
if(geld >=kosten[9]){
anzahl[2] = +1;
geld_sec = geld_sec + steigern[9];
geld = geld - kosten[9];
kosten[9] = kosten[9] + (kosten[9] / 4);
}else{
nicht_geld();
}
}else if(e.getSource() == plus3){
if(geld >=kosten[10]){
anzahl[3] = +1;
geld_sec = geld_sec + steigern[10];
geld = geld - kosten[10];
kosten[10] = kosten[10] + (kosten[10] / 4);
}else{
nicht_geld();
}
}else if(e.getSource() == plus4){
if(geld >=kosten[11]){
anzahl[4] = +1;
geld_sec = geld_sec + steigern[11];
geld = geld - kosten[11];
kosten[11] = kosten[11] + (kosten[11] / 4);
}else{
nicht_geld();
}
}else if(e.getSource() == plus5){
if(geld >=kosten[12]){
anzahl[5] = +1;
geld_sec = geld_sec + steigern[12];
geld = geld - kosten[12];
kosten[12] = kosten[12] + (kosten[12] / 4);
}else{
nicht_geld();
}
}else if(e.getSource() == plus6){
if(geld >=kosten[13]){
anzahl[6] = +1;
geld_sec = geld_sec + steigern[13];
geld = geld - kosten[13];
kosten[13] = kosten[13] + (kosten[13] / 4);
}else{
nicht_geld();
}
}else if(e.getSource() == plus7){
if(geld >=kosten[14]){
anzahl[7] = +1;
geld_sec = geld_sec + steigern[14];
geld = geld - kosten[14];
kosten[14] = kosten[14] + (kosten[14] / 4);
}else{
nicht_geld();
}
}else if(e.getSource() == plus8){
if(geld >=kosten[15]){
anzahl[8]= +1;
geld_sec = geld_sec + steigern[15];
geld = geld - kosten[15];
kosten[15] = kosten[15] + (kosten[15] / 4);
}else{
nicht_geld();
}
}else if(e.getSource() == plus9){
if(geld >=kosten[16]){
anzahl[9] = +1;
geld_sec = geld_sec + steigern[16];
geld = geld - kosten[16];
kosten[16] = kosten[16] + (kosten[16] / 4);
}else{
nicht_geld();
}
}else if(e.getSource() == save){
save();
}else if(e.getSource() == plusA){
if(geld>= kosten[0]){
anzahl[10] = +1;
geld_sec= geld_sec + ((geld_sec/100) *steigern[0]);
geld = geld - kosten[0];
kosten[0] = kosten[0] + (kosten[0] /4);
}else if (anzahl[10] >= 10){
zu_viel();
}else{
nicht_geld();
}
}else if(e.getSource() == plusA1){
if(geld>= kosten[10]){
anzahl[11] = +1;
geld_sec= geld_sec + ((geld_sec/100) * steigern[1]);
geld = geld - kosten[1];
kosten[1] = kosten[1] + (kosten[1] /4);
}else if(anzahl[11] >= 10){
zu_viel();
}else{
nicht_geld();
}
}else if(e.getSource() == plusA2){
if(geld>= kosten[2]){
anzahl[12] = +1;
geld_sec= geld_sec + ((geld_sec/100) * steigern[2]);
geld = geld - kosten[2];
kosten[2] = kosten[2] + (kosten[2] /4);
}else if(anzahl[12] >= 10){
zu_viel();
}else{
nicht_geld();
}
}else if(e.getSource() == plusA3){
if(geld>= kosten[3]){
anzahl[13] = +1;
geld_sec= geld_sec + ((geld_sec/100) * steigern[3]);
geld = geld - kosten[3];
kosten[3] = kosten[3] + (kosten[3] /4);
}else if(anzahl[13] >= 10){
zu_viel();
}else{
nicht_geld();
}
}else if(e.getSource() == plusA4){
if(geld>= kosten[4]){
anzahl[14] = +1;
geld_sec= geld_sec + ((geld_sec/100) * steigern[4]);
geld = geld - kosten[4];
kosten[4] = kosten[4] + (kosten[4] /4);
}else if(anzahl[14] >= 10){
zu_viel();
}else{
nicht_geld();
}
}else if(e.getSource() == plusA5){
if(geld>= kosten[5]){
anzahl[15] = +1;
geld_sec= geld_sec + ((geld_sec/100) * steigern[5]);
geld = geld - kosten[5];
kosten[5] = kosten[5] + (kosten[5] /4);
}else if(anzahl[15] >= 10){
zu_viel();
}else{
nicht_geld();
}
}else if(e.getSource() == plusA6){
if(geld>= kosten[6]){
anzahl[16] = +1;
geld_sec= geld_sec + ((geld_sec/100) * steigern[6]);
geld = geld - kosten[6];
kosten[6] = kosten[6] + (kosten[6] /4);
}else if(anzahl[16] >= 10){
zu_viel();
}else{
nicht_geld();
}
}
}
public void save(){
}
}
Danke im voraus.
viele grüße,
David Krenz