從谷歌的AlphaGo到騰訊的絕藝,從人臉識別到無人駕駛,從谷歌眼鏡到VR的興起,人工智能領域在不斷的向前邁進,也在不斷深刻的探索。但背後錯綜複雜的技術和利益成本也是不少企業亟待解決的難題。對於人工智能,咱們可能還幫不上什麼忙,但我相信之後的人工智能技術會愈來愈開源,也會提供給咱們便捷開發的接口。由圍棋大戰引起的思考纔是咱們今天的主題,咱們今天是利用Java Applet窗口應用程序來實現五子棋的一個小遊戲,最基礎的一個版本,主要回顧一下Applet的應用以及Graphics畫圖技術。數組
首先,咱們先來看一下運行結果的預覽圖:佈局
第一眼看上去是否是以爲不少元素,不太好下手,其實右邊的按鈕和和其餘的文字都是背景圖片自帶的,只有中間的縱橫線和棋子是咱們畫上去的,並且託朋友@鄭宇軒多作了幾張圖,點擊右上角的換膚按鈕能夠實現換膚效果,遊戲設置能夠設置遊戲時間,下方有分別針對黑方和白方的計時器,哪一方的規定時間一到若是還沒落子就算輸。頂部有本輪該誰的信息提醒。測試
1、需求分析人工智能
要想實現這樣一個功能其實也不難,其實就是一張背景圖,上面有各類按鈕,咱們能夠經過獲取鼠標座標來設置點擊事件,至於棋盤的格子,咱們能夠採用Graphics畫圖就是了,包括棋子也是,時間的計算就以落子開始以秒爲單位向下遞減。5子連一線有多種狀況,橫連,豎連,左45度斜連,右45度斜連,一樣能夠根據座標位置來判斷,咱們開始就能夠定義一個數組,分別記錄每一次黑白落子的座標位置。基本的功能也就這些,咱們這裏就不考慮國際規定的禁手規則了。spa
2、開發blog
1.首先定義一個類OperatorPane,這個類用來佈置整個佈局,包括畫棋盤棋子什麼的,判斷幾種連法,時間的設置等。以下圖:接口
咱們須要建一個存放背景圖片的文件夾,以下圖:遊戲
接下來,咱們寫個測試類GomokuGrame,導入咱們剛剛定義的佈局類。事件
3、測試圖片
接下來咱們就開始運行程序,以下:
好玩嗎?今天就到這裏了,主要是關於Applet窗體應用程序和Graphics畫圖的一些技術的使用,都是一些基礎的東西,主要是先理清這裏面的邏輯思惟,明白了需求再下手,一切就都變的很清晰,很明朗。
若是您對本文觀點有什麼異議,歡迎您的留言,咱們一塊兒交流!