private Star transform(PointF point, int type)
        {
            var star = StarGenerator.MakeStarXY(
                false
                , (int)((point.X) * mapSize)
                , (int)((point.Y) * mapSize)
                );

            star.StarNebulaType = type;

            return(star);
        }
        public void GenerateMap(bool shake = true, bool round = true)
        {
            int id = 0;

            for (int i = 0; i < starsInRow; i++)
            {
                for (int j = 0; j < starsInRow; j++)
                {
                    int  x        = (i * distanceBetweenSuns) + 2;
                    int  y        = (j * distanceBetweenSuns) + 2;
                    var  isPlayer = id % StarsPerPlayer == 0 ? true : false;
                    Star tempStar = StarGenerator.MakeStarXY(isPlayer, x, y);

                    tempStar.Id = id;
                    if (shake)
                    {
                        ShakePosition(tempStar);
                    }

                    stars.Add(tempStar);
                    starsToShake.Add(tempStar);
                    id++;
                }
            }
            if (Textbox != null)
            {
                Textbox.Text = id.ToString() + " - " + stars.Count.ToString() + "  generierte Star Location: " + Environment.NewLine;
            }

            //needed because stars may be too near to each other when shaking was used during star placement
            if (shake)
            {
                shakeAndCheck(0);
            }

            //make a round galaxy.
            if (round)
            {
                MakeRound();
            }

            stars.ForEach(e => Map.addStar(e));
        }