dump - CaffeineCoderz/Fungorium GitHub Wiki
Miket kell megcsinálni:
**CommandProcessor **osztály gpt-vel elkezdtem de még finomítgatni kell **MultiplyInsect **osztály (változtatások miatt) **FeedThread **osztály (változtatások miatt)
compile.sh változás: commands osztály compileolása, többi automatán történik test.sh változtatás: commands osztály compileolása, többi automatán történik
statikus diagram kibővítése és javítása Új szekvenciák
- Rovarosztódás
- Fonal életben tartó tekton működése
- Grow thread javítása (új fajta megoldás miatt)
- Elrágott fonal nem pusztul el azonnal(Fonaltípus függő idő--> Híd fonál pusztuljon el egyből, tektonon lévő maradjon X körig életben)
- Fonal bénult rovart eszik
- Tekton törés átdolgozás(Rovar meghal nem át rakódik)
- Insect move javítás (Levezetni, hogy hogyan dönti el, hogy melyik tektonra lép. Pl híd átkelés)
Új Metódusok összegyűjtése, Változó metódusok leírása Interfész leírása: Input Output alapú tesztelés Parancsok megalkotása Kimenet és Bemenet formátum Összes Use-Case összegyűjtése Tesztelési Terv Tesztelést támogató segéd- és fordítóprogramok specifikálása
Ezeket csak itthagyom
sporeNames = tekton.getSpores().stream()
.map(spore -> {
String sporeName = createdObjects.entrySet().stream()
.filter(entry -> entry.getValue() == spore)
.map(Map.Entry::getKey)
.findFirst()
.orElse("N/A");
String sporeType = spore.getClass().getSimpleName();
return sporeType + "(" + sporeName + ")";
})
.toList()
.toString();
public void processSporulateCommand(String[] parts) {
String name = parts[1];
if (!createdObjects.containsKey(name)) {
System.out.println("Hiba: Nem létezik ilyen nevű objektum: " + name);
return;
}
Object obj = createdObjects.get(name);
if (obj instanceof FungusBody) {
FungusBody body = (FungusBody) obj;
body.sporulate();
// Hozzáadjuk a spórákat a createdObjects-hez
int sporeIndex = 1;
for (Spore spore : body.getSpores()) {
String sporeName = name + "_spore" + sporeIndex++;
createdObjects.put(sporeName, spore);
System.out.println("Spóra létrehozva: " + sporeName);
}
} else {
System.out.println("Hiba: Nem lehet sporulálni ezt az objektumot: " + name);
}
}
Csak ötletelésnek hoztam létre egyenlőre!
Ha swinget kell majd használni kezdhetünk valami ilyesmivel, ez még nem mostani probléma
import javax.swing.*;
import java.awt.*;
import java.util.Map;
import tektonTypes.Tekton;
public class GameMap extends JFrame {
private JPanel gridPanel;
private Map<String, Tekton> tektons;
public GameMap(Map<String, Tekton> tektons) {
this.tektons = tektons;
setTitle("Tekton Map");
setSize(600, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create a grid layout (e.g., 10x10 grid)
int gridSize = (int) Math.sqrt(tektons.size());
gridPanel = new JPanel(new GridLayout(gridSize, gridSize));
add(gridPanel);
// Initialize the grid with Tekton states
for (Tekton tekton : tektons.values()) {
JLabel cell = new JLabel();
cell.setOpaque(true);
cell.setHorizontalAlignment(SwingConstants.CENTER);
cell.setVerticalAlignment(SwingConstants.CENTER);
cell.setBackground(getColorForState(tekton.getState())); // Initial state
cell.setText(tekton.getName());
gridPanel.add(cell);
}
setVisible(true);
}
// Update the grid based on Tekton states
public void updateGrid() {
Component[] cells = gridPanel.getComponents();
int i = 0;
for (Tekton tekton : tektons.values()) {
JLabel cell = (JLabel) cells[i++];
cell.setBackground(getColorForState(tekton.getState()));
}
}
// Map Tekton states to colors
private Color getColorForState(String state) {
switch (state) {
case "stable":
return Color.GREEN;
case "active":
return Color.YELLOW;
case "critical":
return Color.RED;
default:
return Color.GRAY;
}
}
}