d
This commit is contained in:
16
v3/main.py
16
v3/main.py
@@ -1,11 +1,7 @@
|
|||||||
from entities import *
|
from memory_api_test import *
|
||||||
from functions import *
|
|
||||||
|
|
||||||
print(test_memory_generateConstPlayfield())
|
print(memory_api_test_deselectMismatchedItems())
|
||||||
print(test_selectOneItem())
|
print(memory_api_test_detectVictory())
|
||||||
print(test_selectTwoItems())
|
print(memory_api_test_generateConstPlayfield())
|
||||||
print(test_selectThreeItems())
|
print(memory_api_test_hideMatchingItems())
|
||||||
print(test_memory_hideMatchingItems())
|
print(memory_api_test_selectItem())
|
||||||
print(test_memory_deselectMismatchedItems())
|
|
||||||
print(test_memory_detectVictory())
|
|
||||||
print(test_passContextByValue())
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from entities import *
|
from memory_api_Context import *
|
||||||
from llm import *
|
from llm import *
|
||||||
|
|
||||||
# Detect victory
|
# Detect victory
|
||||||
@@ -7,8 +7,8 @@ from llm import *
|
|||||||
# 1. Matching items have just been hidden and all items are hidden now
|
# 1. Matching items have just been hidden and all items are hidden now
|
||||||
@llm_by_value
|
@llm_by_value
|
||||||
def memory_api_detectVictory(
|
def memory_api_detectVictory(
|
||||||
c: MemoryContext
|
c: memory_api_Context
|
||||||
) -> MemoryContext:
|
) -> memory_api_Context:
|
||||||
if (
|
if (
|
||||||
c.recentField == "hiddenItems" and
|
c.recentField == "hiddenItems" and
|
||||||
len(c.hiddenItems) == len(c.playfieldItems)
|
len(c.hiddenItems) == len(c.playfieldItems)
|
||||||
@@ -27,8 +27,8 @@ def memory_api_detectVictory(
|
|||||||
# 1. Two items are selected and they are of different groups
|
# 1. Two items are selected and they are of different groups
|
||||||
@llm_by_value
|
@llm_by_value
|
||||||
def memory_api_deselectMismatchedItems(
|
def memory_api_deselectMismatchedItems(
|
||||||
c: MemoryContext
|
c: memory_api_Context
|
||||||
) -> MemoryContext:
|
) -> memory_api_Context:
|
||||||
if (
|
if (
|
||||||
c.recentField == "selectedItems" and
|
c.recentField == "selectedItems" and
|
||||||
len(c.selectedItems) == 2 and
|
len(c.selectedItems) == 2 and
|
||||||
@@ -47,8 +47,8 @@ def memory_api_deselectMismatchedItems(
|
|||||||
# Generate constant playfield suitable for testing and debugging
|
# Generate constant playfield suitable for testing and debugging
|
||||||
@llm_by_value
|
@llm_by_value
|
||||||
def memory_api_generateConstPlayfield(
|
def memory_api_generateConstPlayfield(
|
||||||
c: MemoryContext
|
c: memory_api_Context
|
||||||
) -> MemoryContext:
|
) -> memory_api_Context:
|
||||||
idGroups: dict[int, int] = { }
|
idGroups: dict[int, int] = { }
|
||||||
id = 0
|
id = 0
|
||||||
for gid in range(0, c.playfieldSize):
|
for gid in range(0, c.playfieldSize):
|
||||||
@@ -68,8 +68,8 @@ def memory_api_generateConstPlayfield(
|
|||||||
# 1. Two items are selected and they are of the same group
|
# 1. Two items are selected and they are of the same group
|
||||||
@llm_by_value
|
@llm_by_value
|
||||||
def memory_api_hideMatchingItems(
|
def memory_api_hideMatchingItems(
|
||||||
c: MemoryContext
|
c: memory_api_Context
|
||||||
) -> MemoryContext:
|
) -> memory_api_Context:
|
||||||
if (
|
if (
|
||||||
c.recentField == "selectedItems" and
|
c.recentField == "selectedItems" and
|
||||||
len(c.selectedItems) == 2 and
|
len(c.selectedItems) == 2 and
|
||||||
@@ -91,8 +91,8 @@ def memory_api_hideMatchingItems(
|
|||||||
# 2. Item has just been selected
|
# 2. Item has just been selected
|
||||||
@llm_by_value
|
@llm_by_value
|
||||||
def memory_api_selectItem(
|
def memory_api_selectItem(
|
||||||
c: MemoryContext
|
c: memory_api_Context
|
||||||
) -> MemoryContext:
|
) -> memory_api_Context:
|
||||||
if (
|
if (
|
||||||
len(c.selectedItems) == 2
|
len(c.selectedItems) == 2
|
||||||
):
|
):
|
||||||
19
v3/memory_api_Context.py
Normal file
19
v3/memory_api_Context.py
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
class memory_api_Context:
|
||||||
|
def __init__(self):
|
||||||
|
self.hiddenItems = []
|
||||||
|
self.mismatchedItems = []
|
||||||
|
self.playfieldItems = {}
|
||||||
|
self.playfieldSize = 0
|
||||||
|
self.recentField = None
|
||||||
|
self.selectedId = None
|
||||||
|
self.selectedItems = []
|
||||||
|
self.victory = False
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return self.__str__()
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f"memory_api_Context(playfieldI/playfieldS/recentF/selectedId/selectedI: '{self.playfieldItems}'/'{self.playfieldSize}'/'{self.recentField}'/'{self.selectedId}'/'{self.selectedItems}')"
|
||||||
|
|
||||||
|
def memory_api_createContext():
|
||||||
|
return memory_api_Context()
|
||||||
143
v3/memory_api_test.py
Normal file
143
v3/memory_api_test.py
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
from memory_api import *
|
||||||
|
from memory_api_Context import *
|
||||||
|
from llm import *
|
||||||
|
|
||||||
|
def memory_api_test_deselectMismatchedItems(
|
||||||
|
) -> str:
|
||||||
|
c = memory_api_createContext()
|
||||||
|
c.playfieldSize = 2
|
||||||
|
c = memory_api_generateConstPlayfield(c)
|
||||||
|
|
||||||
|
# Select two items of different groups.
|
||||||
|
c.selectedId = 0
|
||||||
|
c.recentField = "selectedId"
|
||||||
|
c = memory_api_selectItem(c)
|
||||||
|
c.selectedId = 2
|
||||||
|
c.recentField = "selectedId"
|
||||||
|
c = memory_api_selectItem(c)
|
||||||
|
|
||||||
|
# Detect mismatching.
|
||||||
|
c = memory_api_deselectMismatchedItems(c)
|
||||||
|
|
||||||
|
# See if the two selected items do not match.
|
||||||
|
if (
|
||||||
|
c.recentField == "mismatchedItems" and
|
||||||
|
len(c.mismatchedItems) == 2 and
|
||||||
|
c.mismatchedItems[0] == 0 and
|
||||||
|
c.mismatchedItems[1] == 2
|
||||||
|
):
|
||||||
|
return "OK: memory_api_deselectMismatchedItems"
|
||||||
|
#}
|
||||||
|
return "ERR: memory_api_deselectMismatchedItems"
|
||||||
|
#}
|
||||||
|
|
||||||
|
def memory_api_test_detectVictory(
|
||||||
|
) -> str:
|
||||||
|
c = memory_api_createContext()
|
||||||
|
c.playfieldSize = 2
|
||||||
|
c = memory_api_generateConstPlayfield(c)
|
||||||
|
|
||||||
|
# Select the first two items of the same group.
|
||||||
|
c.selectedId = 0
|
||||||
|
c.recentField = "selectedId"
|
||||||
|
c = memory_api_selectItem(c)
|
||||||
|
c.selectedId = 1
|
||||||
|
c.recentField = "selectedId"
|
||||||
|
c = memory_api_selectItem(c)
|
||||||
|
|
||||||
|
# Hide the first pair.
|
||||||
|
c = memory_api_hideMatchingItems(c)
|
||||||
|
|
||||||
|
# Select the last two items of the same group.
|
||||||
|
c.selectedId = 2
|
||||||
|
c.recentField = "selectedId"
|
||||||
|
c = memory_api_selectItem(c)
|
||||||
|
c.selectedId = 3
|
||||||
|
c.recentField = "selectedId"
|
||||||
|
c = memory_api_selectItem(c)
|
||||||
|
|
||||||
|
# Hide the second pair.
|
||||||
|
c = memory_api_hideMatchingItems(c)
|
||||||
|
|
||||||
|
# Detect victory.
|
||||||
|
c = memory_api_detectVictory(c)
|
||||||
|
|
||||||
|
# See if victory has been detected.
|
||||||
|
if (
|
||||||
|
c.recentField == "victory" and
|
||||||
|
c.victory == True
|
||||||
|
):
|
||||||
|
return "OK: memory_api_detectVictory"
|
||||||
|
#}
|
||||||
|
return "ERR: memory_api_detectVictory"
|
||||||
|
#}
|
||||||
|
|
||||||
|
def memory_api_test_generateConstPlayfield(
|
||||||
|
) -> str:
|
||||||
|
c = memory_api_createContext()
|
||||||
|
c.playfieldSize = 2
|
||||||
|
c = memory_api_generateConstPlayfield(c)
|
||||||
|
if (
|
||||||
|
c.recentField == "playfieldItems" and
|
||||||
|
len(c.playfieldItems) == 4 and
|
||||||
|
c.playfieldItems[0] == 0 and
|
||||||
|
c.playfieldItems[1] == 0 and
|
||||||
|
c.playfieldItems[2] == 1 and
|
||||||
|
c.playfieldItems[3] == 1
|
||||||
|
):
|
||||||
|
return "OK: memory_api_generateConstPlayfield"
|
||||||
|
#}
|
||||||
|
return "ERR: memory_api_generateConstPlayfield"
|
||||||
|
#}
|
||||||
|
|
||||||
|
def memory_api_test_hideMatchingItems(
|
||||||
|
) -> str:
|
||||||
|
c = memory_api_createContext()
|
||||||
|
c.playfieldSize = 2
|
||||||
|
c = memory_api_generateConstPlayfield(c)
|
||||||
|
|
||||||
|
# Select two items of the same group.
|
||||||
|
c.selectedId = 0
|
||||||
|
c.recentField = "selectedId"
|
||||||
|
c = memory_api_selectItem(c)
|
||||||
|
c.selectedId = 1
|
||||||
|
c.recentField = "selectedId"
|
||||||
|
c = memory_api_selectItem(c)
|
||||||
|
|
||||||
|
# Hide matching items.
|
||||||
|
c = memory_api_hideMatchingItems(c)
|
||||||
|
|
||||||
|
# See if the two selected items match.
|
||||||
|
if (
|
||||||
|
c.recentField == "hiddenItems" and
|
||||||
|
len(c.hiddenItems) == 2 and
|
||||||
|
c.hiddenItems[0] == 0 and
|
||||||
|
c.hiddenItems[1] == 1
|
||||||
|
):
|
||||||
|
return "OK: memory_api_hideMatchingItems"
|
||||||
|
#}
|
||||||
|
return "ERR: memory_api_hideMatchingItems"
|
||||||
|
#}
|
||||||
|
|
||||||
|
def memory_api_test_selectItem(
|
||||||
|
) -> str:
|
||||||
|
c = memory_api_createContext()
|
||||||
|
c.playfieldSize = 2
|
||||||
|
c = memory_api_generateConstPlayfield(c)
|
||||||
|
|
||||||
|
# Select the first item.
|
||||||
|
c.selectedId = 0
|
||||||
|
c.recentField = "selectedId"
|
||||||
|
c = memory_api_selectItem(c)
|
||||||
|
|
||||||
|
# See if it's in selectedItems now.
|
||||||
|
if (
|
||||||
|
c.recentField == "selectedItems" and
|
||||||
|
len(c.selectedItems) == 1 and
|
||||||
|
c.selectedItems[0] == 0
|
||||||
|
):
|
||||||
|
return "OK: memory_api_selectItem"
|
||||||
|
#}
|
||||||
|
return "ERR: memory_api_selectItem"
|
||||||
|
#}
|
||||||
|
|
||||||
Reference in New Issue
Block a user