Advertisement
Guest User

Untitled

a guest
May 25th, 2018
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. static void Main(string[] args)
  2. {
  3. int xpos, ypos;
  4. for (int i = 1; i <= 16; i++)
  5. {
  6. GetPos(i, out xpos, out ypos);
  7. Console.WriteLine($"{i}: x={xpos}, y={ypos}");
  8. }
  9. Console.ReadLine();
  10. }
  11.  
  12. static void GetPos(int value, out int posx, out int posy)
  13. {
  14. value -= 1;
  15. double temp = 22.5 * (90 / 22.5 - (value % 4));
  16.  
  17. posy = (int)Math.Round(Math.Sin(temp * Math.PI / 180) * 40);
  18. posx = (int)Math.Round(Math.Cos(temp * Math.PI / 180) * 40);
  19.  
  20. temp = (value - value % 4) / 4.0;
  21.  
  22. switch (temp)
  23. {
  24. case 0:
  25. posy += 50;
  26. posx += 50;
  27. break;
  28. case 1:
  29. temp = posx;
  30. posx = posy;
  31. posy = (int)temp;
  32. posy *= -1;
  33. posy += 50;
  34. posx += 50;
  35. break;
  36. case 2:
  37. posx *= -1;
  38. posy *= -1;
  39. posx += 50;
  40. posy += 50;
  41. break;
  42. case 3:
  43. temp = posx;
  44. posx = posy;
  45. posy = (int)temp;
  46. posx *= -1;
  47. posx += 50;
  48. posy += 50;
  49. break;
  50. }
  51. }
  52.  
  53.  
  54. 1: x=50, y=90
  55. 2: x=65, y=87
  56. 3: x=78, y=78
  57. 4: x=87, y=65
  58. 5: x=90, y=50
  59. 6: x=87, y=35
  60. 7: x=78, y=22
  61. 8: x=65, y=13
  62. 9: x=50, y=10
  63. 10: x=35, y=13
  64. 11: x=22, y=22
  65. 12: x=13, y=35
  66. 13: x=10, y=50
  67. 14: x=13, y=65
  68. 15: x=22, y=78
  69. 16: x=35, y=87
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement