diff --git a/src/yugecin/opsudance/Dancer.java b/src/yugecin/opsudance/Dancer.java index 0e47156a..a1810519 100644 --- a/src/yugecin/opsudance/Dancer.java +++ b/src/yugecin/opsudance/Dancer.java @@ -19,7 +19,6 @@ package yugecin.opsudance; import awlex.ospu.movers.factories.CenterSpiralMoverFactory; import awlex.ospu.movers.factories.SpiralMoverFactory; -import awlex.ospu.polymover.PolyMover; import awlex.ospu.polymover.factory.ArcFactory; import awlex.ospu.polymover.factory.LinearFactory; import awlex.ospu.polymover.factory.PolyMoverFactory; @@ -41,7 +40,7 @@ import yugecin.opsudance.spinners.*; public class Dancer { - public static MoverFactory[] moverFactories = new MoverFactory[]{ + public static MoverFactory[] moverFactories = new MoverFactory[] { new AutoMoverFactory(), new AutoEllipseMoverFactory(), new CircleMoverFactory(), @@ -57,7 +56,7 @@ public class Dancer { new ArcFactory(), }; - public static Spinner[] spinners = new Spinner[]{ + public static Spinner[] spinners = new Spinner[] { new RektSpinner(), new BeamSpinner(), new CircleSpinner(), @@ -69,9 +68,10 @@ public class Dancer { new RektCircleSpinner(), new ApproachCircleSpinner(), new SpiralSpinner(), + new FivePointStarSpinner(), }; - public static SliderMoverController[] sliderMovers = new SliderMoverController[]{ + public static SliderMoverController[] sliderMovers = new SliderMoverController[] { new DefaultSliderMoverController(), new InheritedSliderMoverController(), }; diff --git a/src/yugecin/opsudance/spinners/FivePointStarSpinner.java b/src/yugecin/opsudance/spinners/FivePointStarSpinner.java new file mode 100644 index 00000000..4d1d9e41 --- /dev/null +++ b/src/yugecin/opsudance/spinners/FivePointStarSpinner.java @@ -0,0 +1,52 @@ +/* + * opsu!dance - fork of opsu! with cursordance auto + * Copyright (C) 2016 yugecin + * + * opsu!dance is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * opsu!dance is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with opsu!dance. If not, see . + */ +package yugecin.opsudance.spinners; + +import itdelatrisu.opsu.Options; + +public class FivePointStarSpinner extends Spinner { + + @Override + public void init() { + double[][] points = new double[10][]; + double midx = Options.width / 2d; + double midy = Options.height / 2d; + double angleIncRads = Math.PI * 36d / 180d; + double ang = -Math.PI / 2d; + double maxrad = Options.width / 4d; + double minrad = maxrad / 3d; + for (int i = 0; i < 10; i++) { + double rad = maxrad; + if (i % 2 == 1) { + rad = minrad; + } + points[i] = new double[] { + midx + Math.cos(ang) * rad, + midy + Math.sin(ang) * rad + }; + ang += angleIncRads; + } + init(points); + } + + @Override + public String toString() { + return "5-point star"; + } + +}