sound.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package sound
  2. import (
  3. "fmt"
  4. "os/exec"
  5. )
  6. /*
  7. Играет простые мелодии в кончоле при наступлении каких-либо событий
  8. */
  9. const ( // Ноты для проигрывания, Гц
  10. do = 261.63
  11. re = 293.66
  12. mi = 329.63
  13. fa = 349.23
  14. sol = 392.00
  15. la = 440.00
  16. si = 493.88
  17. )
  18. // Battle -- играет звук начала битвы
  19. func Battle() {
  20. play(do)
  21. play(re)
  22. play(re)
  23. }
  24. // DivWar -- играет звук начала сражения дивизий
  25. func DivWar() {
  26. play(mi)
  27. play(fa)
  28. play(fa)
  29. }
  30. // MineForce -- играет звук ускорения апгрейда шахты
  31. func MineForce() {
  32. play(sol)
  33. play(sol)
  34. play(sol)
  35. }
  36. // ArsenalForce -- играет звук ускорения апгрейда арсенала
  37. func ArsenalForce() {
  38. play(re)
  39. play(re)
  40. play(re)
  41. }
  42. // BankTake -- играет звук забрать серебро
  43. func BankTake() {
  44. play(si)
  45. play(la)
  46. play(sol)
  47. }
  48. // BankForce -- играет звук ускорения апгрейда банка
  49. func BankForce() {
  50. play(fa)
  51. play(fa)
  52. play(fa)
  53. }
  54. // Polygon -- играет звук работы полигона
  55. func Polygon() {
  56. play(la)
  57. play(re)
  58. play(mi)
  59. }
  60. // Shot -- звук выстрела
  61. func Shot() {
  62. cmd := exec.Command("./beep", "-f=1200.0", "-t=50", "-v=25")
  63. _ = cmd.Start()
  64. _ = cmd.Wait()
  65. cmd = exec.Command("./beep", "-f=1300.0", "-t=50", "-v=25")
  66. _ = cmd.Start()
  67. _ = cmd.Wait()
  68. cmd = exec.Command("./beep", "-f=1400.0", "-t=50", "-v=25")
  69. _ = cmd.Start()
  70. _ = cmd.Wait()
  71. }
  72. // Repair -- звук восстановления здоровья
  73. func Repair() {
  74. cmd := exec.Command("./beep", "-f=1500.0", "-t=50", "-v=25")
  75. _ = cmd.Start()
  76. _ = cmd.Wait()
  77. cmd = exec.Command("./beep", "-f=1750.0", "-t=50", "-v=25")
  78. _ = cmd.Start()
  79. _ = cmd.Wait()
  80. cmd = exec.Command("./beep", "-f=2000.0", "-t=50", "-v=25")
  81. _ = cmd.Start()
  82. _ = cmd.Wait()
  83. }
  84. // HelthDown -- звук потери здоровья
  85. func HelthDown() {
  86. cmd := exec.Command("./beep", "-f=800.0", "-t=50", "-v=25")
  87. _ = cmd.Start()
  88. _ = cmd.Wait()
  89. cmd = exec.Command("./beep", "-f=700.0", "-t=50", "-v=25")
  90. _ = cmd.Start()
  91. _ = cmd.Wait()
  92. cmd = exec.Command("./beep", "-f=6000.0", "-t=50", "-v=25")
  93. _ = cmd.Start()
  94. _ = cmd.Wait()
  95. }
  96. // Manver -- звук выполнения манёвра
  97. func Manevr() {
  98. cmd := exec.Command("./beep", "-f=150.0", "-t=25", "-v=25")
  99. _ = cmd.Start()
  100. _ = cmd.Wait()
  101. cmd = exec.Command("./beep", "-f=150.0", "-t=25", "-v=25")
  102. _ = cmd.Start()
  103. _ = cmd.Wait()
  104. cmd = exec.Command("./beep", "-f=150.0", "-t=25", "-v=25")
  105. _ = cmd.Start()
  106. _ = cmd.Wait()
  107. }
  108. func play(note float32) {
  109. cmd := exec.Command("./beep", "-f="+fmt.Sprintf("%0.2f", note), "-t=100", "-v=25")
  110. _ = cmd.Start()
  111. _ = cmd.Wait()
  112. cmd = exec.Command("./beep", "-f=0", "-t=20", "-v=25")
  113. _ = cmd.Start()
  114. _ = cmd.Wait()
  115. }