Richtiger Programmierstil ?

ehlr

Aktives Mitglied
Hallöchen.
Ich bin Anfänger, habe aber schon einige Programme geschrieben.
Nun stellt sich für mich die Frage, ob ich auch wirklich "richtig" programmiere, also mit einem nahe zu normalen Programmierstil.

Hier ist ein Programm von mir (Schere-Stein-Papier) :

tester.java
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;

public class tester extends JFrame {

	int playerchoose = 0;
	int pcchoose = 0;
	static int wins = 0;
	static int loses = 0;
	static int score = 0;
	
	private static final long serialVersionUID = 689925824694774327L;

	public static void main(String[] args) {
		tester gui = new tester(); //objekt von gui wird erzeugt
		gui.setVisible(true); //Frame wird visible
		gui.setBounds(750,100,360,375); //Größe setzen
		gui.setTitle("Stein-Schere-Papier"); //Titel geben
		gui.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); //Prozess beenden, wenn X
		gui.setResizable( false ); //Nicht vergrößerbar
   	}//ende main method

	JLabel lblchoosen, lbltext1, lblpcchoosen;
	JLabel lbltext2;
	JLabel lblregel;
	JLabel lbltext3, lblwins, lblloses, lblscore;
	static JLabel lblgewinner;
	JButton button_stein, button_schere, button_papier;
	
	
	public tester() {
	  this.getContentPane().setLayout(null); 
	  this.initWindow();
	}//ende public gui
	
	protected void initWindow() {

	  button_stein = new JButton("Stein");
	  button_schere = new JButton("Schere");
	  button_papier = new JButton("Papier");
	  lblchoosen = new JLabel("Bereit");
	  lbltext1 = new JLabel("Ausgewählt :");
	  lblpcchoosen = new JLabel("Bereit");
	  lbltext2 = new JLabel("PC wählt :");
	  lblregel = new JLabel("<HTML><BODY>Schere schlägt Papier, Papier schlägt Stein,<BR>Stein schlägt Schere<BR><BR>Gewonnen : 10 Punkte<BR>Verloren : -8 Punkte<BR>Unentschieden : 2 Punkte</BODY></HTML>");
	  lbltext3 = new JLabel("Gewinner :");
	  lblgewinner = new JLabel("Noch nichts gewählt!");
	  lblwins = new JLabel("Gewonnen : 0");
	  lblloses = new JLabel("Verloren : 0");
	  lblscore = new JLabel("Punktestand : 0");
	  
	  
	  button_stein.setBounds(10,150,100,25);
	  button_schere.setBounds(120,150,100,25);
	  button_papier.setBounds(230,150,100,25);
	  lblchoosen.setBounds(100,195,150,25);
	  lbltext1.setBounds(10,195,100,25);
	  lblpcchoosen.setBounds(100,210,150,25);
	  lbltext2.setBounds(10,210,100,25);
	  lblregel.setBounds(10,10,300,100);
	  lbltext3.setBounds(10,250,90,25);
	  lblgewinner.setBounds(100,250,150,25);
	  lblwins.setBounds(10,295,100,25);
	  lblloses.setBounds(130,295,100,25);
	  lblscore.setBounds(10,315,150,25);
	  
	  	 
	  this.getContentPane().add(button_stein);
	  this.getContentPane().add(button_schere);
	  this.getContentPane().add(button_papier);
	  this.getContentPane().add(lblchoosen);
	  this.getContentPane().add(lbltext1);
	  this.getContentPane().add(lblpcchoosen);
	  this.getContentPane().add(lbltext2);
	  this.getContentPane().add(lblregel);
	  this.getContentPane().add(lbltext3);
	  this.getContentPane().add(lblgewinner);
	  this.getContentPane().add(lblwins);
	  this.getContentPane().add(lblloses);
	  this.getContentPane().add(lblscore);
		 
	  this.pack();
	  
	  button_stein.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent arg0) {	
				
				game game = new game();
				
				// Player nimmt Stein (1)
				int playerchoose = 1;
				
				// Zug des PCs ermitteln
				int pcchoose = (int)((Math.random()) * 3 + 1); 
				
				// Zahl in Stein,Schere oder Papier wandeln
				String ausgabe_player = game.wahl(playerchoose) ;
				String ausgabe_pc = game.wahl(pcchoose);
				
				// ausgewählte anzeigen
				lblchoosen.setText(ausgabe_player);
				lblpcchoosen.setText(ausgabe_pc);
				
				// Gewinner ermitteln
				String gewinner = game.prüfe(playerchoose, pcchoose); 
				lblgewinner.setText(gewinner);
				
				// Score 
				lblwins.setText("Gewonnen : " + wins);
				lblloses.setText("Verloren : " + loses);
				lblscore.setText("Punktestand : " + score);
				
			}

			
			
	  });//ende actionlistener		
	  
	  button_schere.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent arg0) {	
				
                game game = new game();
				
				// Player nimmt Papier (2)
				int playerchoose = 2;
				
				// Zug des PCs ermitteln
				int pcchoose = (int)((Math.random()) * 3 + 1); 
				
				// Zahl in Stein,Schere oder Papier wandeln
				String ausgabe_player = game.wahl(playerchoose) ;
				String ausgabe_pc = game.wahl(pcchoose);
				
				// ausgewählte anzeigen
				lblchoosen.setText(ausgabe_player);
				lblpcchoosen.setText(ausgabe_pc);
				
				// Gewinner ermitteln
				String gewinner = game.prüfe(playerchoose, pcchoose); 
				lblgewinner.setText(gewinner);
				
				// Score 
				lblwins.setText("Gewonnen : " + wins);
				lblloses.setText("Verloren : " + loses);
				lblscore.setText("Punktestand : " + score);
				
			}
			
	  });//ende actionlistener		
	  
	  button_papier.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent arg0) {	
				
                game game = new game();
				
				// Player nimmt Schere (3)
				int playerchoose = 3;
				
				// Zug des PCs ermitteln
				int pcchoose = (int)((Math.random()) * 3 + 1); 
				
				// Zahl in Stein,Schere oder Papier wandeln
				String ausgabe_player = game.wahl(playerchoose) ;
				String ausgabe_pc = game.wahl(pcchoose);
				
				// ausgewählte anzeigen
				lblchoosen.setText(ausgabe_player);
				lblpcchoosen.setText(ausgabe_pc);
				
				// Gewinner ermitteln
				String gewinner = game.prüfe(playerchoose, pcchoose); 
				lblgewinner.setText(gewinner);
				
				// Score 
				lblwins.setText("Gewonnen : " + wins);
				lblloses.setText("Verloren : " + loses);
				lblscore.setText("Punktestand : " + score);
				
			}
			
	  });//ende actionlistener		
		
	}//ende initwindow
	
	
}//ende class gui


