📄 baseshape.java
字号:
/**
*声明:1、本程序是作为金鹰教育网学习Java基本语法的例子。可以自由使用,但必须保留此声明!
* 2、具体的介绍、说明文档,请见金鹰教育网:www.eagledu.org
* 3、有问题的,请到金鹰教育网:www.eagledu.org中的Java标准版本课程中提出,我们会及时给予答复!
* 4、有其它想法的,也可直接交流:eagleduorg@126.com
*/
import java.awt.*;
//是所有图形的基类
abstract class BaseShape
{
private int rotateFlag=0;//保存旋转到第几下
protected Pane pane[]=new Pane[4];//每个图形由四个方格所组成
protected int xpos=100,ypos=0;//基点的位置,默认时其位置为第一行的中间
//指定一个参考点,形成一个特定的图形
public void setShape(int x,int y)
{
xpos=x;
ypos=y;
switch(rotateFlag)
{
case 0:
defaultRotate();
break;
case 1:
firstRotate();
break;
case 2:
secondRotate();
break;
case 3:
thirdRotate();
break;
}
}
//画图形
public void paint(Graphics g)
{
for(int i=0;i<4;i++)
{
pane[i].paint(g);
}
}
//顺转的计数
public void rotate()
{
rotateFlag++;
if(rotateFlag==4)
{
rotateFlag=0;
}
}
//逆转动的计数
public void contraRotate()
{
rotateFlag--;
if(rotateFlag==-1)
{
rotateFlag=3;
}
}
//默认时各方格形成图形的算法
protected abstract void defaultRotate();
//第一次旋转后各方格形成图形的算法
protected abstract void firstRotate();
//第二次旋转后各方格形成图形的算法
protected abstract void secondRotate();
//第三次旋转后各方格形成图形的算法
protected abstract void thirdRotate();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -