水沝--JAVA團隊課程設計博客

水沝--JAVA團隊課程設計博客(五子棋)

##3.1 團隊名稱、團隊成員介紹、任務分配,團隊成員課程設計博客連接(以表格形式呈現),標明組長。 |團隊名稱|成員姓名|任務分配|我的博客連接| |--------|-------|-------|-----------| |水沝 |林曉龍(組長)|人機對戰算法實現| | |李金妲|遊戲界面的GUI設計、背景音樂功能、趣味對戰算法實現|https://www.cnblogs.com/112Ada/p/12173236.html| | |韋榮桃|實現用戶系統功能(登陸、註冊)|https://www.cnblogs.com/Gejkdj/p/12158759.html|html

##3.2 項目git地址(咱們組沒有將代碼提交到Git上)git

##3.3 項目git提交記錄截圖(要體現出每一個人的提交記錄、提交說明),老師將重點考覈。 ##3.4 前期調查算法

咱們在4399和7k7k小遊戲裏找了不少版本的五子棋小遊戲,發現他們都比較簡陋,有些直接點進去就是開始遊戲了,
默認人機對戰或者人人對戰,有些比較好一點的會有「悔棋」或者「認輸」功能,可是基本沒有讓用戶登陸和註冊這個功能。
咱們綜合了各類版本的五子棋小遊戲裏的功能,而後構思了咱們寫的五子棋小遊戲應有的功能,分別是用戶登陸和註冊、
開始遊戲、悔棋、認輸和可選擇對戰模式(人人對戰或者人機對戰或者趣味對戰)功能。

下圖是咱們找到的、還算不太簡陋的五子棋的功能界面截圖↓數組

##3.5 項目功能架構圖、主要功能流程圖 多線程

##3.6 面向對象設計包圖、類圖。若是類太多,可僅列出主要類。 架構

##3.7 項目運行截圖或屏幕錄製優化

  • 登陸界面

  • 遊戲界面

##3.8 項目關鍵代碼:模塊名稱-文字說明-關鍵代碼(注意:不得直接複製全部源代碼,僅粘貼最關鍵代碼)。url

  • 用戶登陸註冊 遊戲登陸系統,用文件存儲用戶信息。實現用戶註冊或登錄帳進入遊戲。 說明:用容器和麪板作一個GUI登錄界面,在按鈕上添加監聽器,根據按鈕編寫相關代碼。登錄按鈕:須要掃描文件,依次比較用戶輸入的帳號和密碼是否相同,結果會提示是否登錄成功,若不成功,提示是帳號仍是密碼錯誤。註冊按鈕:打開文件,把用戶輸入帳號和密碼寫入文件中,肯定後,提示注成功,若取消,則返回開始系統界面。

  • 人機對戰 算法:利用權值數組控制機器的棋子落點。 (1) 首先掃描整個棋盤,對於已經有棋子的地方直接將其權值置爲0。 (2) 先進行以空點爲中心的左右(行掃描)掃描,再依次進行上下(列掃描)掃描,再進行斜向的掃描,將其空點當前的左右,上下,斜向的狀況在哈希表中尋找相應的權值,而後再將其賦值到當前落點的權值數組中。 (3) 掃描整個權值數值,將其最大的點選定爲棋子的落點。 (4) 而後再將權值數組重置。
  • 趣味對戰 每下一個棋子時會有40%的機率再在棋盤上隨機的位置上生成一個顏色相同的棋子。產生40個1~40的隨機數,這些隨機的位置有四個方向,肯定他們的方向後再計算他們的座標信息,再下棋。

##3.9 項目代碼掃描結果及改正。 (1)結果截圖: 改正: <span style="color:red">命名不規範,應該使用「駝峯命名」法命名。</span> (2)結果截圖: spa

<span style="color:red">改正:這一張是不能有多餘的不用的代碼,要把多餘的代碼刪掉。</span> (3)結果截圖: .net

<span style="color:red">改正:這是不能在行尾進行註釋,要刪掉行尾的註釋。</span>

##3.10 項目總結(包括不足與展望)

總結:此次的課程設計--五子棋小遊戲,因爲經驗不足,咱們在作以前參考了網上已有的代碼,發現他們在功能方面都不太成熟,基本都只有「人人對戰」這一功能,因而咱們在原有代碼的基礎不斷進行優化、改進,根據實際狀況繼續完善,又增長了登陸註冊等功能,增長了背景音樂和開發了新的對戰模式。在課設前兩週咱們就開始着手這個小遊戲了,由於是第一次作小遊戲並且自身基礎也沒有很好,因此一開始磕磕絆絆,還好經過不斷查資料和問大佬都基本能解決。相比於原有的代碼,咱們增長了挺多東西的,經過分工合做,每一個人負責一部分代碼的編寫,最後再把它們整合在一塊兒,獲得一個相對完善的小遊戲,這時候咱們三個合做的結果。雖然作了改進,可是咱們的小遊戲還存在不足之處,咱們以前還想作一個要限制下棋時間的功能,可是查了資料發現作這個要用到多線程,在短期內咱們還弄不清楚這個東西,遂暫時放棄這個想法,在課設以後如有條件,咱們會繼續完善。
相關文章
相關標籤/搜索