資源簡介
1 本課題研究的意義
近來隨著計算機的快速發展,各種各樣的電腦游戲層出不窮,使得我們能有更多的娛樂項目,而棋類游戲能起到鍛煉人的思維和修身養性的作用,而且棋類游戲水平頗高,大有與人腦分庭抗禮之勢。其中戰勝過國際象棋世界冠軍-卡斯帕羅夫的“深藍”便是最具說服力的代表;其它像圍棋的“手淡”、象棋的“將族”等也以其優秀的人工智能深受棋迷喜愛。
越來越多的具有智能的機器進入了人類的生活,人工智能的重要性如今顯而易見。自己對人工智能比較感興趣,而五子棋游戲程序的開發實現這個課題,正好提供給我這樣一個研究的機會,通過對人工智能中博弈方面的研究(人機對弈),讓我在簡單的人機對弈全局設計,以及具體到相關算法上有了深入的了解。人工智能屬于計算機科學的領域,它以計算機技術為基礎,近幾十年來,它的理論和技術已經日益成熟,應用領域也正在不斷擴大,顯示出強大的生命力。人工智能大致可以分成幾個學科,它們每一個都是獨特的,但是它們常常又互相結合起來完成設計任務,這時,這些學科之間的差別就變的很模糊。人工智能在專家系統,自然語言理解,自動定理證明,自動程序設計,人工智能在機器人學、模式識別、物景分析、數據庫的智能檢索、機器下棋(實質上是博弈論問題)和家用電器智能化等領域都有廣泛的應用。而這個課題就是和人工智能中的博弈論領域緊密相關的。
這個題目核心是人工智能和Socekt編程,。并且人工智能中的博弈部分,由于采用了大量的搜索算法,其中很多被利用到各方面。它的概念、方法和技術,正在各行各業廣泛滲透。智能已經成為當今各種新產品、新裝備的發展方向。所以,趁著這個機會,對人工智能中比較容易實現的人機博弈進行了解研究學習,也是很實用且很有必要的。

