Research portable Memory game | Исследовать портируемую игру Память
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.

130 lines
3.7KB

  1. import arcade
  2. from cli import *
  3. from cli_test import *
  4. from ctx import *
  5. from ctx_test2 import *
  6. from desktop import *
  7. from desktop_Platform import *
  8. from desktop_SequentialTimer import *
  9. from desktop_Window import *
  10. from gui import *
  11. from gui_aux import *
  12. from gui_aux_test import *
  13. from gui_test import *
  14. from llm_test import *
  15. from llm_test_Python import *
  16. from memory_test import *
  17. import sys
  18. print(ctx_test_Controller_executeFunctions_registerFunction_set())
  19. print(ctx_test_Controller_processQueue())
  20. print(ctx_test_Controller_registerFieldCallback_match())
  21. print(ctx_test_Controller_registerFieldCallback_mismatch())
  22. print(ctx_test_memoryContext_field())
  23. print(ctx_test_memoryContext_setField())
  24. print(llm_test_Python_copyByValue())
  25. print(llm_test_isDigit_digit())
  26. print(llm_test_isDigit_notDigit())
  27. print(llm_test_strToInt())
  28. print(memory_test_detectMismatchedItems())
  29. print(memory_test_detectMismatchedItems_itemTwice())
  30. print(memory_test_detectVictory())
  31. print(memory_test_generateConstPlayfield())
  32. print(memory_test_hideMatchingItems())
  33. print(memory_test_selectItem_1x())
  34. print(memory_test_selectItem_2x())
  35. print(memory_test_selectItem_3x())
  36. print(cli_test_exit_e())
  37. print(cli_test_exit_exit())
  38. print(cli_test_exit_victory())
  39. print(cli_test_exit_q())
  40. print(cli_test_exit_quit())
  41. print(cli_test_goOn())
  42. print(cli_test_greetUser())
  43. print(cli_test_showHelp_h())
  44. print(cli_test_showHelp_help())
  45. print(cli_test_selectItem())
  46. print(cli_test_promptSecondItemSelection())
  47. print(cli_test_reportMatchedItems())
  48. print(cli_test_reportMismatchedItems())
  49. print(cli_test_reportVictory())
  50. print(test_gui_aux_cellGridPositions())
  51. print(test_gui_generateTextureDescriptions())
  52. print(test_gui_generateTilePositions())
  53. ctrl = ctx_Controller(memory_createContext())
  54. ctrl.registerFunctions([
  55. # cli_exit,
  56. # cli_goOn,
  57. # cli_greetUser,
  58. # cli_promptSecondItemSelection,
  59. # cli_reportMatchedItems,
  60. # cli_reportMismatchedItems,
  61. # cli_reportVictory,
  62. # cli_selectItem,
  63. # cli_showHelp,
  64. gui_generateTextureDescriptions,
  65. gui_generateTilePositions,
  66. memory_detectMismatchedItems,
  67. memory_detectVictory,
  68. memory_generateConstPlayfield,
  69. memory_hideMatchingItems,
  70. memory_selectItem,
  71. ])
  72. def printDbg(c):
  73. print(f"Dbg key/value: '{c.recentField}'/'{c.field(c.recentField)}'")
  74. ctrl.registerCallback(printDbg)
  75. ctrl.registerFieldCallback("exit", lambda c: sys.exit(0))
  76. p = desktop_Platform()
  77. p.ctrl = ctrl
  78. p.sequentialTimer = desktop_SequentialTimer()
  79. p.sequentialTimer.callback = lambda key, value: ctrl.set(key, value)
  80. # Bind platform to context changes.
  81. def process(c):
  82. # Copy context to platform.
  83. p.c = c
  84. # Perform context dependent calls of desktop functions.
  85. # Similar to context functions, but no platform is returned.
  86. desktop_deselectMismatchedTiles(p)
  87. desktop_displaySelectedTile(p)
  88. desktop_hideMatchingTiles(p)
  89. desktop_scheduleHidingOfMatchingTiles(p)
  90. desktop_scheduleDeselectionOfMismatchedTiles(p)
  91. ctrl.registerCallback(process)
  92. ctrl.set("didLaunch", True)
  93. ctrl.set("playfieldSize", 2)
  94. ctrl.set("cellPositions", gui_aux_cellGridPositions(2))
  95. ctrl.set("cellSize", 25)
  96. ctrl.set("deselectMismatchedTilesDelay", 500)
  97. ctrl.set("hideMatchingTilesDelay", 500)
  98. ctrl.set("tileImage", "res/harmful-tiles.png")
  99. ctrl.set("tileImageCount", 8)
  100. ctrl.set("tileImageHeight", 100)
  101. ctrl.set("tileImageWidth", 75)
  102. ctrl.set("titleImage", "res/harmful-titles.png")
  103. ctrl.set("titleImageCount", 6)
  104. ctrl.set("titleImageHeight", 100)
  105. ctrl.set("titleImageWidth", 700)
  106. ctrl.set("titlePosition", [4, 1])
  107. ctrl.set("windowWidth", 900)
  108. ctrl.set("windowHeight", 600)
  109. ctrl.set("windowAntialiasing", False)
  110. ctrl.set("windowBackgroundColor", "#ffffff")
  111. ctrl.set("windowTitle", "OGS Memory")
  112. desktop_loadTextures(p)
  113. desktop_createDeselectedTiles(p)
  114. desktop_createSelectedTiles(p)
  115. wnd = desktop_Window(p)
  116. arcade.run()