added paint game method to take input from csv reading method and make a

jframe of buttons
gui
beratkocak 2024-12-20 13:55:22 +01:00
parent 2aaac10f48
commit cf38b86df1
1 changed files with 66 additions and 1 deletions

View File

@ -1,5 +1,70 @@
package de.hs_mannheim.informatik.pr2projekt.gui;
public class GameGUI {
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.io.FileNotFoundException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import de.hs_mannheim.informatik.pr2projekt.domain.HitoriMain;
public class GameGUI {
private static void paintGame(String[] filepath, JButton[][] buttons, String[][] colors, Stack<String> madeMoves, String[][] data){
JFrame frame = new JFrame();
int num = buttons.length;
JPanel gameGrid = new JPanel(new GridLayout(num,num,0,0));
for(int i=0;i<num;i++){
for(int j=0;j<num;j++){
JButton b = buttons[i][j];
b.setOpaque(true);
b.setContentAreaFilled(true);
b.setBorderPainted(false);
b.setFocusPainted(false);
b.setBackground(Color.WHITE);
gameGrid.add(b);
String[] pos = HitoriMain.getCords(i,j);
b.addActionListener(e -> {paintButton(b, pos, colors , madeMoves);});
}
}
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.add(gameGrid, BorderLayout.CENTER);
JPanel buttonGrid = new JPanel(new GridLayout(1,4,10,10));
JButton b0 = new JButton("Aufgeben");
b0.addActionListener(e -> {
frame.dispose();
MenuGUI.getPath(filepath);
});
JButton b1 = new JButton("Zurück");
b1.addActionListener(e -> {backOneStep(madeMoves, buttons, colors,gameGrid);});
JButton b2 = new JButton("Zurücksetzen");
b2.addActionListener(e -> {totalResetButton(buttons, colors, madeMoves, data);});
JButton b3 = new JButton("Abgeben");
String path = filepath[0];
b3.addActionListener(e -> {
try{
boolean levelFinished = HitoriMain.abgabeMöglich(path, data, colors);
if(levelFinished == true){
HitoriMain.finish(path, data, colors);
frame.dispose();
} else {
JLabel text1 = new JLabel("Abgabe nicht richtig!");
mainPanel.add(text1, BorderLayout.NORTH);
mainPanel.revalidate();
mainPanel.repaint();
}
} catch (FileNotFoundException i) {
System.out.println("File not found: " + i.getMessage());
}
});
buttonGrid.add(b0);buttonGrid.add(b1);buttonGrid.add(b2);buttonGrid.add(b3);
mainPanel.add(buttonGrid, BorderLayout.SOUTH);
mainPanel.setVisible(true);
frame.add(mainPanel);
frame.setVisible(true);
frame.setSize(600,600);
}
}