Advertisement
Guest User

Untitled

a guest
Feb 21st, 2020
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 KB | None | 0 0
  1. def log_consumer(name,val,tick):
  2. for i,h in enumerate(val):
  3. s = (name+': '+str(i)+str(h.lines) + ' Потребление: '+str(h.value) + ' Доход: '+str(h.revenue)
  4. + ' Прогноз: ' + str(h.forecast[tick:tick+5]))
  5. yield s
  6.  
  7. def log_generator(name,val):
  8. for i,h in enumerate(val):
  9. s = name+': '+str(i)+str(h.lines) + ' Генерация: '+str(h.value)
  10. yield s
  11.  
  12. def log_offer(name,val):
  13. for i,h in enumerate(val):
  14. s = (name+': '+str(i) + ' Объём энергии: '+str(h.flux) + ' Выплата: '+str(h.price)
  15. + ' Длительность: '+str(h.duration))
  16. yield s
  17.  
  18. def log_all(psm):
  19. tick = psm.tick
  20. yield '-------------------------------------------------'
  21. yield 'Тик: ' + str(tick) + ' Счёт: ' + str(psm.score)
  22. yield ''
  23. yield 'Потери на линиях: ' + str(psm.losses)
  24. yield ''
  25. for s in log_consumer('Дом',psm.houses,tick):
  26. yield s
  27. yield ''
  28. for s in log_consumer('Больница',psm.hospitals,tick):
  29. yield s
  30. yield ''
  31. for s in log_consumer('Завод',psm.factories,tick):
  32. yield s
  33. yield ''
  34. for s in log_generator('Солнечные',psm.sun_gens):
  35. yield s
  36. yield ''
  37. for s in log_generator('Ветровые',psm.wind_gens):
  38. yield s
  39. yield ''
  40. yield 'Заранее куплено: ' + str(psm.external.manual.buy) + ' Продано: ' + str(psm.external.manual.sell)
  41. yield 'Автоматическая покупка: ' + str(psm.external.automatic.buy) + ' Продажа: ' + str(psm.external.automatic.sell)
  42. yield 'Запланированная покупка: ' + str(psm.external.outstanding.buy[tick:tick+5])
  43. yield 'Запланированная продажа: ' + str(psm.external.outstanding.sell[tick:tick+5])
  44. yield ''
  45. yield ('Заряд: ' + str(psm.grav.charge) + ' Ёмкость: ' + str(psm.grav.capacity)
  46. + ' Макс. заряд: ' + str(psm.grav.charge_rate) + ' Макс. разряд: ' + str(psm.grav.discharge_rate))
  47. yield ''
  48. yield 'Сила ветра: ' + str(psm.wind.value) + ' Прогноз: ' + str(psm.wind.forecast[tick:tick+5])
  49. yield 'Яркость солнца: ' + str(psm.sun.value) + ' Прогноз: ' + str(psm.sun.forecast[tick:tick+5])
  50. yield ''
  51. for s in log_offer('Биржа buy',psm.offers.buy):
  52. yield s
  53. for s in log_offer('Биржа sell',psm.offers.sell):
  54. yield s
  55. yield ''
  56.  
  57.  
  58. for s in log_all(psm):
  59. print(s)
  60.  
  61.  
  62. with open('log_file.txt', 'a') as f:
  63. for s in log_all(psm):
  64. f.write(s+'\n')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement