下面是引用WindinCloud於2008-11-11 23:54(11樓)發表的 : 喵~ 這是說我可以把我大學作業上傳上去嘛?
下面是引用fox3000於2008-11-22 20:09(13樓)發表的 : 請求技術支援...... 目前小弟遇到瓶頸,希望能有高手指點一二 --------------------------------- 首先,操作者可以將 Queen 圖示拖曳到 8x8 的任一個位置 按下按鈕後,由程式將另外七個 Queen 的位置算出並顯示 (根據可擺放的位置,逐一由亂數生成) --------------------------------- 問題是,程式目前最多只能算出 7 個 Queen (包含操作者指定的一個) 第 8 個 Queen 就難產了(因為第 8 個 Queen 不管怎麼擺放都不符合規定) 希望各位先進可以給小弟一些指點,感激不盡!
下面是引用三仙於2008-11-22 21:50(14樓)發表的 :在8x8陣列 隨意擺放求餘解 所以不管Q放哪裡 A(X,Y) 都須有左右求解的迴圈A(1 TO X-1,1 TO 8),A(X-1 TO 8,1 TO 8) 但不知你的程式邏輯 所以無法再給建議
下面是引用fox3000於2008-11-23 09:01(15樓)發表的 : 謝謝三仙大大的回應 -----程式邏輯------ 第一個Q1放好,將Q1本身座標及「水平、垂直、斜線」全部做記號 隨機產生Q2,但Q2的位置不能落在已做記號的位置上 Q3~Q8以此類推........問題是,Q7產生完畢後,所有座標都做了記號,無法再產生Q8了 ----------------------- 剛剛看到三仙大大有放了範例了 小弟再自行研究一下
下面是引用leacks於2008-11-24 10:13(17樓)發表的 : 難道你是因為放到第7個實已經滿了?理論上是會這樣沒錯,因此你要有取消動作
下面是引用fox3000於2008-11-24 21:20(18樓)發表的 : 原本的寫法是使用者把 Q1 拖曳至任意處,再由程式隨機產生 Q2~Q8, 但遇到的問題是,幾乎到 Q7 就死路了,Q8 已經塞不下去了。 參考了三仙大大的範例後,改寫成: 1.使用者把 Q1 拖曳至任意處 2.從最左邊的開始隨機產生 Q2~Q8 <==這是重點,也就是我之前解不出來的罩門 舉例說明,Q1=D5,Q2落在Ax,Q3落在Bx,Q4落在Cx,Q5落在Ex,Q6落在Fx,Q7落在Gx,Q8落在Hx (x 由程式解出) 把 Q2~Q8 的產生順序控制在由左至右,就可以順利解出正確答案(隨機產生)了