day4 part2 例項開發1 控制台五子棋

2021-07-25 21:18:29 字數 1695 閱讀 4291

實現過程:

一、棋盤類

chessboard

1.初始化棋盤時,給每個元素賦值「十」,下棋時把「十」替換成棋子即可。 2.

輸出棋盤時,

system.out.print()

是只輸出不換行的,

system.out.println()

是輸出後自動換行的,所以應使用前者,使用迴圈巢狀語句,輸出完一行後使用

system.out.print(「\n」)

來換行一次。 3.

獲取棋盤,定義陣列時只需要在型別名後加

[ ]即可。

二、列舉類

chessman

構造器必須是私有的,以保證只能在內部建立,保證此物件只有黑子和白子兩種型別。

還可以建立棋子介面,是程式具有更好的擴充套件性,

三、遊戲類

先構造乙個空參構造器和乙個引數為

chessboard

的構造器。 1.

驗證輸入合法性:

isvalid()

輸入格式是否正確,是否超出棋盤範圍,此位置是否已經有棋子。 注:

1.split

的功能是將乙個字串分割為子字串,然後將結果作為字串陣列返回。可用任何符號作為分隔符,有些需要轉義,如:

split("\\*")

,也可用多個分隔符,用

|隔開,如:

split("\\@|*|#")。

2.integer.parseint()

的功能是把

string

型轉化為

int型。不能裝換時則拋

numberformatexception

異常。

2.判斷輸贏:

iswon()

每下一顆棋子就從左到右,從上到下,從左上到右下遍歷棋盤是否有連成五子。迴圈巢狀問題。是整個程式的難點之一。 3.

計算機隨機下棋:

computerdo() 使用

math.random

方法產生

0.0到

1.0之間的

double

陣列,再用該值乘以棋盤的大小,即可產生隨機座標。 4.

是否重新開始遊戲:

isreplay()

s1.equals(s2)

:判斷兩個物件的引用是否相等,即是否指向同乙個物件。 與

==的區別如下:

==是判斷兩個變數或例項是不是指向同乙個記憶體空間,

equals

是判斷兩個變數或例項所指向的記憶體空間的值是不是相同;

==是指對記憶體位址進行比較,

equals()

是對字串的內容進行比較;

==指引用是否相同,

equals()

指的是值是否相同。簡單講就是

==是看左右是不是乙個東西,

equals()

是看左右是不是相同。 5.

遊戲過程:

start()

獲取鍵盤輸入:

bufferedreader br=new bufferedreader(new inputstreamreader(system.in));

br.readline()

每當鍵盤輸入一行按下回車鍵,輸入的內容就被

br讀取。

UNIX C 檔案許可權 Part2 day01

1.檔案訪問測試 測試呼叫程序對指定檔案是否擁有足夠的訪問許可權 include int access const char pathname,int mode 成功返回0,失敗返回 1 pathname 檔案路徑 mode 訪問許可權,可取以下值 r ok 可讀否 w ok 可寫否 x ok 可執...

前端開發 Day4

本章介紹了 html 中較為常用的標籤的例項。您可能還沒接觸過這些例項,不過不用擔心,閱讀完本章您就能夠掌握它們了!html 標題 heading 是通過 你也可以通過實戰實驗來嘗試挑戰乙個 h2 標題的設定 html標題 實戰實驗 html 段落是通過標籤來定義的,p是英文paragraph段落的...

C 之銀行ATM例項 Part2

一 題目要求 在上一次 銀行系統atm part1 的基礎上,再一次改進,做乙個新的版本,增加新學的語法要素,如委託 事件與異常等。要求如下 上一版本中關於類 屬性 方法 繼承 修飾符等你不太滿意的地方 或者你從別人那裡學到的 可以進一步改進。改進的地方可以加上注釋說明。佔3分 程式中使用事件及委託...