Một người A nghĩ trong đầu 1 chữ có 7 ký tự chẳng hạn là Hangman và cho người chơi B 6 cơ hội để đoán chữ đó.. Người B chưa biết đó là chữ nào đoán tiếp chữ E.. Máy tính nói chữ cần đoán
Trang 1Bài tâp 2 – Evil Hangman dùng Objective-C trên iOS
Tài liệu tham khảo:
1 Yêu cầu gốc: http://cdn.cs76.net/2013/summer/projects/staff-ios/index.html
2 Learning Objective-C: A Primer:
http://developer.apple.com/library/mac/referencelibrary/GettingStarted/Learning_Objecti ve-C_A_Primer/
3 The Objective-C Programming Language:
http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjectiveC/Int roduction/introObjectiveC.html
4 Coding Guidelines for Cocoa: frame work Cocoa
http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuideli nes/CodingGuidelines.html
Bài toán Hangman:
Đây là bài toán cũ tương tự trò chơi “Chiếc nón kỳ diệu” trên truyền hình Một người A nghĩ trong đầu 1 chữ có 7 ký tự (chẳng hạn là Hangman) và cho người chơi B 6 cơ hội để đoán chữ
đó
1 Giả sử lần đầu người B đoán chữ a, người A nói có 2 chữ A, và đưa ra cho người B xem: –A–––A–
Vì lần này đoán có chữ nên chưa tính là mất lượt
2 Người B chưa biết đó là chữ nào đoán tiếp chữ E Người A nói ko có chữ E
3 Người B nói chữ I Người A nói ko có chữ I – còn 4 cơ hội
4 Người B nói chữ Z Ngưới A nói ko có chữ Z – còn 3 cơ hội
5 Người B nói chữ N Người A nói có 2 chữ N và đưa ra
–AN––AN
Vẫn còn 3 cơ hội
6 Người B nói E, người A nói chữ đó đoán rồi, vẫn còn 3 cơ hội
7 Người B nói H Người A nói có 1 chữ H và đưa ra
HAN––AN
8 Và người B nói Hangman thắng trò chơi
Nếu hết các cơ hội thì người A thắng và hiện ra ảnh người treo cổ với 6
nét vẻ Ví dụ như hình vẻ
Trang 2Evil Hangman
Trò chơi tương tự Hangman, chỉ đổi 1 chút xíu để quá trình lập trình tự nhiên hơn
1 Máy tính nói chữ cần đoán có 4 ký tự Có vài chữ trong tiếng Anh thỏa mãn điều kiện này, tạm giả sử là máy tính chỉ biết các chữ BEAR, BOAR, DEER, DUCK VÀ HARE
2 User nói chữ E Máy tính thấy rằng tình hình hiện tại là
a) , which contains BOAR and DUCK
b) -E , which contains BEAR
c) -EE-, which contains DEER
d) -E, which contains HARE
Có 4 nhóm trong trường hợp này Chú ý là BEAR và HARE là khác nhóm nhau dù cùng có 1 chữ E NGuyên tắc là có 24 trường hợp khác nhau, nhưng chỉ có 4 trường hợp trên xảy ra và
10 trường hợp khác không có chữ nào
Trường hợp này, để dể lập trình, máy tính sẽ chọn ra nhóm có nhiều phần tử nhất để có khả năng thay đổi chữ cần đoán cao nhất Và máy tính chọn nhóm a) ko có chữ E nào
Và trò chơi tiếp tục, danh sách chữ định đưa ra chỉ còn BOAR và DUCK
3 Trong một trường hợp khác, giả sử User chọn chữ R thì chúng ta có
a) , which contains DUCK
b) -R, which contains BEAR, BOAR, and DEER
c) R-, which contains HARE
Rõ ràng máy tính cần chọn b) vì nhóm này có 3 trường hợp
4 Từ trên Google Play (điện thoại Android) hoặc App store (iOS) các bạn có thể thử tìm và cài ứng dụng Evil Hangman để chơi thử; qua đó hiểu ý chương trình chúng ta cần viết
Các yêu cầu của bài tập:
- Tương tự hiện thực của trò chơi trên store
- Khi đoán xong thì xóa chữ đã đoán đi, hiện các hyphen (gạch ngang) để người chơi dể đoán
- Trước mặt có logo hoặc button để thoát trò hiện tại, bắt đầu lại chữ mới
- Có thể cho phép User chọn chiều dài của chữ cần đoán từ 1 tới 26