Архитектурный шаблон "Мрак в моделях" на нескольких языках и платформах
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

typeScript.ts 930B

11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
11 mesi fa
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. interface Context {
  2. itemsCount: number
  3. }
  4. interface Position {
  5. x: number
  6. y: number
  7. }
  8. function memoryGap(): number {
  9. return memorySide() + memorySpace()
  10. }
  11. function memoryGroups(c: Context): Record<number, number> {
  12. var items: Record<number, number> = {};
  13. // @ts-ignore
  14. let ids = utsIndexArray(c.itemsCount);
  15. ids.forEach(i => {
  16. // @ts-ignore
  17. items[Number(i)] = utsFloor(Number(i) / 2)
  18. })
  19. return items;
  20. }
  21. function memorySide(): number {
  22. return 50
  23. }
  24. function memorySpace(): number {
  25. return 20
  26. }
  27. function memoryItemPositions(c: Context): Position[] {
  28. var pos: Position[] = []
  29. // @ts-ignore
  30. let ids = utsIndexArray(c.itemsCount);
  31. ids.forEach(i => {
  32. // @ts-ignore
  33. let row = utsFloor(Number(i) / 4)
  34. let x = memoryGap() + (Number(i) - row * 4) * memoryGap()
  35. let y = memoryGap() + row * memoryGap()
  36. // @ts-ignore
  37. pos.push(memoryCreatePosition(x, y))
  38. })
  39. return pos
  40. }