修訂 | 4d92a81eab46bed4d94fc376aae828ac21ba6127 (tree) |
---|---|
時間 | 2015-10-02 05:44:45 |
作者 | MirrgieRiana |
Commiter | MirrgieRiana |
move: package(mirrg/applet/nitrogen/samples) -> test
@@ -1,73 +0,0 @@ | ||
1 | -package mirrg.applet.nitrogen.samples; | |
2 | - | |
3 | -import java.awt.Color; | |
4 | -import java.awt.Component; | |
5 | -import java.awt.Graphics2D; | |
6 | -import java.util.ArrayList; | |
7 | - | |
8 | -class Game1 | |
9 | -{ | |
10 | - | |
11 | - protected Component parent; | |
12 | - protected ArrayList<double[]> points; | |
13 | - | |
14 | - public Game1(Component parent) | |
15 | - { | |
16 | - this.parent = parent; | |
17 | - } | |
18 | - | |
19 | - public void init() | |
20 | - { | |
21 | - points = new ArrayList<>(); | |
22 | - for (int i = 0; i < 200; i++) { | |
23 | - points.add(createPoint()); | |
24 | - } | |
25 | - } | |
26 | - | |
27 | - protected double[] createPoint() | |
28 | - { | |
29 | - double theta = Math.random() * 2 * Math.PI; | |
30 | - double speed = Math.random() * 0.01 + 0.005; | |
31 | - | |
32 | - return new double[] { | |
33 | - 0.5, | |
34 | - 0.5, | |
35 | - speed * Math.cos(theta), | |
36 | - speed * Math.sin(theta), | |
37 | - }; | |
38 | - } | |
39 | - | |
40 | - public void move() | |
41 | - { | |
42 | - for (int i = 0; i < points.size(); i++) { | |
43 | - double[] point = points.get(i); | |
44 | - | |
45 | - point[0] += point[2]; | |
46 | - point[1] += point[3]; | |
47 | - | |
48 | - if (point[0] < 0) points.set(i, createPoint()); | |
49 | - else if (point[0] > 1) points.set(i, createPoint()); | |
50 | - else if (point[1] < 0) points.set(i, createPoint()); | |
51 | - else if (point[1] > 1) points.set(i, createPoint()); | |
52 | - | |
53 | - } | |
54 | - } | |
55 | - | |
56 | - public void paint(Graphics2D graphics) | |
57 | - { | |
58 | - int width = parent.getWidth(); | |
59 | - int height = parent.getHeight(); | |
60 | - | |
61 | - graphics.setColor(Color.black); | |
62 | - graphics.fillRect(0, 0, width, height); | |
63 | - | |
64 | - graphics.setColor(Color.red); | |
65 | - for (double[] point : points) { | |
66 | - graphics.fillRect( | |
67 | - (int) (point[0] * width) - 2, | |
68 | - (int) (point[1] * height) - 2, | |
69 | - 5, 5); | |
70 | - } | |
71 | - } | |
72 | - | |
73 | -} |
@@ -1,122 +0,0 @@ | ||
1 | -package mirrg.applet.nitrogen.samples; | |
2 | - | |
3 | -import java.awt.Color; | |
4 | -import java.awt.Component; | |
5 | -import java.awt.Font; | |
6 | -import java.awt.Graphics2D; | |
7 | - | |
8 | -class Game2 extends Game1 | |
9 | -{ | |
10 | - | |
11 | - private static final double playerR = 0.01; | |
12 | - private double[] player; | |
13 | - private int score; | |
14 | - private int scoreMax; | |
15 | - | |
16 | - public Game2(Component parent) | |
17 | - { | |
18 | - super(parent); | |
19 | - } | |
20 | - | |
21 | - @Override | |
22 | - public void init() | |
23 | - { | |
24 | - super.init(); | |
25 | - | |
26 | - player = new double[] { | |
27 | - 0.5, | |
28 | - 0.75, | |
29 | - }; | |
30 | - } | |
31 | - | |
32 | - @Override | |
33 | - public void move() | |
34 | - { | |
35 | - super.move(); | |
36 | - | |
37 | - for (int i = 0; i < points.size(); i++) { | |
38 | - double[] point = points.get(i); | |
39 | - | |
40 | - double dist2 = pow2(point[0] - player[0]) + pow2(point[1] - player[1]); | |
41 | - | |
42 | - if (dist2 < pow2(playerR)) { | |
43 | - delete(player[0], player[1], pow2(0.5)); | |
44 | - | |
45 | - if (score > scoreMax) scoreMax = score; | |
46 | - score = 0; | |
47 | - | |
48 | - break; | |
49 | - } | |
50 | - | |
51 | - } | |
52 | - | |
53 | - score++; | |
54 | - } | |
55 | - | |
56 | - /** | |
57 | - * @param r2 | |
58 | - * r^2 | |
59 | - */ | |
60 | - private void delete(double x, double y, double r2) | |
61 | - { | |
62 | - for (int i = 0; i < points.size(); i++) { | |
63 | - double[] point = points.get(i); | |
64 | - | |
65 | - double dist2 = pow2(point[0] - x) + pow2(point[1] - y); | |
66 | - if (dist2 < r2) { | |
67 | - | |
68 | - points.set(i, createPoint()); | |
69 | - | |
70 | - } | |
71 | - | |
72 | - } | |
73 | - } | |
74 | - | |
75 | - @Override | |
76 | - protected double[] createPoint() | |
77 | - { | |
78 | - double theta = Math.random() * 2 * Math.PI; | |
79 | - double speed = Math.random() * 0.01 + 0.005; | |
80 | - | |
81 | - return new double[] { | |
82 | - 0.5, | |
83 | - 0.25, | |
84 | - speed * Math.cos(theta), | |
85 | - speed * Math.sin(theta), | |
86 | - }; | |
87 | - } | |
88 | - | |
89 | - private double pow2(double value) | |
90 | - { | |
91 | - return value * value; | |
92 | - } | |
93 | - | |
94 | - public void setPlayerPosition(double x, double y) | |
95 | - { | |
96 | - player[0] = x; | |
97 | - player[1] = y; | |
98 | - } | |
99 | - | |
100 | - @Override | |
101 | - public void paint(Graphics2D graphics) | |
102 | - { | |
103 | - super.paint(graphics); | |
104 | - | |
105 | - int width = parent.getWidth(); | |
106 | - int height = parent.getHeight(); | |
107 | - | |
108 | - graphics.setColor(Color.white); | |
109 | - graphics.fillOval( | |
110 | - (int) ((player[0] - playerR) * width), | |
111 | - (int) ((player[1] - playerR) * height), | |
112 | - (int) (playerR * 2 * width), | |
113 | - (int) (playerR * 2 * height)); | |
114 | - | |
115 | - graphics.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 24)); | |
116 | - graphics.drawString("Score: " + score, | |
117 | - 0, graphics.getFont().getSize()); | |
118 | - graphics.drawString("HiScore: " + scoreMax, | |
119 | - 0, graphics.getFont().getSize() * 2); | |
120 | - } | |
121 | - | |
122 | -} |
@@ -1,55 +0,0 @@ | ||
1 | -package mirrg.applet.nitrogen.samples; | |
2 | - | |
3 | -import java.awt.Graphics2D; | |
4 | - | |
5 | -import mirrg.applet.nitrogen.AppletNitrogen; | |
6 | -import mirrg.applet.nitrogen.events.NitrogenEventApplet; | |
7 | - | |
8 | -public class SampleAppletNitrogenEvent extends AppletNitrogen | |
9 | -{ | |
10 | - | |
11 | - private static final long serialVersionUID = 6370904732290917883L; | |
12 | - | |
13 | - private Game1 game; | |
14 | - private Thread thread; | |
15 | - | |
16 | - public SampleAppletNitrogenEvent() | |
17 | - { | |
18 | - getEventManager().register(NitrogenEventApplet.Init.class, event -> { | |
19 | - game = new Game1(this); | |
20 | - }); | |
21 | - getEventManager().register(NitrogenEventApplet.Start.class, event -> { | |
22 | - | |
23 | - thread = new Thread(() -> { | |
24 | - | |
25 | - while (true) { | |
26 | - try { | |
27 | - Thread.sleep(50); | |
28 | - } catch (InterruptedException e) { | |
29 | - break; | |
30 | - } | |
31 | - | |
32 | - game.move(); | |
33 | - repaint(); | |
34 | - } | |
35 | - | |
36 | - }); | |
37 | - | |
38 | - game.init(); | |
39 | - thread.start(); | |
40 | - }); | |
41 | - getEventManager().register(NitrogenEventApplet.Stop.class, event -> { | |
42 | - thread.interrupt(); | |
43 | - }); | |
44 | - | |
45 | - // | |
46 | - | |
47 | - getEventManager().register(NitrogenEventApplet.Paint.Pre.class, event -> { | |
48 | - event.cancelled = true; | |
49 | - }); | |
50 | - getEventManager().register(NitrogenEventApplet.Paint.class, event -> { | |
51 | - game.paint((Graphics2D) event.graphics); | |
52 | - }); | |
53 | - } | |
54 | - | |
55 | -} |
@@ -1,46 +0,0 @@ | ||
1 | -package mirrg.applet.nitrogen.samples; | |
2 | - | |
3 | -import java.awt.Graphics2D; | |
4 | - | |
5 | -import mirrg.applet.nitrogen.AppletNitrogen; | |
6 | -import mirrg.applet.nitrogen.GameThread; | |
7 | -import mirrg.applet.nitrogen.HAppletNitrogen; | |
8 | -import mirrg.applet.nitrogen.events.NitrogenEventApplet; | |
9 | -import mirrg.applet.nitrogen.events.NitrogenEventGameThread; | |
10 | - | |
11 | -public class SampleAppletNitrogenEvent2 extends AppletNitrogen | |
12 | -{ | |
13 | - | |
14 | - private static final long serialVersionUID = 6370904732290917883L; | |
15 | - | |
16 | - private Game1 game; | |
17 | - | |
18 | - public SampleAppletNitrogenEvent2() | |
19 | - { | |
20 | - GameThread gameThread = HAppletNitrogen.applyGameThread(this); | |
21 | - gameThread.objectiveFps = 20; | |
22 | - | |
23 | - getEventManager().register(NitrogenEventApplet.Init.class, event -> { | |
24 | - game = new Game1(this); | |
25 | - }); | |
26 | - getEventManager().register(NitrogenEventGameThread.Init.class, event -> { | |
27 | - game.init(); | |
28 | - }); | |
29 | - getEventManager().register(NitrogenEventGameThread.Tick.class, event -> { | |
30 | - game.move(); | |
31 | - }); | |
32 | - getEventManager().register(NitrogenEventGameThread.Render.class, event -> { | |
33 | - repaint(); | |
34 | - }); | |
35 | - | |
36 | - // | |
37 | - | |
38 | - getEventManager().register(NitrogenEventApplet.Paint.Pre.class, event -> { | |
39 | - event.cancelled = true; | |
40 | - }); | |
41 | - getEventManager().register(NitrogenEventApplet.Paint.class, event -> { | |
42 | - game.paint((Graphics2D) event.graphics); | |
43 | - }); | |
44 | - } | |
45 | - | |
46 | -} |
@@ -1,50 +0,0 @@ | ||
1 | -package mirrg.applet.nitrogen.samples; | |
2 | - | |
3 | -import mirrg.applet.nitrogen.AppletNitrogen; | |
4 | -import mirrg.applet.nitrogen.GameThread; | |
5 | -import mirrg.applet.nitrogen.HAppletNitrogen; | |
6 | -import mirrg.applet.nitrogen.HAppletNitrogenEvent; | |
7 | -import mirrg.applet.nitrogen.TripleBuffer; | |
8 | -import mirrg.applet.nitrogen.events.NitrogenEventApplet; | |
9 | -import mirrg.applet.nitrogen.events.NitrogenEventGameThread; | |
10 | - | |
11 | -public class SampleAppletNitrogenEvent3 extends AppletNitrogen | |
12 | -{ | |
13 | - | |
14 | - private static final long serialVersionUID = 6370904732290917883L; | |
15 | - | |
16 | - private Game1 game; | |
17 | - | |
18 | - public SampleAppletNitrogenEvent3() | |
19 | - { | |
20 | - GameThread gameThread = HAppletNitrogen.applyGameThread(this); | |
21 | - gameThread.objectiveFps = 50; | |
22 | - | |
23 | - getEventManager().register(NitrogenEventApplet.Init.class, event -> { | |
24 | - game = new Game1(this); | |
25 | - }); | |
26 | - getEventManager().register(NitrogenEventGameThread.Init.class, event -> { | |
27 | - game.init(); | |
28 | - }); | |
29 | - getEventManager().register(NitrogenEventGameThread.Tick.class, event -> { | |
30 | - game.move(); | |
31 | - }); | |
32 | - getEventManager().register(NitrogenEventGameThread.Render.class, event -> { | |
33 | - repaint(); | |
34 | - }); | |
35 | - | |
36 | - // | |
37 | - | |
38 | - HAppletNitrogenEvent.adaptComponentEvent(this); | |
39 | - TripleBuffer tripleBuffer = HAppletNitrogen.applyTripleBuffer(this); | |
40 | - | |
41 | - getEventManager().register(NitrogenEventApplet.Paint.class, event -> { | |
42 | - | |
43 | - game.paint(tripleBuffer.getBufferDirty().getGraphics()); | |
44 | - tripleBuffer.flip(); | |
45 | - | |
46 | - event.graphics.drawImage(tripleBuffer.getBufferSafety().getBuffer(), 0, 0, this); | |
47 | - }); | |
48 | - } | |
49 | - | |
50 | -} |
@@ -1,62 +0,0 @@ | ||
1 | -package mirrg.applet.nitrogen.samples; | |
2 | - | |
3 | -import mirrg.applet.nitrogen.AppletNitrogen; | |
4 | -import mirrg.applet.nitrogen.GameThread; | |
5 | -import mirrg.applet.nitrogen.HAppletNitrogen; | |
6 | -import mirrg.applet.nitrogen.HAppletNitrogenEvent; | |
7 | -import mirrg.applet.nitrogen.TripleBuffer; | |
8 | -import mirrg.applet.nitrogen.events.NitrogenEventApplet; | |
9 | -import mirrg.applet.nitrogen.events.NitrogenEventGameThread; | |
10 | -import mirrg.applet.nitrogen.events.NitrogenEventMouseMotion; | |
11 | - | |
12 | -public class SampleAppletNitrogenEvent4 extends AppletNitrogen | |
13 | -{ | |
14 | - | |
15 | - private static final long serialVersionUID = 6370904732290917883L; | |
16 | - | |
17 | - private Game2 game; | |
18 | - | |
19 | - public SampleAppletNitrogenEvent4() | |
20 | - { | |
21 | - GameThread gameThread = HAppletNitrogen.applyGameThread(this); | |
22 | - gameThread.objectiveFps = 50; | |
23 | - | |
24 | - getEventManager().register(NitrogenEventApplet.Init.class, event -> { | |
25 | - game = new Game2(this); | |
26 | - }); | |
27 | - getEventManager().register(NitrogenEventGameThread.Init.class, event -> { | |
28 | - game.init(); | |
29 | - }); | |
30 | - getEventManager().register(NitrogenEventGameThread.Tick.class, event -> { | |
31 | - game.move(); | |
32 | - }); | |
33 | - getEventManager().register(NitrogenEventGameThread.Render.class, event -> { | |
34 | - repaint(); | |
35 | - }); | |
36 | - | |
37 | - HAppletNitrogenEvent.adaptMouseMotionEvent(this); | |
38 | - getEventManager().register(NitrogenEventMouseMotion.class, | |
39 | - this::setPlayerPosition); | |
40 | - | |
41 | - // | |
42 | - | |
43 | - HAppletNitrogenEvent.adaptComponentEvent(this); | |
44 | - TripleBuffer tripleBuffer = HAppletNitrogen.applyTripleBuffer(this); | |
45 | - | |
46 | - getEventManager().register(NitrogenEventApplet.Paint.class, event -> { | |
47 | - | |
48 | - game.paint(tripleBuffer.getBufferDirty().getGraphics()); | |
49 | - tripleBuffer.flip(); | |
50 | - | |
51 | - event.graphics.drawImage(tripleBuffer.getBufferSafety().getBuffer(), 0, 0, this); | |
52 | - }); | |
53 | - } | |
54 | - | |
55 | - public void setPlayerPosition(NitrogenEventMouseMotion event) | |
56 | - { | |
57 | - game.setPlayerPosition( | |
58 | - 1.0 * event.mouseEvent.getX() / getWidth(), | |
59 | - 1.0 * event.mouseEvent.getY() / getHeight()); | |
60 | - } | |
61 | - | |
62 | -} |
@@ -1,75 +0,0 @@ | ||
1 | -package mirrg.applet.nitrogen.samples; | |
2 | - | |
3 | -import java.awt.Font; | |
4 | -import java.awt.Graphics2D; | |
5 | - | |
6 | -import mirrg.applet.nitrogen.AppletNitrogen; | |
7 | -import mirrg.applet.nitrogen.FPSAdjuster; | |
8 | -import mirrg.applet.nitrogen.HAppletNitrogen; | |
9 | -import mirrg.applet.nitrogen.HAppletNitrogen.ResponceApplyStandard; | |
10 | -import mirrg.applet.nitrogen.events.NitrogenEventApplet; | |
11 | -import mirrg.applet.nitrogen.events.NitrogenEventGameThread; | |
12 | - | |
13 | -public class SampleAppletNitrogenEvent5 extends AppletNitrogen | |
14 | -{ | |
15 | - | |
16 | - private static final long serialVersionUID = 6370904732290917883L; | |
17 | - | |
18 | - private Game2 game; | |
19 | - | |
20 | - public SampleAppletNitrogenEvent5() | |
21 | - { | |
22 | - ResponceApplyStandard responce = HAppletNitrogen.applyStandard(this); | |
23 | - responce.gameThread.objectiveFps = 30; | |
24 | - | |
25 | - // | |
26 | - | |
27 | - getEventManager().register(NitrogenEventApplet.Init.class, event -> { | |
28 | - game = new Game2(this); | |
29 | - }); | |
30 | - getEventManager().register(NitrogenEventGameThread.Init.class, event -> { | |
31 | - game.init(); | |
32 | - }); | |
33 | - getEventManager().register(NitrogenEventGameThread.Tick.class, event -> { | |
34 | - game.setPlayerPosition( | |
35 | - 1.0 * responce.inputStatus.getMouseX() / getWidth(), | |
36 | - 1.0 * responce.inputStatus.getMouseY() / getHeight()); | |
37 | - game.move(); | |
38 | - }); | |
39 | - getEventManager().register(NitrogenEventGameThread.PostTick.class, event -> { | |
40 | - responce.inputStatus.spend(); | |
41 | - }); | |
42 | - getEventManager().register(NitrogenEventGameThread.Render.class, event -> { | |
43 | - repaint(); | |
44 | - }); | |
45 | - getEventManager().register(NitrogenEventApplet.Paint.class, event -> { | |
46 | - | |
47 | - { | |
48 | - Graphics2D graphics = responce.tripleBuffer.getBufferDirty().getGraphics(); | |
49 | - | |
50 | - game.paint(graphics); | |
51 | - | |
52 | - drawFPS(graphics, responce.fpsAdjuster); | |
53 | - } | |
54 | - | |
55 | - responce.tripleBuffer.flip(); | |
56 | - | |
57 | - event.graphics.drawImage(responce.tripleBuffer.getBufferSafety().getBuffer(), 0, 0, this); | |
58 | - }); | |
59 | - | |
60 | - } | |
61 | - | |
62 | - private void drawFPS(Graphics2D graphics, FPSAdjuster fpsAdjuster) | |
63 | - { | |
64 | - graphics.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 20)); | |
65 | - graphics.drawString(String.format( | |
66 | - "FPS: %.2f", | |
67 | - fpsAdjuster.getFPS()), | |
68 | - 0, getHeight()); | |
69 | - graphics.drawString(String.format( | |
70 | - "CPU: %.2f%%", | |
71 | - fpsAdjuster.getLoadFactor() * 100), | |
72 | - 0, getHeight() - graphics.getFont().getSize()); | |
73 | - } | |
74 | - | |
75 | -} |
@@ -0,0 +1,73 @@ | ||
1 | +package mirrg.applet.nitrogen.samples; | |
2 | + | |
3 | +import java.awt.Color; | |
4 | +import java.awt.Component; | |
5 | +import java.awt.Graphics2D; | |
6 | +import java.util.ArrayList; | |
7 | + | |
8 | +class Game1 | |
9 | +{ | |
10 | + | |
11 | + protected Component parent; | |
12 | + protected ArrayList<double[]> points; | |
13 | + | |
14 | + public Game1(Component parent) | |
15 | + { | |
16 | + this.parent = parent; | |
17 | + } | |
18 | + | |
19 | + public void init() | |
20 | + { | |
21 | + points = new ArrayList<>(); | |
22 | + for (int i = 0; i < 200; i++) { | |
23 | + points.add(createPoint()); | |
24 | + } | |
25 | + } | |
26 | + | |
27 | + protected double[] createPoint() | |
28 | + { | |
29 | + double theta = Math.random() * 2 * Math.PI; | |
30 | + double speed = Math.random() * 0.01 + 0.005; | |
31 | + | |
32 | + return new double[] { | |
33 | + 0.5, | |
34 | + 0.5, | |
35 | + speed * Math.cos(theta), | |
36 | + speed * Math.sin(theta), | |
37 | + }; | |
38 | + } | |
39 | + | |
40 | + public void move() | |
41 | + { | |
42 | + for (int i = 0; i < points.size(); i++) { | |
43 | + double[] point = points.get(i); | |
44 | + | |
45 | + point[0] += point[2]; | |
46 | + point[1] += point[3]; | |
47 | + | |
48 | + if (point[0] < 0) points.set(i, createPoint()); | |
49 | + else if (point[0] > 1) points.set(i, createPoint()); | |
50 | + else if (point[1] < 0) points.set(i, createPoint()); | |
51 | + else if (point[1] > 1) points.set(i, createPoint()); | |
52 | + | |
53 | + } | |
54 | + } | |
55 | + | |
56 | + public void paint(Graphics2D graphics) | |
57 | + { | |
58 | + int width = parent.getWidth(); | |
59 | + int height = parent.getHeight(); | |
60 | + | |
61 | + graphics.setColor(Color.black); | |
62 | + graphics.fillRect(0, 0, width, height); | |
63 | + | |
64 | + graphics.setColor(Color.red); | |
65 | + for (double[] point : points) { | |
66 | + graphics.fillRect( | |
67 | + (int) (point[0] * width) - 2, | |
68 | + (int) (point[1] * height) - 2, | |
69 | + 5, 5); | |
70 | + } | |
71 | + } | |
72 | + | |
73 | +} |
@@ -0,0 +1,122 @@ | ||
1 | +package mirrg.applet.nitrogen.samples; | |
2 | + | |
3 | +import java.awt.Color; | |
4 | +import java.awt.Component; | |
5 | +import java.awt.Font; | |
6 | +import java.awt.Graphics2D; | |
7 | + | |
8 | +class Game2 extends Game1 | |
9 | +{ | |
10 | + | |
11 | + private static final double playerR = 0.01; | |
12 | + private double[] player; | |
13 | + private int score; | |
14 | + private int scoreMax; | |
15 | + | |
16 | + public Game2(Component parent) | |
17 | + { | |
18 | + super(parent); | |
19 | + } | |
20 | + | |
21 | + @Override | |
22 | + public void init() | |
23 | + { | |
24 | + super.init(); | |
25 | + | |
26 | + player = new double[] { | |
27 | + 0.5, | |
28 | + 0.75, | |
29 | + }; | |
30 | + } | |
31 | + | |
32 | + @Override | |
33 | + public void move() | |
34 | + { | |
35 | + super.move(); | |
36 | + | |
37 | + for (int i = 0; i < points.size(); i++) { | |
38 | + double[] point = points.get(i); | |
39 | + | |
40 | + double dist2 = pow2(point[0] - player[0]) + pow2(point[1] - player[1]); | |
41 | + | |
42 | + if (dist2 < pow2(playerR)) { | |
43 | + delete(player[0], player[1], pow2(0.5)); | |
44 | + | |
45 | + if (score > scoreMax) scoreMax = score; | |
46 | + score = 0; | |
47 | + | |
48 | + break; | |
49 | + } | |
50 | + | |
51 | + } | |
52 | + | |
53 | + score++; | |
54 | + } | |
55 | + | |
56 | + /** | |
57 | + * @param r2 | |
58 | + * r^2 | |
59 | + */ | |
60 | + private void delete(double x, double y, double r2) | |
61 | + { | |
62 | + for (int i = 0; i < points.size(); i++) { | |
63 | + double[] point = points.get(i); | |
64 | + | |
65 | + double dist2 = pow2(point[0] - x) + pow2(point[1] - y); | |
66 | + if (dist2 < r2) { | |
67 | + | |
68 | + points.set(i, createPoint()); | |
69 | + | |
70 | + } | |
71 | + | |
72 | + } | |
73 | + } | |
74 | + | |
75 | + @Override | |
76 | + protected double[] createPoint() | |
77 | + { | |
78 | + double theta = Math.random() * 2 * Math.PI; | |
79 | + double speed = Math.random() * 0.01 + 0.005; | |
80 | + | |
81 | + return new double[] { | |
82 | + 0.5, | |
83 | + 0.25, | |
84 | + speed * Math.cos(theta), | |
85 | + speed * Math.sin(theta), | |
86 | + }; | |
87 | + } | |
88 | + | |
89 | + private double pow2(double value) | |
90 | + { | |
91 | + return value * value; | |
92 | + } | |
93 | + | |
94 | + public void setPlayerPosition(double x, double y) | |
95 | + { | |
96 | + player[0] = x; | |
97 | + player[1] = y; | |
98 | + } | |
99 | + | |
100 | + @Override | |
101 | + public void paint(Graphics2D graphics) | |
102 | + { | |
103 | + super.paint(graphics); | |
104 | + | |
105 | + int width = parent.getWidth(); | |
106 | + int height = parent.getHeight(); | |
107 | + | |
108 | + graphics.setColor(Color.white); | |
109 | + graphics.fillOval( | |
110 | + (int) ((player[0] - playerR) * width), | |
111 | + (int) ((player[1] - playerR) * height), | |
112 | + (int) (playerR * 2 * width), | |
113 | + (int) (playerR * 2 * height)); | |
114 | + | |
115 | + graphics.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 24)); | |
116 | + graphics.drawString("Score: " + score, | |
117 | + 0, graphics.getFont().getSize()); | |
118 | + graphics.drawString("HiScore: " + scoreMax, | |
119 | + 0, graphics.getFont().getSize() * 2); | |
120 | + } | |
121 | + | |
122 | +} |
@@ -0,0 +1,55 @@ | ||
1 | +package mirrg.applet.nitrogen.samples; | |
2 | + | |
3 | +import java.awt.Graphics2D; | |
4 | + | |
5 | +import mirrg.applet.nitrogen.AppletNitrogen; | |
6 | +import mirrg.applet.nitrogen.events.NitrogenEventApplet; | |
7 | + | |
8 | +public class SampleAppletNitrogenEvent extends AppletNitrogen | |
9 | +{ | |
10 | + | |
11 | + private static final long serialVersionUID = 6370904732290917883L; | |
12 | + | |
13 | + private Game1 game; | |
14 | + private Thread thread; | |
15 | + | |
16 | + public SampleAppletNitrogenEvent() | |
17 | + { | |
18 | + getEventManager().register(NitrogenEventApplet.Init.class, event -> { | |
19 | + game = new Game1(this); | |
20 | + }); | |
21 | + getEventManager().register(NitrogenEventApplet.Start.class, event -> { | |
22 | + | |
23 | + thread = new Thread(() -> { | |
24 | + | |
25 | + while (true) { | |
26 | + try { | |
27 | + Thread.sleep(50); | |
28 | + } catch (InterruptedException e) { | |
29 | + break; | |
30 | + } | |
31 | + | |
32 | + game.move(); | |
33 | + repaint(); | |
34 | + } | |
35 | + | |
36 | + }); | |
37 | + | |
38 | + game.init(); | |
39 | + thread.start(); | |
40 | + }); | |
41 | + getEventManager().register(NitrogenEventApplet.Stop.class, event -> { | |
42 | + thread.interrupt(); | |
43 | + }); | |
44 | + | |
45 | + // | |
46 | + | |
47 | + getEventManager().register(NitrogenEventApplet.Paint.Pre.class, event -> { | |
48 | + event.cancelled = true; | |
49 | + }); | |
50 | + getEventManager().register(NitrogenEventApplet.Paint.class, event -> { | |
51 | + game.paint((Graphics2D) event.graphics); | |
52 | + }); | |
53 | + } | |
54 | + | |
55 | +} |
@@ -0,0 +1,46 @@ | ||
1 | +package mirrg.applet.nitrogen.samples; | |
2 | + | |
3 | +import java.awt.Graphics2D; | |
4 | + | |
5 | +import mirrg.applet.nitrogen.AppletNitrogen; | |
6 | +import mirrg.applet.nitrogen.GameThread; | |
7 | +import mirrg.applet.nitrogen.HAppletNitrogen; | |
8 | +import mirrg.applet.nitrogen.events.NitrogenEventApplet; | |
9 | +import mirrg.applet.nitrogen.events.NitrogenEventGameThread; | |
10 | + | |
11 | +public class SampleAppletNitrogenEvent2 extends AppletNitrogen | |
12 | +{ | |
13 | + | |
14 | + private static final long serialVersionUID = 6370904732290917883L; | |
15 | + | |
16 | + private Game1 game; | |
17 | + | |
18 | + public SampleAppletNitrogenEvent2() | |
19 | + { | |
20 | + GameThread gameThread = HAppletNitrogen.applyGameThread(this); | |
21 | + gameThread.objectiveFps = 20; | |
22 | + | |
23 | + getEventManager().register(NitrogenEventApplet.Init.class, event -> { | |
24 | + game = new Game1(this); | |
25 | + }); | |
26 | + getEventManager().register(NitrogenEventGameThread.Init.class, event -> { | |
27 | + game.init(); | |
28 | + }); | |
29 | + getEventManager().register(NitrogenEventGameThread.Tick.class, event -> { | |
30 | + game.move(); | |
31 | + }); | |
32 | + getEventManager().register(NitrogenEventGameThread.Render.class, event -> { | |
33 | + repaint(); | |
34 | + }); | |
35 | + | |
36 | + // | |
37 | + | |
38 | + getEventManager().register(NitrogenEventApplet.Paint.Pre.class, event -> { | |
39 | + event.cancelled = true; | |
40 | + }); | |
41 | + getEventManager().register(NitrogenEventApplet.Paint.class, event -> { | |
42 | + game.paint((Graphics2D) event.graphics); | |
43 | + }); | |
44 | + } | |
45 | + | |
46 | +} |
@@ -0,0 +1,50 @@ | ||
1 | +package mirrg.applet.nitrogen.samples; | |
2 | + | |
3 | +import mirrg.applet.nitrogen.AppletNitrogen; | |
4 | +import mirrg.applet.nitrogen.GameThread; | |
5 | +import mirrg.applet.nitrogen.HAppletNitrogen; | |
6 | +import mirrg.applet.nitrogen.HAppletNitrogenEvent; | |
7 | +import mirrg.applet.nitrogen.TripleBuffer; | |
8 | +import mirrg.applet.nitrogen.events.NitrogenEventApplet; | |
9 | +import mirrg.applet.nitrogen.events.NitrogenEventGameThread; | |
10 | + | |
11 | +public class SampleAppletNitrogenEvent3 extends AppletNitrogen | |
12 | +{ | |
13 | + | |
14 | + private static final long serialVersionUID = 6370904732290917883L; | |
15 | + | |
16 | + private Game1 game; | |
17 | + | |
18 | + public SampleAppletNitrogenEvent3() | |
19 | + { | |
20 | + GameThread gameThread = HAppletNitrogen.applyGameThread(this); | |
21 | + gameThread.objectiveFps = 50; | |
22 | + | |
23 | + getEventManager().register(NitrogenEventApplet.Init.class, event -> { | |
24 | + game = new Game1(this); | |
25 | + }); | |
26 | + getEventManager().register(NitrogenEventGameThread.Init.class, event -> { | |
27 | + game.init(); | |
28 | + }); | |
29 | + getEventManager().register(NitrogenEventGameThread.Tick.class, event -> { | |
30 | + game.move(); | |
31 | + }); | |
32 | + getEventManager().register(NitrogenEventGameThread.Render.class, event -> { | |
33 | + repaint(); | |
34 | + }); | |
35 | + | |
36 | + // | |
37 | + | |
38 | + HAppletNitrogenEvent.adaptComponentEvent(this); | |
39 | + TripleBuffer tripleBuffer = HAppletNitrogen.applyTripleBuffer(this); | |
40 | + | |
41 | + getEventManager().register(NitrogenEventApplet.Paint.class, event -> { | |
42 | + | |
43 | + game.paint(tripleBuffer.getBufferDirty().getGraphics()); | |
44 | + tripleBuffer.flip(); | |
45 | + | |
46 | + event.graphics.drawImage(tripleBuffer.getBufferSafety().getBuffer(), 0, 0, this); | |
47 | + }); | |
48 | + } | |
49 | + | |
50 | +} |
@@ -0,0 +1,62 @@ | ||
1 | +package mirrg.applet.nitrogen.samples; | |
2 | + | |
3 | +import mirrg.applet.nitrogen.AppletNitrogen; | |
4 | +import mirrg.applet.nitrogen.GameThread; | |
5 | +import mirrg.applet.nitrogen.HAppletNitrogen; | |
6 | +import mirrg.applet.nitrogen.HAppletNitrogenEvent; | |
7 | +import mirrg.applet.nitrogen.TripleBuffer; | |
8 | +import mirrg.applet.nitrogen.events.NitrogenEventApplet; | |
9 | +import mirrg.applet.nitrogen.events.NitrogenEventGameThread; | |
10 | +import mirrg.applet.nitrogen.events.NitrogenEventMouseMotion; | |
11 | + | |
12 | +public class SampleAppletNitrogenEvent4 extends AppletNitrogen | |
13 | +{ | |
14 | + | |
15 | + private static final long serialVersionUID = 6370904732290917883L; | |
16 | + | |
17 | + private Game2 game; | |
18 | + | |
19 | + public SampleAppletNitrogenEvent4() | |
20 | + { | |
21 | + GameThread gameThread = HAppletNitrogen.applyGameThread(this); | |
22 | + gameThread.objectiveFps = 50; | |
23 | + | |
24 | + getEventManager().register(NitrogenEventApplet.Init.class, event -> { | |
25 | + game = new Game2(this); | |
26 | + }); | |
27 | + getEventManager().register(NitrogenEventGameThread.Init.class, event -> { | |
28 | + game.init(); | |
29 | + }); | |
30 | + getEventManager().register(NitrogenEventGameThread.Tick.class, event -> { | |
31 | + game.move(); | |
32 | + }); | |
33 | + getEventManager().register(NitrogenEventGameThread.Render.class, event -> { | |
34 | + repaint(); | |
35 | + }); | |
36 | + | |
37 | + HAppletNitrogenEvent.adaptMouseMotionEvent(this); | |
38 | + getEventManager().register(NitrogenEventMouseMotion.class, | |
39 | + this::setPlayerPosition); | |
40 | + | |
41 | + // | |
42 | + | |
43 | + HAppletNitrogenEvent.adaptComponentEvent(this); | |
44 | + TripleBuffer tripleBuffer = HAppletNitrogen.applyTripleBuffer(this); | |
45 | + | |
46 | + getEventManager().register(NitrogenEventApplet.Paint.class, event -> { | |
47 | + | |
48 | + game.paint(tripleBuffer.getBufferDirty().getGraphics()); | |
49 | + tripleBuffer.flip(); | |
50 | + | |
51 | + event.graphics.drawImage(tripleBuffer.getBufferSafety().getBuffer(), 0, 0, this); | |
52 | + }); | |
53 | + } | |
54 | + | |
55 | + public void setPlayerPosition(NitrogenEventMouseMotion event) | |
56 | + { | |
57 | + game.setPlayerPosition( | |
58 | + 1.0 * event.mouseEvent.getX() / getWidth(), | |
59 | + 1.0 * event.mouseEvent.getY() / getHeight()); | |
60 | + } | |
61 | + | |
62 | +} |
@@ -0,0 +1,75 @@ | ||
1 | +package mirrg.applet.nitrogen.samples; | |
2 | + | |
3 | +import java.awt.Font; | |
4 | +import java.awt.Graphics2D; | |
5 | + | |
6 | +import mirrg.applet.nitrogen.AppletNitrogen; | |
7 | +import mirrg.applet.nitrogen.FPSAdjuster; | |
8 | +import mirrg.applet.nitrogen.HAppletNitrogen; | |
9 | +import mirrg.applet.nitrogen.HAppletNitrogen.ResponceApplyStandard; | |
10 | +import mirrg.applet.nitrogen.events.NitrogenEventApplet; | |
11 | +import mirrg.applet.nitrogen.events.NitrogenEventGameThread; | |
12 | + | |
13 | +public class SampleAppletNitrogenEvent5 extends AppletNitrogen | |
14 | +{ | |
15 | + | |
16 | + private static final long serialVersionUID = 6370904732290917883L; | |
17 | + | |
18 | + private Game2 game; | |
19 | + | |
20 | + public SampleAppletNitrogenEvent5() | |
21 | + { | |
22 | + ResponceApplyStandard responce = HAppletNitrogen.applyStandard(this); | |
23 | + responce.gameThread.objectiveFps = 30; | |
24 | + | |
25 | + // | |
26 | + | |
27 | + getEventManager().register(NitrogenEventApplet.Init.class, event -> { | |
28 | + game = new Game2(this); | |
29 | + }); | |
30 | + getEventManager().register(NitrogenEventGameThread.Init.class, event -> { | |
31 | + game.init(); | |
32 | + }); | |
33 | + getEventManager().register(NitrogenEventGameThread.Tick.class, event -> { | |
34 | + game.setPlayerPosition( | |
35 | + 1.0 * responce.inputStatus.getMouseX() / getWidth(), | |
36 | + 1.0 * responce.inputStatus.getMouseY() / getHeight()); | |
37 | + game.move(); | |
38 | + }); | |
39 | + getEventManager().register(NitrogenEventGameThread.PostTick.class, event -> { | |
40 | + responce.inputStatus.spend(); | |
41 | + }); | |
42 | + getEventManager().register(NitrogenEventGameThread.Render.class, event -> { | |
43 | + repaint(); | |
44 | + }); | |
45 | + getEventManager().register(NitrogenEventApplet.Paint.class, event -> { | |
46 | + | |
47 | + { | |
48 | + Graphics2D graphics = responce.tripleBuffer.getBufferDirty().getGraphics(); | |
49 | + | |
50 | + game.paint(graphics); | |
51 | + | |
52 | + drawFPS(graphics, responce.fpsAdjuster); | |
53 | + } | |
54 | + | |
55 | + responce.tripleBuffer.flip(); | |
56 | + | |
57 | + event.graphics.drawImage(responce.tripleBuffer.getBufferSafety().getBuffer(), 0, 0, this); | |
58 | + }); | |
59 | + | |
60 | + } | |
61 | + | |
62 | + private void drawFPS(Graphics2D graphics, FPSAdjuster fpsAdjuster) | |
63 | + { | |
64 | + graphics.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 20)); | |
65 | + graphics.drawString(String.format( | |
66 | + "FPS: %.2f", | |
67 | + fpsAdjuster.getFPS()), | |
68 | + 0, getHeight()); | |
69 | + graphics.drawString(String.format( | |
70 | + "CPU: %.2f%%", | |
71 | + fpsAdjuster.getLoadFactor() * 100), | |
72 | + 0, getHeight() - graphics.getFont().getSize()); | |
73 | + } | |
74 | + | |
75 | +} |
@@ -1,6 +0,0 @@ | ||
1 | -package org.gradle; | |
2 | - | |
3 | -public class PersonTest | |
4 | -{ | |
5 | - | |
6 | -} |