game.java
Java:
import java.awt.Color;


public class game {
 
    
    public String wahl(int a) {
         
        String ausgabe = null;
        
        // 1 -> Stein
        if (a == 1) {
             ausgabe  = "Stein";
        }
        
        // 2 -> Schere
        if (a == 2) {
            ausgabe = "Schere";
        }
        
        // 3 -> Papier
        if (a == 3) {
            ausgabe = "Papier";
        }
            
 
        return ausgabe;
    }// ende methode
    
    
    
    public String prüfe(int a, int b) {
    	
    	String ausgabe = null;
   
    	if(a == 1 & b == 1) {
    		ausgabe = "Unentschieden!";
    		tester.lblgewinner.setForeground(new Color(0,0,0));
    		tester.score = tester.score + 2;
    	}
    	
    	if(a == 1 & b == 2) {
    		ausgabe = "Du gewinnst!";
    		tester.lblgewinner.setForeground(new Color(0,255,0));
    		tester.wins++;
    		tester.score = tester.score + 10;
    	}
    	
    	if(a == 1 & b == 3) {
    		ausgabe = "Du verlierst!";
    		tester.lblgewinner.setForeground(new Color(255,0,0));
    		tester.loses++;
    		tester.score = tester.score  -8;
    	}
    	
    	if(a == 2 & b == 1) {
    		ausgabe = "Du verlierst!";
    		tester.lblgewinner.setForeground(new Color(255,0,0));
    		tester.loses++;
    		tester.score = tester.score  -8;
    	}
    	
    	if(a == 2 & b == 3) {
    		ausgabe = "Du gewinnst!";
    		tester.lblgewinner.setForeground(new Color(0,255,0));
    		tester.wins++;
    		tester.score = tester.score + 10;
    	}
    	
    	if(a == 2 & b == 2) {
    		ausgabe = "Unentschieden!";
    		tester.lblgewinner.setForeground(new Color(0,0,0));
    		tester.score = tester.score + 2;
    	}
    	
    	if(a == 3 & b == 1) {
    		ausgabe = "Du gewinnst!";
    		tester.lblgewinner.setForeground(new Color(0,255,0));
    		tester.wins++;
    		tester.score = tester.score + 10;
    	}
    	
    	if(a == 3 & b == 2) {
    		ausgabe = "Du verlierst!";
    		tester.lblgewinner.setForeground(new Color(255,0,0));
    		tester.loses++;
    		tester.score = tester.score - 8;
    	}
    	
    	if(a == 3 & b == 3) {
    		ausgabe = "Unentschieden!";
    		tester.lblgewinner.setForeground(new Color(0,0,0));
    		tester.score = tester.score + 2;
    	}
    	
    	
    	
    	return ausgabe;
    }// ende methode
    
}// ende class


