|
- from memory_Context import *
- from llm import *
-
-
-
-
-
-
-
- @llm_by_value
- def memory_detectMismatchedItems(
- c: memory_Context
- ) -> memory_Context:
- if not (
- c.recentField == "selectedItems" and
- len(c.selectedItems) == 2
- ):
- c.recentField = "none"
- return c
-
- if (
- c.selectedItems[0] == c.selectedItems[1]
- ):
- c.mismatchedItems.clear()
- c.mismatchedItems.append(c.selectedItems[0])
- c.recentField = "mismatchedItems"
- return c
-
- if (
- c.playfieldItems[c.selectedItems[0]] != c.playfieldItems[c.selectedItems[1]]
- ):
- c.mismatchedItems.clear()
- c.mismatchedItems.append(c.selectedItems[0])
- c.mismatchedItems.append(c.selectedItems[1])
- c.recentField = "mismatchedItems"
- return c
-
- c.recentField = "none"
- return c
-
-
-
-
-
-
- @llm_by_value
- def memory_detectVictory(
- c: memory_Context
- ) -> memory_Context:
- if (
- c.recentField == "hiddenItems" and
- len(c.hiddenItems) == len(c.playfieldItems)
- ):
- c.victory = True
- c.recentField = "victory"
- return c
-
- c.recentField = "none"
- return c
-
-
-
-
-
-
-
-
- @llm_by_value
- def memory_generateConstPlayfield(
- c: memory_Context
- ) -> memory_Context:
- if not (
- c.recentField == "playfieldSize"
- ):
- c.recentField = "none"
- return c
-
-
- idGroups: dict[int, int] = { }
- id = 0
- for gid in range(0, c.playfieldSize):
- idGroups[id] = gid
- id += 1
- idGroups[id] = gid
- id += 1
-
- c.playfieldItems = idGroups
- c.recentField = "playfieldItems"
- return c
-
-
-
-
-
-
- @llm_by_value
- def memory_hideMatchingItems(
- c: memory_Context
- ) -> memory_Context:
- if (
- c.recentField == "selectedItems" and
- len(c.selectedItems) == 2 and
- c.playfieldItems[c.selectedItems[0]] == c.playfieldItems[c.selectedItems[1]]
- ):
- c.hiddenItems.append(c.selectedItems[0])
- c.hiddenItems.append(c.selectedItems[1])
- c.recentField = "hiddenItems"
- return c
-
- c.recentField = "none"
- return c
-
-
-
-
-
-
- @llm_by_value
- def memory_selectItem(
- c: memory_Context
- ) -> memory_Context:
- if not (
- c.recentField == "selectedId"
- ):
- c.recentField = "none"
- return c
-
-
- if (
- len(c.selectedItems) == 2
- ):
- c.selectedItems.clear()
-
- c.selectedItems.append(c.selectedId)
- c.recentField = "selectedItems"
- return c
-
|