Programming C#

Guess Game

Xây dựng các class như mộ hình UML như hình sau

Guess Game

Yêu cầu

Tạo lớp WordMatch như được mô tả trong mô hình UML ở phía trên, bạn cần cài đặt 2 phương thức ScoreGuess và FindBetterGuess sẽ được mô tả chi tiết trong phần a và b ở phía dưới

Tạo phương thức ScoreGuess(string guess) trong lớp WordMatch (6 điểm)

Tiền điều kiện

0 < guess.Length ≤ secret.Length
Cách tính Score theo công thức sau:
Score= Số lần xuất hiện chuỗi con × bình phương chiều dài chuỗi guess
Xét ví dụ sau
WordMatch game = new WordMatch(“mississippi”);
GuessSố lần xuất hiện chuỗi conScore = Số lần xuất hiện chuỗi con × bình phương chiều dài của guessGiá trị trả về game.ScoreGuess(guess)
“i”44 * 12 = 44
“iss”22 * 32 = 1818
“issipp”11 * 62 = 3636
“Mississippi”11 * 112 = 121121
WordMatch game = new WordMatch(“aaaabb”);
GuessSố lần xuất hiện chuỗi conScore = Số lần xuất hiện chuỗi con × bình phương chiều dài của guessGiá trị trả về game.ScoreGuess(guess)
“a”44 * 12 = 44
“aa”33 * 22 = 1212
“aaa”22 * 32 = 1818
“aabb”11 * 42 = 1616
“c”00 * 12 = 00

Tạo phương thức FindBetterGuess(string guess1, string guess2) trong lớp WordMatch (4 điểm).

Tiền điều kiện:

Phương thức FindBetterGuess trả về dự đoán tốt hơn của 2 tham số chuỗi guess1 và guest2. Nếu phương thức ScoresGuess của guess1 và guess2 trả về giá trị khác nhau, thì trả về guess có điểm cao hơn. Nếu phương thức ScoreGuess của guess1 và guess2 trả về cùng giá trị, thì trả về guess lớn hơn tính theo alphabet.

Xét ví dụ sau
WordMatch game = new WordMatch(“concatenation”);
Gọi phương thứcGiá trị trả vềGiải thích
game.ScoreGuess(“ten”);91 * 32
game.ScoreGuess(“nation”);361 * 62
game.FindBetterGuess(“ten”, “nation”);“nation”Vì ScoreGuess(“ten”) lớn hơn ScoreGuess(“nation”) nên trả về “nation”
game.ScoreGuess(“con”);91 * 32
game.ScoreGuess(“cat”);91 * 32
game.FindBetterGuess(“con”, “cat”);“con”Vì ScoreGuess(“con”) bằng ScoreGuess(“cat”) và “cat” tính theo alphabet lớn hơn “con” nên trả về “con”