Was sollte ich am besten anders machen?


Besten Dank!

lg ehlr
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
tun3d Packet trotz richtiger Addressierung nicht auffindbar? Java Basics - Anfänger-Themen 10
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
P Problem mit richtiger Formatierung :( Java Basics - Anfänger-Themen 1
F Richtiger Start in Java? Java Basics - Anfänger-Themen 2
G [Hibernate] Richtiger ColumnType Java Basics - Anfänger-Themen 2
E Drei zahlen sortieren und in richtiger Reihenfolde ausgeben. Java Basics - Anfänger-Themen 15
frau-u Probleme mit richtiger Verwendung von FileInputStream Java Basics - Anfänger-Themen 2
Avalon Programmierstil beim Mocken Java Basics - Anfänger-Themen 45
S Zugriff auf protected Fields = guter Programmierstil? Java Basics - Anfänger-Themen 11
K Sauberer Programmierstil? Java Basics - Anfänger-Themen 3
M Best Practice Programmierstil Graphen-A*-Suche Java Basics - Anfänger-Themen 5
F Erste Schritte Frage zum Programmierstil Java Basics - Anfänger-Themen 11
A OOP Fragen zu Programmierstil Java Basics - Anfänger-Themen 18
I Programmierstil Java Basics - Anfänger-Themen 64
M Sind ternäre Operatoren für einen guten Programmierstil wichtig ? Java Basics - Anfänger-Themen 10
M Programmierstil Java Basics - Anfänger-Themen 14
B Frage zu Programmierstil: sollte Hauptklasse nur main enthalten? Java Basics - Anfänger-Themen 6
G Guter Programmierstil? Java Basics - Anfänger-Themen 8
G Guter Programmierstil? Java Basics - Anfänger-Themen 4
D Programmierstil - Bei Vererbung welchen Typ benutzen? Java Basics - Anfänger-Themen 8
Bernasconi Programmierstil / Wann eine neue Datei? Java Basics - Anfänger-Themen 5
K guter Programmierstil Java Basics - Anfänger-Themen 3
C Programmierstil und OOP Java Basics - Anfänger-Themen 7
M Programmierstil Java Basics - Anfänger-Themen 17
D Programmierstil Java Basics - Anfänger-Themen 6

Ähnliche Java Themen


Oben