下列代码的uml图private void gameOver(Graphics graphics) { printInfo(graphics,"GAME OVER",80,270,300); // 它使用了Java中的Date类的getTime()方法来获取时间的毫秒数,然后将两个时间毫秒数相减,再除以1000,就得到了两个时间之间的生存时间(单位为秒) int survivalTime = (int)(endTime.getTime()-starTime.getTime())/1000; printInfo(graphics,"吃热狗时间:"+survivalTime+"秒",40,300,400); switch(survivalTime/10){ case 1: printInfo(graphics,"独孤求败",50,350,500); break; case 2: printInfo(graphics,"登堂入室",50,350,500); break; case 3: printInfo(graphics,"小有成就",50,350,500); break; default: printInfo(graphics,"初入江湖",50,350,500); break; } // paintThread 是游戏画面更新的线程,通过调用 interrupt 方法来停止线程。 paintThread.interrupt(); }
时间: 2024-02-06 21:11:56 浏览: 248
下面是这段代码的UML图:
```
+----------------------------------+
| GraphicsDemo |
+----------------------------------+
| - Date startTime |
| - Date endTime |
| - Thread paintThread |
+----------------------------------+
| - void printInfo(Graphics g, |
| String info, int size, |
| int x, int y) |
| + void gameOver(Graphics g) |
+----------------------------------+
```
其中,类名为 `GraphicsDemo`,包含三个私有属性 `startTime`、`endTime` 和 `paintThread`,以及一个私有方法 `printInfo(Graphics g, String info, int size, int x, int y)` 和一个公有方法 `gameOver(Graphics g)`。`printInfo()` 方法用于在界面上绘制文字信息,接受 `Graphics` 对象、文字信息、字体大小和绘制位置四个参数。`gameOver()` 方法中,首先使用 `getTime()` 方法获取开始时间和结束时间的毫秒数,计算出生存时间;接着根据生存时间的不同,使用 `printInfo()` 方法绘制不同的文字信息;最后使用 `interrupt()` 方法停止游戏画面更新的线程。
阅读全文