布局问题适用于基于规则的方法,用于在 Rogue 或自定义主页布局中生成关卡,您可以编码一些约束并搜索剩余空间。颜色问题也适用于基于规则的方法,颜色是 3 维空间(如果包括不透明度,则为 4)。可以通过在距起点适当距离处获取颜色来创建调色板。
由于对该域进行了很好的分析,因此存在已知的启发式和可编码规则。通过使用这些来生成设计,您可能会获得更大的成功和更快的速度。
只是为了给出一个想法,这些天被视为基于规则的方法没有得到太多讨论,以下是有效的 Prolog,使用 查询phrase(webpage, Design).
,这将快速生成类似的设计:[brand, header_nav, searchbox, sidebar_nav, form_content, sidebar_list]
. 这只是一个超级快速的演示,您可能需要树而不是列表,并且您还需要从中派生 HTML 和 CSS,这在 Prolog 中很简单。
webpage --> body.
webpage --> header, body.
webpage --> header, body, footer.
header --> [brand], header_content.
header_content --> [header_nav].
header_content --> [header_nav], [searchbox].
body --> content.
body --> sidebar(_), content.
body --> { dif(A, B) }, sidebar(A), content, sidebar(B).
body --> content, sidebar(_).
content --> [form_content].
content --> [article_content].
content --> [list_content].
sidebar(list) --> [sidebar_list].
sidebar(nav) --> [sidebar_nav].
sidebar(ads) --> [sidebar_ads].
footer --> [notification].