簡體   English   中英

填字游戲 C#- 算法搜索

[英]crossword c#- algorthm searched

我想在 C# 中使用以下條件編寫填字游戲:

  1. 詞不能重復。
  2. 單詞可以水平放置,但只能從左到右排列。
  3. 單詞可以垂直放置,但只能從高到低排列。
  4. 一個水平詞必須與一個或多個垂直詞相交。
  5. 一個垂直詞必須與一個或多個水平詞相交。
  6. 每個單詞必須由空格或網格邊緣分隔。

未給出字段大小。 考慮到單詞表,算法應該找到最好的填字游戲輸出並且字段大小應該是最小的。 我的問題是可變字段大小。 有人對算法的外觀有想法嗎?

這是一個非常廣泛的問題,我認為在開始嘗試編寫解決方案之前,您需要花一些時間思考設計。

您需要解決的一些可能的子問題:

  1. 您需要一些單詞數據存儲,您是自己制作還是使用網上的東西?
  2. 您將需要某種方法來檢查這些單詞中的字母,以確保這些單詞具有可用於將單詞相互交叉的通用字母
  3. 您需要測量單詞的長度並確保單詞不會相互重疊(除非它們應該交叉!)或適合屏幕。 每次生成網格時都需要重新測試這些規則以確保其有效
  4. 您可以將網格存儲為nxn數組,假設您不使用對角線,則需要在單行或單列中寫入單詞。
  5. 為了確保您的單詞從左到右或從上到下,您必須確保起始字母索引始終小於末尾的字母。
  6. 您可能還需要存儲每行或每列的單詞數,以確保網格中的單詞間距均勻

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM