public void PerformMoonCorrection() { int moonPosition; int sunPosition = _sun.Get(); moonPosition = sunPosition + 29; if (moonPosition >= 57) { moonPosition = moonPosition - 56; } _moon.Set(moonPosition); }
private static void DrawSunRing(RenderWindow app, ISunModel sun) { var sunRing = ElementDrawer.CreateRing(app, 240, new Color(255, 255, 255), true); var sunPegPoints = ElementDrawer.CreatePegPoints(app, sunRing, 56, (Math.PI * 2) / 56); Array.Reverse(sunPegPoints); sunPegPoints[sun.Get() - 1].FillColor = new Color(255, 0, 0); foreach (var p in sunPegPoints) { app.Draw(p); } }
public bool CheckLunarEclipse() { bool isEclipse = false; bool node1SunAligned = false; if (_nodesModel.GetNode1Position() == _sunModel.Get() || _nodesModel.GetNode1Position() == _sunModel.Get() - 1 || _nodesModel.GetNode1Position() == _sunModel.Get() + 1) { node1SunAligned = true; } bool node1MoonAligned = false; if (_nodesModel.GetNode1Position() == _moonModel.Get() || _nodesModel.GetNode1Position() == _moonModel.Get() - 1 || _nodesModel.GetNode1Position() == _moonModel.Get() + 1) { node1MoonAligned = true; } bool node2SunAligned = false; if (_nodesModel.GetNode2Position() == _sunModel.Get() || _nodesModel.GetNode2Position() == _sunModel.Get() - 1 || _nodesModel.GetNode2Position() == _sunModel.Get() + 1) { node2SunAligned = true; } bool node2MoonAligned = false; if (_nodesModel.GetNode2Position() == _moonModel.Get() || _nodesModel.GetNode2Position() == _moonModel.Get() - 1 || _nodesModel.GetNode2Position() == _moonModel.Get() + 1) { node2MoonAligned = true; } if ((node1SunAligned == true && node2MoonAligned == true) || (node2SunAligned == true && node1MoonAligned == true)) { isEclipse = true; } return(isEclipse); }
private static void DrawSunRing(SKImageInfo info, SKCanvas canvas, ISunModel sun) { var sunRing = ElementDrawer.CreateRing(info, canvas, Utility.GetWidthValueFromPercentage(info, (float)37.5), new Color(255, 255, 255, 0), true); sunRing.FillColor = new Color(255, 255, 0, 0); var sunPegPoints = ElementDrawer.CreatePegPoints(info, canvas, sunRing, 56); sunPegPoints[sun.Get() - 1].FillColor = new Color(255, 0, 0); foreach (var p in sunPegPoints) { canvas.DrawCircle(p.x, p.y, p.Radius, GetPointPainter(p)); } }