单词搜索拼图生成器
项目描述
单词搜索拼图生成器
介绍
这个包的任务是生成一个单词搜索谜题。要求是单词列表和拼图的尺寸。
例如:
- 给定的单词列表
['Cat', 'Bear', 'Tiger', 'Lion'] - 生成的面板:
# _________________________
# | [L] w m e [r] |
# | [i] w [C] [e] x |
# | [o] v [g] [a] q |
# | [n] [i] n i [t] |
# | [T] [B] [e] [a] [r] |
# -------------------------
panel.cells = {
(0, 0): 'l', (0, 1): 'w', (0, 2): 'm', (0, 3): 'e', (0, 4): 'r',
(1, 0): 'i', (1, 1): 'w', (1, 2): 'c', (1, 3): 'e', (1, 4): 'x',
(2, 0): 'o', (2, 1): 'v', (2, 2): 'g', (2, 3): 'a', (2, 4): 'q',
(3, 0): 'n', (3, 1): 'i', (3, 2): 'n', (3, 3): 'i', (3, 4): 't',
(4, 0): 't', (4, 1): 'b', (4, 2): 'e', (4, 3): 'a', (4, 4): 'r',
}
- 用对应的隐藏词:
{
"words": [
{
"value": "cat",
"positions": [
{ "r": 1, "c": 2 },
{ "r": 2, "c": 3 },
{ "r": 3, "c": 4 }
]
},
{
"value": "bear",
"positions": [
{ "r": 4, "c": 1 },
{ "r": 4, "c": 2 },
{ "r": 4, "c": 3 },
{ "r": 4, "c": 4 }
]
},
{
"value": "tiger",
"positions": [
{ "r": 4, "c": 0 },
{ "r": 3, "c": 1 },
{ "r": 2, "c": 2 },
{ "r": 1, "c": 3 },
{ "r": 0, "c": 4 }
]
},
{
"value": "lion",
"positions": [
{ "r": 0, "c": 0 },
{ "r": 1, "c": 0 },
{ "r": 2, "c": 0 },
{ "r": 3, "c": 0 }
]
}
]
}
安装
您可以使用 pip 工具word-search-puzzle安装它。
生成一个谜题
您所需要的只是定义一个单词列表并提供面板的尺寸。请确保文字的数量和长度适合面板的尺寸。
示例 1
创建一个简单的谜题。
from word_search_puzzle.utils import display_panel
from word_search_puzzle.algorithms import create_panel
words = ['Cat', 'Bear', 'Tiger', 'Lion']
result = create_panel(height=5, width=5, words_value_list=words)
print('Attempts: {}'.format(result.get('attempts')))
print('Solution took: {} ms'.format(result.get('elapsed_time')))
display_panel(result.get('panel'))
# Output:
# Attempts: 2
# Solution took: 31 ms
#
# l w m e r
# i w c e x
# o v g a q
# n i n i t
# t b e a r
示例 2
创建一个可序列化的谜题。
import json
from word_search_puzzle.algorithms import create_panel
words = ['Cat', 'Bear', 'Tiger', 'Lion']
result = create_panel(height=5, width=5, words_value_list=words, as_dict=True)
print(json.dumps(result))
输出将如下所示:
{
“面板” :{
“细胞” :[
{
“位置” :{
“r” :0 ,
“c” :0
},
“价值” :“t”
},
{
“位置” :{
“r” :0 ,
“c” :1
},
“价值” :“b”
},
{
“位置” :{
“r” :0 ,
“c” :2
},
“价值” :“x”
},
{
“位置” :{
“r” :0 ,
“c” :3
},
“价值” :“j”
},
{
“位置” :{
“r” :0 ,
“c” :4
},
“价值” :“c”
},
{
“位置” :{
“r” :1 ,
“c” :0
},
“价值” :“l”
},
{
“位置” :{
“r” :1 ,
“c” :1
},
“价值” :“我”
},
{
“位置” :{
“r” :1 ,
“c” :2
},
“价值” :“e”
},
{
“位置” :{
“r” :1 ,
“c” :3
},
“价值” :“b”
},
{
“位置” :{
“r” :1 ,
“c” :4
},
“价值” :“一个”
},
{
“位置” :{
“r” :2 ,
“c” :0
},
“价值” :“c”
},
{
“位置” :{
“r” :2 ,
“c” :1
},
“价值” :“我”
},
{
“位置” :{
“r” :2 ,
“c” :2
},
“价值” :“g”
},
{
“位置” :{
“r” :2 ,
“c” :3
},
“价值” :“一个”
},
{
“位置” :{
“r” :2 ,
“c” :4
},
“价值” :“t”
},
{
“位置” :{
“r” :3 ,
“c” :0
},
“价值” :“d”
},
{
“位置” :{
“r” :3 ,
“c” :1
},
“价值” :“l”
},
{
“位置” :{
“r” :3 ,
“c” :2
},
“价值” :“o”
},
{
“位置” :{
“r” :3 ,
“c” :3
},
“价值” :“e”
},
{
“位置” :{
“r” :3 ,
“c” :4
},
“价值” :“r”
},
{
“位置” :{
“r” :4 ,
“c” :0
},
“价值” :“f”
},
{
“位置” :{
“r” :4 ,
“c” :1
},
“价值” :“我”
},
{
“位置” :{
“r” :4 ,
“c” :2
},
“价值” :“我”
},
{
“位置” :{
“r” :4 ,
“c” :3
},
“值” :“n”
},
{
“位置” :{
“r” :4 ,
“c” :4
},
“价值” :“r”
}
]
},
“话” :[
{
“价值” :“老虎” ,
“职位” :[
{
“r” :0 ,
“c” :0
},
{
“r” :1 ,
“c” :1
},
{
“r” :2 ,
“c” :2
},
{
“r” :3 ,
“c” :3
},
{
“r” :4 ,
“c” :4
}
]
},
{
“价值” :“狮子” ,
“职位” :[
{
“r” :1 ,
“c” :0
},
{
“r” :2 ,
“c” :1
},
{
“r” :3 ,
“c” :2
},
{
“r” :4 ,
“c” :3
}
]
},
{
“价值” :“猫” ,
“职位” :[
{
“r” :0 ,
“c” :4
},
{
“r” :1 ,
“c” :4
},
{
“r” :2 ,
“c” :4
}
]
},
{
“价值” :“承担” ,
“职位” :[
{
“r” :0 ,
“c” :1
},
{
“r” :1 ,
“c” :2
},
{
“r” :2 ,
“c” :3
},
{
“r” :3 ,
“c” :4
}
]
}
],
“尝试” :1 ,
“找到” :真,
“经过的时间” :3
}