Архитектурный шаблон "Мрак в моделях" на нескольких языках и платформах
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

38 rindas
727B

  1. protocol Context {
  2. var itemsCount: Float { get }
  3. }
  4. protocol Position {
  5. var x: Float { get }
  6. var y: Float { get }
  7. }
  8. func memoryGap() -> Float {
  9. return memorySide() + memorySpace()
  10. }
  11. func memorySide() -> Float {
  12. return 50
  13. }
  14. func memorySpace() -> Float {
  15. return 20
  16. }
  17. func memoryItemPositions(c: Context) -> [Position] {
  18. var pos: [Position] = []
  19. // @ts-ignore
  20. let ids = utsIndexArray(c.itemsCount);
  21. ids.forEach { ii in
  22. let i = Float(ii);
  23. // @ts-ignore
  24. let row = utsFloor(i / 4)
  25. let x = memoryGap() + (i - row * 4) * memoryGap()
  26. let y = memoryGap() + row * memoryGap()
  27. // @ts-ignore
  28. pos.push(memoryCreatePosition(x, y))
  29. }
  30. return pos
  31. }