Усложненная работа
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
public class DrawingDeck extends JComponent{
|
||||
public class DrawingDeck extends JComponent implements IAdditionalDrawingObject{
|
||||
private Additional_Enum _decksEnum;
|
||||
@Override
|
||||
public void SetAddEnum(int decksAmount) {
|
||||
for(Additional_Enum item : _decksEnum.values())
|
||||
{
|
||||
@@ -12,6 +13,7 @@ public class DrawingDeck extends JComponent{
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void DrawDeck(Color colorDeck, Graphics g,float _startPosX,float _startPosY)
|
||||
{
|
||||
super.paintComponent(g);
|
||||
|
||||
44
src/DrawingOvalDeck.java
Normal file
44
src/DrawingOvalDeck.java
Normal file
@@ -0,0 +1,44 @@
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class DrawingOvalDeck extends JComponent implements IAdditionalDrawingObject{
|
||||
private Additional_Enum _decksEnum;
|
||||
@Override
|
||||
public void SetAddEnum(int decksAmount) {
|
||||
for(Additional_Enum item : _decksEnum.values())
|
||||
{
|
||||
if(item.GetAddEnum()==decksAmount)
|
||||
{
|
||||
_decksEnum=item;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void DrawDeck(Color colorDeck, Graphics g, float _startPosX, float _startPosY)
|
||||
{
|
||||
super.paintComponent(g);
|
||||
Graphics2D g2d = (Graphics2D) g;
|
||||
if(_decksEnum.GetAddEnum()>=1)
|
||||
{
|
||||
g2d.setPaint(colorDeck);
|
||||
g2d.fillOval((int)_startPosX+40, (int)_startPosY+15, 70, 5);
|
||||
g2d.setPaint(Color.BLACK);
|
||||
g2d.drawOval((int)_startPosX+40, (int)_startPosY+15, 70, 5);
|
||||
}
|
||||
if(_decksEnum.GetAddEnum()>=2)
|
||||
{
|
||||
g2d.setPaint(colorDeck);
|
||||
g2d.fillOval((int)_startPosX+50, (int)_startPosY+10, 60, 5);
|
||||
g2d.setPaint(Color.BLACK);
|
||||
g2d.drawOval((int)_startPosX+50, (int)_startPosY+10, 60, 5);
|
||||
}
|
||||
if(_decksEnum.GetAddEnum()>=3)
|
||||
{
|
||||
g2d.setPaint(colorDeck);
|
||||
g2d.fillOval((int)_startPosX+60, (int)_startPosY+5, 50, 5);
|
||||
g2d.setPaint(Color.BLACK);
|
||||
g2d.drawOval((int)_startPosX+60, (int)_startPosY+5, 50, 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,12 +3,26 @@ import java.awt.*;
|
||||
import java.util.Random;
|
||||
public class DrawingShip extends JPanel {
|
||||
protected EntityShip Ship;
|
||||
public DrawingDeck Deck;
|
||||
public IAdditionalDrawingObject Deck;
|
||||
public void SetEnum() {
|
||||
Random r = new Random();
|
||||
int numbEnum = r.nextInt(1, 4);
|
||||
Deck.SetAddEnum(numbEnum);
|
||||
}
|
||||
public void SetFormEnum()
|
||||
{
|
||||
Random r = new Random();
|
||||
int numbEnum = r.nextInt(1, 4);
|
||||
if (numbEnum == 1) {
|
||||
Deck=new DrawingDeck();
|
||||
}
|
||||
if (numbEnum == 2) {
|
||||
Deck = new DrawingOvalDeck();
|
||||
}
|
||||
if (numbEnum == 3) {
|
||||
Deck=new DrawingTriangleDeck();
|
||||
}
|
||||
}
|
||||
public EntityShip GetShip() {
|
||||
return Ship;
|
||||
}
|
||||
@@ -20,7 +34,7 @@ public class DrawingShip extends JPanel {
|
||||
private int _ShipHeight = 40;
|
||||
public DrawingShip(int speed, float weight, Color bodycolor) {
|
||||
Ship = new EntityShip(speed, weight, bodycolor);
|
||||
Deck = new DrawingDeck();
|
||||
SetFormEnum();
|
||||
SetEnum();
|
||||
}
|
||||
public DrawingShip(int speed,float weight,Color bodyColor,int shipWidth,int shipHeight)
|
||||
|
||||
49
src/DrawingTriangleDeck.java
Normal file
49
src/DrawingTriangleDeck.java
Normal file
@@ -0,0 +1,49 @@
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
public class DrawingTriangleDeck extends JComponent implements IAdditionalDrawingObject{
|
||||
private Additional_Enum _decksEnum;
|
||||
@Override
|
||||
public void SetAddEnum(int decksAmount) {
|
||||
for(Additional_Enum item : _decksEnum.values())
|
||||
{
|
||||
if(item.GetAddEnum()==decksAmount)
|
||||
{
|
||||
_decksEnum=item;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void DrawDeck(Color colorDeck, Graphics g,float _startPosX,float _startPosY)
|
||||
{
|
||||
super.paintComponent(g);
|
||||
Graphics2D g2d = (Graphics2D) g;
|
||||
if(_decksEnum.GetAddEnum()>=1)
|
||||
{
|
||||
g2d.setPaint(colorDeck);
|
||||
int[] xValues={(int)_startPosX+40,(int)_startPosX+40+15,(int)_startPosX+40+45,(int)_startPosX+40+60};
|
||||
int[] yValues={(int)_startPosY+15,(int)_startPosY+20,(int)_startPosY+20,(int)_startPosY+15};
|
||||
g2d.fillPolygon(xValues,yValues,4);
|
||||
g2d.setPaint(Color.BLACK);
|
||||
g2d.drawPolygon(xValues,yValues,4);
|
||||
}
|
||||
if(_decksEnum.GetAddEnum()>=2)
|
||||
{
|
||||
g2d.setPaint(colorDeck);
|
||||
int[] xValues2={(int)_startPosX+50,(int)_startPosX+50+15,(int)_startPosX+50+45,(int)_startPosX+50+60};
|
||||
int[] yValues2={(int)_startPosY+10,(int)_startPosY+15,(int)_startPosY+15,(int)_startPosY+10};
|
||||
g2d.fillPolygon(xValues2,yValues2,4);
|
||||
g2d.setPaint(Color.BLACK);
|
||||
g2d.drawPolygon(xValues2,yValues2,4);
|
||||
}
|
||||
if(_decksEnum.GetAddEnum()>=3)
|
||||
{
|
||||
g2d.setPaint(colorDeck);
|
||||
int[] xValues3_3={(int)_startPosX+50,(int)_startPosX+50+15,(int)_startPosX+50+45,(int)_startPosX+50+60};
|
||||
int[] yValues3_3={(int)_startPosY+5,(int)_startPosY+10,(int)_startPosY+10,(int)_startPosY+5};
|
||||
g2d.fillPolygon(xValues3_3,yValues3_3,4);
|
||||
g2d.setPaint(Color.BLACK);
|
||||
g2d.drawPolygon(xValues3_3,yValues3_3,4);
|
||||
}
|
||||
}
|
||||
}
|
||||
6
src/IAdditionalDrawingObject.java
Normal file
6
src/IAdditionalDrawingObject.java
Normal file
@@ -0,0 +1,6 @@
|
||||
import java.awt.*;
|
||||
|
||||
public interface IAdditionalDrawingObject {
|
||||
void SetAddEnum(int decksAmount);
|
||||
void DrawDeck(Color colorDeck, Graphics g, float _startPosX, float _startPosY);
|
||||
}
|
||||
@@ -3,7 +3,7 @@ import javax.swing.*;
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
JFrame frame = new JFrame("Лайнер");
|
||||
frame.setContentPane(new FormShip().Mainpanel);
|
||||
frame.setContentPane(new FormMap().MainPanel);
|
||||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
frame.setLocation(500, 200);
|
||||
frame.pack();
|
||||
|
||||
Reference in New Issue
Block a user