Код: Выделить всё
GAME CODE : =>>>>>
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
class GamePanel extends JPanel {
// Game parameters
int squareSize = 100;
int squareX;
int squareY;
int health = 10;
boolean showHealthBar = false;
boolean gameOver = false;
boolean gameStarted = false;
Random random = new Random();
Timer hideHealthBarTimer;
Timer gameTimer;
boolean paused = false;
int counter = 0;
Timer counterTimer;
// Variables for square shaking
boolean isShaking = true; // Start shaking immediately
int originalSquareX;
int originalSquareY;
Timer shakeTimer;
int shakeAmplitude = 2; // Amplitude of shaking
// Difficulty settings
String difficulty = "Normal"; // Default difficulty
int selectedDifficulty = -1;
int shakeDelay = 20; // Delay for the shake timer
public GamePanel() {
// Timer for shaking
shakeTimer = new Timer(shakeDelay, e -> {
if (isShaking) {
squareX = originalSquareX + (random.nextBoolean() ?
shakeAmplitude : -shakeAmplitude);
squareY = originalSquareY + (random.nextBoolean() ?
shakeAmplitude : -shakeAmplitude);
repaint(); // Repaint on each shake
}
});
shakeTimer.start(); // Start the shake timer immediately
hideHealthBarTimer = new Timer(500, e -> {
showHealthBar = false;
repaint();
});
hideHealthBarTimer.setRepeats(false);
gameTimer = new Timer(30, e -> {
if (paused || !gameStarted || gameOver) return;
if (health { // Slower counter
increase
if (!paused && gameStarted && !gameOver) {
counter++;
repaint();
}
});
counterTimer.start();
addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (!gameStarted) {
// ... (difficulty selection logic - unchanged)
} else if (gameStarted && !paused && !gameOver) {
if (e.getX() >= squareX && e.getX() = squareY && e.getY() >>>
import java.awt.*;
< /code>
импорт java.awt.event. ;
import javax.swing. < /em>; < /p>
menu_introduttivo. {< /p>
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
System.out.println("Starting application...");
JFrame frame = new JFrame("Test Frame");
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(Color.BLACK);
JPanel panel = new JPanel() {
// ... (Existing variables)
@Override
protected void paintComponent(Graphics g) {
// ... (Existing drawing code)
}
// ... (Existing drawOptionsPanel method)
@Override
public void addNotify() {
super.addNotify();
// ... (Existing mouseMoved listener)
addMouseListener(new MouseAdapter() {
// ... (Existing mousePressed code for START and MODES)
@Override
public void mousePressed(MouseEvent e) {
// ... (Existing "OPTIONS" and "Did" click handling)
if (optionsMenuOpen) {
// ... (Existing volume circle click handling)
// Check if the sound circle is clicked
// ... (sound circle click handling - unchanged)
}
}
@Override
public void mouseReleased(MouseEvent e) {
// ... (mouseReleased - unchanged)
}
});
addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
if (optionsMenuOpen) {
// ... [Existing dragging logic]
}
}
});
// Add mouse listener for click handling
addMouseListener(new MouseAdapter() {
// ... [mousePressed method - unchanged]
});
}
};
frame.add(panel);
frame.setVisible(true); // Make the frame visible after adding components
});
}
< /code>
} < /p>
ME TRRYING TO PUT THIS 2 FILES TOGHETER : =>>>>>
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
// ... (GamePanel and Game classes remain unchanged)
public class menu_introduttivo {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
// ... (Existing setup code)
JPanel panel = new JPanel() {
// ... (Existing variables)
@Override
protected void paintComponent(Graphics g) {
// ... (Existing drawing code)
}
// ... (Existing drawOptionsPanel method)
@Override
public void addNotify() {
super.addNotify();
MouseInputAdapter mouseAdapter = new
MouseInputAdapter() { // Combined listener
@Override
public void mouseMoved(MouseEvent e) {
// ... (Existing mouseMoved logic -
unchanged)
}
@Override
public void mousePressed(MouseEvent e) {
// ... (Existing mousePressed logic -
unchanged)
}
@Override
public void mouseDragged(MouseEvent e) {
if (optionsMenuOpen) {
if (draggingVolume) {
// ... (volume dragging logic -
unchanged)
}
if (draggingSound) {
// ... (sound dragging logic -
unchanged)
}
}
}
@Override
public void mouseReleased(MouseEvent e) {
draggingVolume = false;
draggingSound = false;
}
};
addMouseListener(mouseAdapter); // Add
combined listener
addMouseMotionListener(mouseAdapter); // Add
combined listener
}
};
frame.add(panel);
frame.setVisible(true); // Make the frame visible
*after* adding the panel
});
}
}
[1]: https:/ /i.sstatic.net/kyogsdgy.png Это 2 разных кодовых файла
[Введите описание изображения здесь] [1]
[1] : https://i.sstatic.net/m6mh3jwp.png Это меню * Это должно быть первое, что открывается в игре *, и если я нажму запуска Меню сложно, и после того, как игрок выбрал сложность, игра начинается < /p>
[Введите описание изображения здесь] [1] < /p>
[1]: https : //i.sstatic.net/7mecdjek.png Если вы нажимаете одну из трудностей, которые начинается в игре ....
[Введите описание изображения здесь] [1]
[1]: https://i.sstatic.net/1ybebe3l.png. В этом случае файлы
были разделены, если вы положили код, он может запустить только один из них, или он начинает только меню или только игру * с его меню * < /p>
< P> Итак, я хочу получить это, поместив все, что вы можете получить: «Открывает игру», первое, что вы видите, это меню с параметрами, режимом и запусками, если вы нажмете запуск Сложность, игра начинается ....
Подробнее здесь: https://stackoverflow.com/questions/794 ... ves-errors