Research portable Memory game | Исследовать портируемую игру Память
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

150 рядки
4.2KB

  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_generateDescTextureDescriptions,
  65. gui_generateTextureDescriptions,
  66. gui_generateTilePositions,
  67. gui_generateTitleTextureDescriptions,
  68. memory_detectMismatchedItems,
  69. memory_detectVictory,
  70. memory_generateConstPlayfield,
  71. memory_hideMatchingItems,
  72. memory_selectItem,
  73. ])
  74. def printDbg(c):
  75. print(f"Dbg key/value: '{c.recentField}'/'{c.field(c.recentField)}'")
  76. #ctrl.registerCallback(printDbg)
  77. ctrl.registerFieldCallback("exit", lambda c: sys.exit(0))
  78. p = desktop_Platform()
  79. p.ctrl = ctrl
  80. p.sequentialTimer = desktop_SequentialTimer()
  81. p.sequentialTimer.callback = lambda key, value: ctrl.set(key, value)
  82. # Bind platform to context changes.
  83. def process(c):
  84. # Copy context to platform.
  85. p.c = c
  86. # Perform context dependent calls of desktop functions.
  87. # Similar to context functions, but no platform is returned.
  88. desktop_deselectMismatchedTiles(p)
  89. desktop_displayDesc(p)
  90. desktop_displaySelectedTile(p)
  91. desktop_displayTitle(p)
  92. desktop_hideDesc(p)
  93. desktop_hideMatchingTiles(p)
  94. desktop_hideTitle(p)
  95. desktop_scheduleHidingOfMatchingTiles(p)
  96. desktop_scheduleDeselectionOfMismatchedTiles(p)
  97. ctrl.registerCallback(process)
  98. ctrl.set("didLaunch", True)
  99. ctrl.set("playfieldSize", 6)
  100. ctrl.set("cellPositions", gui_aux_cellHarmPositions())
  101. ctrl.set("cellSize", 25)
  102. ctrl.set("deselectMismatchedTilesDelay", 500)
  103. ctrl.set("descImage", "res/harm.png")
  104. ctrl.set("descImageCount", 6)
  105. ctrl.set("descImageHeight", 250)
  106. ctrl.set("descImageWidth", 375)
  107. ctrl.set("descPosition", [19, 12])
  108. ctrl.set("hideMatchingTilesDelay", 500)
  109. ctrl.set("tileImage", "res/harmful-tiles.png")
  110. ctrl.set("tileImageCount", 8)
  111. ctrl.set("tileImageHeight", 100)
  112. ctrl.set("tileImageWidth", 75)
  113. ctrl.set("titleImage", "res/harmful-titles.png")
  114. ctrl.set("titleImageCount", 6)
  115. ctrl.set("titleImageHeight", 100)
  116. ctrl.set("titleImageWidth", 700)
  117. ctrl.set("titlePosition", [4, 1])
  118. ctrl.set("windowWidth", 900)
  119. ctrl.set("windowHeight", 600)
  120. ctrl.set("windowAntialiasing", False)
  121. ctrl.set("windowBackgroundColor", "#ffffff")
  122. ctrl.set("windowTitle", "Вредные продукты")
  123. desktop_loadTextures(p)
  124. desktop_createDeselectedTiles(p)
  125. desktop_createSelectedTiles(p)
  126. desktop_loadTitleTextures(p)
  127. desktop_createTitle(p)
  128. desktop_loadDescTextures(p)
  129. desktop_createDesc(p)
  130. desktop_loadSplashTextures(p)
  131. desktop_createSplash(p)
  132. wnd = desktop_Window(p)
  133. arcade.run()