https://pastein.ru/t/kM
скопируйте уникальную ссылку для отправки
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.util.Timer;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JPanel;
public class Panel extends JPanel{
private Timer tmDraw;
private Image fon,paluba,ubit,ranen,end1,end2,bomb;
private JButton btn1,btn_exit;
private Logic gameLogic;
public Panel() {
//Создаем объект
gameLogic = new Logic();
gameLogic.start();
try {
fon = ImageIO.read(new File("C:\\bg.jpg"));
paluba = ImageIO.read(new File("C:\\ship.png"));
ubit = ImageIO.read(new File("C:\\bg.jpg"));
ranen = ImageIO.read(new File("C:\\bg.jpg"));
end1 = ImageIO.read(new File("C:\\bg.jpg"));
end2 = ImageIO.read(new File("C:\\bg.jpg"));
bomb = ImageIO.read(new File("C:\\bomb.png"));
}
catch(IOException ex) {
}
setLayout(null);
btn1 = new JButton();
btn1.setText("New game");
btn1.setForeground(Color.PINK);
btn1.setBounds(430,450,130,50);
btn1.setFont(new Font("serif",0,20));
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
gameLogic.start();
}
});
add(btn1);
btn_exit = new JButton();
btn_exit.setText("EXIT");
btn_exit.setForeground(Color.PINK);
btn_exit.setBounds(430,5555, 200,130);
btn_exit.setFont(new Font("serif",0,20));
btn_exit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
add(btn_exit);
}
public void paintComponent (Graphics gr) {
super.paintComponent(gr);
gr.drawImage(fon, 0,0,900,600,null);
gr.setFont(new Font("serif",3,40));
gr.setColor(Color.PINK);
gr.drawString("Компьютер", 150, 50);
gr.drawString("Игрок", 590, 50);
for(int i = 0; i <10; i++) {
for(int j =0; j<10; j++) {
//Если это палуба корабля
if((gameLogic.masPlay[i][j] >= 1) && (gameLogic.masPlay[i][j] <= 4)) {
gr.drawImage(paluba, 500 + j*30, 100 + i*30, 30, 30, null);
}
}
}
gr.setColor(Color.CYAN);
for(int i=0; i<=10; i++) {
//ПОЛЕ ДЛЯ КОМПЬЮТЕРА
gr.drawLine(100+i*30,100,100+i*30, 400);
gr.drawLine(100, 100+i*30, 400, 100+i*30);
//пОЛЕ ДЛЯ ИГРОКА
gr.drawLine(500+i*30,100,500+i*30, 400);
gr.drawLine(500, 100+i*30, 800, 100+i*30);
}
gr.setFont(new Font("serif", 0,20));
for (int i = 1; i<=10; i++) {
//вывод цифр
gr.drawString(""+i, 73, 93+i*30);
gr.drawString(""+i, 473, 93+i*30);
//вывод
gr.drawString("" +(char)('A'+i-1), 80+i*30, 93);
gr.drawString("" +(char)('A'+i-1), 480+i*30, 93);
}
}
}