74 lines
5.3 KiB
Java
74 lines
5.3 KiB
Java
|
import java.awt.*;
|
||
|
public class DrawingDecksTrapez implements IDecksDrawing{
|
||
|
private NumberOfDecks numDecks;
|
||
|
public NumberOfDecks getProperty(){
|
||
|
return numDecks;
|
||
|
}
|
||
|
public void setNumDecks(int nDecks){
|
||
|
switch(nDecks){
|
||
|
case 1:
|
||
|
numDecks = NumberOfDecks.Deck_1;
|
||
|
break;
|
||
|
case 2:
|
||
|
numDecks = NumberOfDecks.Deck_2;
|
||
|
break;
|
||
|
case 3:
|
||
|
numDecks = NumberOfDecks.Deck_3;
|
||
|
break;
|
||
|
default:
|
||
|
numDecks = NumberOfDecks.Deck_1;
|
||
|
System.out.println("Что-то пошло не так, количество палуб неверное" + Integer.toString(nDecks) + "сделаем вид, будто она одна");
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
public void DrawDeck(int _startPosX, int _startPosY, Color bodyColor, Graphics2D g){
|
||
|
if(numDecks == NumberOfDecks.Deck_1){
|
||
|
g.setPaint(bodyColor);
|
||
|
int x[] = {_startPosX+ 20, _startPosX+20, _startPosX+25, _startPosX+40, _startPosX+ 110,_startPosX+125, _startPosX+130, _startPosX+130, _startPosX+ 20};
|
||
|
int y[] = {_startPosY+65,_startPosY+70, _startPosY+70, _startPosY+85, _startPosY+85,_startPosY+70, _startPosY+70, _startPosY+65, _startPosY+65};
|
||
|
g.fillPolygon(x, y, 9);
|
||
|
g.setPaint(Color.BLACK);
|
||
|
int _x[] = {_startPosX+ 20, _startPosX+20, _startPosX+25, _startPosX+40, _startPosX+ 110,_startPosX+125, _startPosX+130, _startPosX+130, _startPosX+ 20};
|
||
|
int _y[] = {_startPosY+65,_startPosY+70, _startPosY+70, _startPosY+85, _startPosY+85,_startPosY+70, _startPosY+70, _startPosY+65, _startPosY+65};
|
||
|
g.drawPolyline(_x, _y, 9);
|
||
|
g.drawLine(_startPosX + 43, _startPosY + 80, _startPosX + 47, _startPosY + 80);
|
||
|
g.drawLine(_startPosX + 45, _startPosY + 70, _startPosX + 45, _startPosY + 80);
|
||
|
g.drawLine(_startPosX + 40, _startPosY + 75, _startPosX + 50, _startPosY + 75);
|
||
|
}
|
||
|
if(numDecks == NumberOfDecks.Deck_2){
|
||
|
g.setPaint(bodyColor);
|
||
|
int x[] = {_startPosX+ 20, _startPosX+20, _startPosX+25,_startPosX+ 25, _startPosX+30, _startPosX+40, _startPosX+ 110, _startPosX+120, _startPosX+ 125,_startPosX+125, _startPosX+130, _startPosX+130, _startPosX+ 20};
|
||
|
int y[] = {_startPosY+65,_startPosY+70, _startPosY+70,_startPosY+75, _startPosY+75, _startPosY+85, _startPosY+85,_startPosY+75, _startPosY+75,_startPosY+70, _startPosY+70, _startPosY+65, _startPosY+65};
|
||
|
g.fillPolygon(x, y, 13);
|
||
|
g.setPaint(Color.BLACK);
|
||
|
int _x[] = {_startPosX+ 20, _startPosX+20, _startPosX+25,_startPosX+ 25, _startPosX+30, _startPosX+40, _startPosX+ 110, _startPosX+120, _startPosX+ 125,_startPosX+125, _startPosX+130, _startPosX+130, _startPosX+ 20};
|
||
|
int _y[] = {_startPosY+65,_startPosY+70, _startPosY+70,_startPosY+75, _startPosY+75, _startPosY+85, _startPosY+85,_startPosY+75, _startPosY+75,_startPosY+70, _startPosY+70, _startPosY+65, _startPosY+65};
|
||
|
g.drawPolyline(_x, _y, 13);
|
||
|
g.drawLine(_startPosX + 43, _startPosY + 80, _startPosX + 47, _startPosY + 80);
|
||
|
g.drawLine(_startPosX + 45, _startPosY + 70, _startPosX + 45, _startPosY + 80);
|
||
|
g.drawLine(_startPosX + 40, _startPosY + 75, _startPosX + 50, _startPosY + 75);
|
||
|
|
||
|
g.drawLine(_startPosX + 120, _startPosY + 75, _startPosX+ 55, _startPosY + 75);
|
||
|
g.drawLine(_startPosX + 30, _startPosY + 75, _startPosX+ 35, _startPosY + 75);
|
||
|
}
|
||
|
if(numDecks == NumberOfDecks.Deck_3){
|
||
|
g.setPaint(bodyColor);
|
||
|
int x[] = {_startPosX+ 20, _startPosX+20, _startPosX+25,_startPosX+ 25, _startPosX+30, _startPosX+30, _startPosX+ 120, _startPosX+120, _startPosX+ 125,_startPosX+125, _startPosX+130, _startPosX+130, _startPosX+ 20};
|
||
|
int y[] = {_startPosY+65,_startPosY+70, _startPosY+70,_startPosY+75, _startPosY+75, _startPosY+85, _startPosY+85,_startPosY+75, _startPosY+75,_startPosY+70, _startPosY+70, _startPosY+65, _startPosY+65};
|
||
|
g.fillPolygon(x, y, 13);
|
||
|
g.setPaint(Color.BLACK);
|
||
|
int _x[] = {_startPosX+ 20, _startPosX+20, _startPosX+25,_startPosX+ 25, _startPosX+30, _startPosX+30, _startPosX+ 120, _startPosX+120, _startPosX+ 125,_startPosX+125, _startPosX+130, _startPosX+130, _startPosX+ 20};
|
||
|
int _y[] = {_startPosY+65,_startPosY+70, _startPosY+70,_startPosY+75, _startPosY+75, _startPosY+85, _startPosY+85,_startPosY+75, _startPosY+75,_startPosY+70, _startPosY+70, _startPosY+65, _startPosY+65};
|
||
|
g.drawPolyline(_x, _y, 13);
|
||
|
g.drawLine(_startPosX + 43, _startPosY + 80, _startPosX + 47, _startPosY + 80);
|
||
|
g.drawLine(_startPosX + 45, _startPosY + 70, _startPosX + 45, _startPosY + 80);
|
||
|
g.drawLine(_startPosX + 40, _startPosY + 75, _startPosX + 50, _startPosY + 75);
|
||
|
|
||
|
g.drawLine(_startPosX + 120, _startPosY + 75, _startPosX+ 55, _startPosY + 75);
|
||
|
g.drawLine(_startPosX + 125, _startPosY + 70, _startPosX+ 50, _startPosY + 70);
|
||
|
g.drawLine(_startPosX + 30, _startPosY + 75, _startPosX+ 35, _startPosY + 75);
|
||
|
g.drawLine(_startPosX + 25, _startPosY + 70, _startPosX+ 40, _startPosY + 70);
|
||
|
}
|
||
|
}
|
||
|
}
|