代碼片段和文件信息
import?java.awt.*;
import?java.awt.event.*;
import?java.util.Arrays;
import?javax.swing.*;
import?java.io.*;
public?class?BoardPanel?extends?JPanel
{
????private??static?Image?white?=?null;
????private??static?Image?black?=?null;
????private?static?int?xp;???????????//?棋子?X坐標
????private?static?int?yp;???????????//?棋子Y坐標
????private?Cursor?handCursor;
????private?Cursor?defaultCursor;
????protected?static?int?board[][];????//?棋型表
????private?int?color=1;?????????????//?棋子顏色???1=black?2=white????
????
????int?STEPCOUNTER=0;
????int?base=5;
????int?DEEPTH=3;
????int?MINDEEPTH=3;
????int?MAX1=5;
????long?INVALID=9000000;
????int?chessBoard[][];????
????//??x/y?方向標識符
????String?line?=?“a????????b????????c???????d????????e????????f????????g????????h?????????i?????????j????????k?????????l????????m???????n????????o“;
????char?[]?rowNum1?=?{‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘};
????char?[]?rowNum2={‘1‘‘0‘‘1‘‘1‘‘1‘‘2‘‘1‘‘3‘‘1‘‘4‘‘1‘‘5‘};
?????public?BoardPanel()
?{
//????????this.wzq=wz;
????????try?
{
????????????handCursor=new?Cursor(12);
????????????defaultCursor?=?new?Cursor(0);
????????????board?=?new?int[15][15];
//????????????black?=?wzq.black;
//????????????white?=?wzq.white;
??????????//??this.setBackground(Color.yellow);
????????????//this.setForeground(Color.BLUE);
??????????//??this.setBorder(BorderFactory.createLoweredBevelBorder());
????????????jbInit();
????????}
????????catch(Exception?e)?
{
????????????e.printStackTrace();
????????}
????}
????public?void?paint(Graphics?gc)
{
????????super.paint(gc);
????????//this.setBackground(Color.gray);
????????//this.invalidate();
????????gc.setColor(Color.blue);
????????//gc.setColor(new?Color(255?255?240));
????????//畫橫向標識符
????????gc.drawString(line2515);
????????//?畫豎向標識符
????????for(int?i=0;i<9;i++)
{
????????????gc.drawChars(rowNum1i11035+i*30);
????????}
????????for(int?i=9j=0;i<15;i++j+=2)
{
????????????gc.drawChars(rowNum2j21035+i*30);
????????}
????????//?畫棋盤
????????for?(int?i?=?0;?i?15;?i++)?
{
????????????gc.drawLine(30?30?+?i?*?30?450?30?+?i?*?30);?//行
????????????gc.drawLine(30?+?i?*?30?30?30?+?i?*?30?450);?//列
????????}
????????gc.drawLine(25?25?455?25);
????????gc.drawLine(25?25?25?455);
????????gc.drawLine(25?455?455?455);
????????gc.drawLine(455?25?455?455);
????????//面板初始化
????????for(int?i=0;i<15;i++)
{
????????????for?(int?j?=?0;?j?15;?j++)?
{
????????????????xp=16+i*30;
????????????????yp=16+j*30;
????????????????if?(board[i][j]?==?1)
{
????????????????????gc.setColor(Color.black);
????????????????????gc.fillOval(xpyp2828);
????????????????????//gc.drawImage(black?16?+?i?*?30?16?+?j?*?30?this);
????????????????}
????????????????if?(board[i][j]?==?2)
{
????????????????????gc.setColor(Color.white);
????????????????????gc.fillOval(xpyp2828);
????????????????????//gc.drawImage(white?16?+?i?*?30
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????772608??2013-12-20?16:01??基于Java的五子棋游戲的設計(源代碼+論文)\H_基于Java的五子棋游戲的設計.doc
?????文件??????19996??2013-12-20?18:01??基于Java的五子棋游戲的設計(源代碼+論文)\基于Java的五子棋游戲開題.docx
?????文件???????5033??2013-12-20?17:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\BoardPanel$Analyse.class
?????文件????????362??2013-12-20?13:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\BoardPanel$Queue.class
?????文件???????6524??2013-12-20?11:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\BoardPanel.class
?????文件??????25889??2013-12-20?09:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\BoardPanel.java
?????文件???????1163??2013-12-20?13:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ$1.class
?????文件???????1163??2013-12-20?10:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ$2.class
?????文件????????655??2013-12-20?13:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ$3.class
?????文件????????717??2013-12-20?14:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ$4.class
?????文件???????1269??2013-12-20?18:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ$5.class
?????文件????????700??2013-12-20?09:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ$6.class
?????文件???????1761??2013-12-20?18:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ$7.class
?????文件???????1541??2013-12-20?18:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ$8.class
?????文件??????13661??2013-12-20?12:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ.class
?????文件??????30856??2013-12-20?12:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ.java
?????文件????????440??2013-12-20?10:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ_this_mouseAdapter.class
?????文件????????448??2013-12-20?12:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ChessWZQ_this_mouseMotionAdapter.class
?????文件?????????29??2013-12-20?12:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\client1.bat
?????文件?????????29??2013-12-20?10:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\client2.bat
?????文件????????556??2013-12-20?12:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\Group.class
?????文件????????323??2013-12-20?11:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\Group.java
?????文件????????407??2013-12-20?16:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\Message.class
?????文件???????1303??2013-12-20?11:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\Message.java
?????文件????????384??2013-12-20?09:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\Pla
?????文件????????388??2013-12-20?09:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\Pla
?????文件???????7609??2013-12-20?18:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ServeOneClient.class
?????文件??????21648??2013-12-20?10:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\ServeOneClient.java
?????文件?????????11??2013-12-20?14:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\server.bat
?????文件???????1269??2013-12-20?13:01??基于Java的五子棋游戲的設計(源代碼+論文)\程序\源代碼\Server.class
............此處省略9個文件信息
評論
共有 條評論