-
大小: 3.24MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2024-02-04
- 語言: 其他
- 標(biāo)簽: J2ME??開發(fā)實(shí)踐??源代碼??
資源簡(jiǎn)介
J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐 源代碼,經(jīng)過本人親自驗(yàn)證部分代碼可用,請(qǐng)注意僅部分可用,部分有問題。

代碼片段和文件信息
package?wzq;
/**
?*?title:五子棋人工智能部分?
?*
?*?Description:實(shí)現(xiàn)了最基本的人工智能?
?*
?*?Copyright:?Copyright?(c)?2005
?*
?*?Company:?Star?Group
?*
?*?@author:?Turbo?Chen,wangyaobsz
?*?@version?1.0
?*/
public?class?AI?{
????/**
?????*?找到最佳下棋點(diǎn)。
?????*?基本思路是?先計(jì)算每個(gè)點(diǎn)的權(quán)值,在權(quán)值最高的位置下棋
?????*/
????public?static?Point?findBestLocation(Chesses?chess)?{
????????//權(quán)值數(shù)組
????????int[][]?power?=?new?int[Chesses.BOARD_SIZE][Chesses.BOARD_SIZE];
????????for?(short?i?=?0;?i?????????????for?(short?j?=?0;?j?????????????????//?當(dāng)已有子時(shí)將該點(diǎn)的權(quán)值設(shè)為-1
????????????????if?(chess.getChess()[i][j]?!=?0)?{
????????????????????power[i][j]?=?-1;
????????????????}
????????????????//?否則計(jì)算該點(diǎn)權(quán)值
????????????????else?{
????????????????????power[i][j]?=?(short)?calcPower(i?j?chess.getCurrentType()
????????????????????????????chess);
????????????????}
????????????}
????????}
????????//計(jì)算完所有點(diǎn)的權(quán)值后?再找出其中權(quán)值最大的點(diǎn)
????????Point?bestLoc?=?calcMaxPowerLocation(power);
????????power?=?null;
????????return?bestLoc;
????}
????/**
?????*?遍歷權(quán)值數(shù)組,找出權(quán)值最大點(diǎn).
?????*?@param?power
?????*?@return
?????*/
????private?static?Point?calcMaxPowerLocation(int[][]?power)?{
????????int?max?=?0;
????????short?x?=?0?y?=?0;
????????for?(short?i?=?0;?i?????????????for?(short?j?=?0;?j?????????????????if?(power[i][j]?>?max)?{
????????????????????x?=?i;
????????????????????y?=?j;
????????????????????max?=?power[i][j];
????????????????}
????????????}
????????}
????????return?new?Point(x?y);
????}
????/**
?????*?檢查m,n點(diǎn)的權(quán)值
?????*?思路是?首先假定在mn位置下棋計(jì)算4個(gè)方向經(jīng)過該點(diǎn)同色相連的棋子數(shù)量不同的數(shù)量被賦予不同的
?????*?權(quán)值將四個(gè)方向上權(quán)值相加即為該點(diǎn)的權(quán)值.計(jì)算完后恢復(fù)該點(diǎn)的狀態(tài).
?????*?@param?m
?????*?@param?n
?????*?@param?currentType:當(dāng)前棋子的類型
?????*?@param?chess
?????*?@return
?????*/
????private?static?int?calcPower(short?m?short?n?short?currentType
?????????????????????????????????Chesses?chess)?{
????????int?p?=?0;
????????/*
?????????構(gòu)造算法的權(quán)值數(shù)組power,原則是優(yōu)先選擇攻擊點(diǎn),在攻擊不能制勝的前提下再選取防守點(diǎn)
?????????目前算法只向前預(yù)計(jì)一步,如果要想提高機(jī)器的智能則可以多向前預(yù)測(cè)幾步,當(dāng)然實(shí)現(xiàn)起來會(huì)復(fù)雜一些
????????*/
????????int?[]?power?=?{10008560452015105};
????????short[]?arrlinks?=?new?short[4];
????????//首先模擬我方下棋,在該點(diǎn)預(yù)下一子預(yù)測(cè)棋局的權(quán)值分布,然后進(jìn)行后續(xù)計(jì)算.
????????chess.setChessFeeler(m?n?currentType);
????????//?計(jì)算4個(gè)方向上同色相連棋子的數(shù)量.
????????arrlinks?=?calclinkCount(m?n?chess.getChess());
????????//如果mn是中心點(diǎn)?將權(quán)值加1
????????if?(m?==?Chesses.BOARD_SIZE?/?2?&&
????????????n?==?Chesses.BOARD_SIZE?/?2)?{
????????????p?+=?1;
????????}
????????//計(jì)算我方在該點(diǎn)四個(gè)方向的權(quán)值
????????for?(short?i?=?0;?i?4;?i++)?{
????????????if?(Math.abs(arrlinks[i])?==?5)?{
????????????????p?+=?power[0];
????????????}
????????????if?(arrlinks[i]?==?4)?{
????????????????p?+=?power[2];
????????????}
????????????if?(arrlinks[i]?==?3)?{
????????????????p?+=?power[4];
????????????}
????????????if?(arrlinks[i]?==?2)?{
????????????????p?+=??power[6];
????????
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????6513??2005-11-25?11:09??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\UML\WzqMIDlet.png~1~
?????文件??????11423??2005-11-15?19:35??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\AI.java~10~
?????文件??????11423??2005-11-15?19:50??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\AI.java~11~
?????文件??????11423??2005-11-15?19:51??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\AI.java~12~
?????文件??????11423??2005-11-15?19:52??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\AI.java~13~
?????文件??????11202??2005-11-17?12:15??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\AI.java~14~
?????文件??????11591??2005-11-06?12:35??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\AI.java~5~
?????文件??????11535??2005-11-06?12:48??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\AI.java~6~
?????文件??????11608??2005-11-06?13:03??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\AI.java~7~
?????文件??????11417??2005-11-06?13:05??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\AI.java~8~
?????文件??????11385??2005-11-14?08:49??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\AI.java~9~
?????文件???????6711??2005-11-18?08:38??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Chesses.java~36~
?????文件???????6656??2005-11-18?08:40??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Chesses.java~37~
?????文件???????6655??2005-11-18?08:40??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Chesses.java~38~
?????文件???????6641??2005-11-18?08:41??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Chesses.java~39~
?????文件???????6639??2005-11-18?08:41??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Chesses.java~40~
?????文件???????6633??2005-11-18?08:42??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Chesses.java~41~
?????文件???????6634??2005-11-18?08:43??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Chesses.java~42~
?????文件???????6635??2005-11-18?08:43??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Chesses.java~43~
?????文件???????6636??2005-11-18?08:46??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Chesses.java~44~
?????文件???????6634??2005-11-18?08:46??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Chesses.java~45~
?????文件????????597??2005-11-06?10:55??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Point.java~1~
?????文件????????614??2005-11-06?12:44??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Point.java~2~
?????文件????????614??2005-11-15?19:50??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Point.java~3~
?????文件???????1569??2005-11-15?19:00??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Splash.java~18~
?????文件???????1559??2005-11-15?19:34??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Splash.java~19~
?????文件???????1569??2005-11-15?19:34??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Splash.java~20~
?????文件???????1466??2005-11-15?19:35??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Splash.java~21~
?????文件???????1465??2005-11-15?19:37??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Splash.java~22~
?????文件???????1456??2005-11-15?19:40??J2ME手機(jī)應(yīng)用項(xiàng)目開發(fā)實(shí)踐?源代碼\chap04\Wzq\bak\wzq\Splash.java~23~
............此處省略956個(gè)文件信息
- 上一篇:真正的破解版PDFView4NET
- 下一篇:x-Scan3.3破解版
評(píng)論
共有 條評(píng)論