(TIỂU LUẬN) báo cáo bài tập lớn PYTHON đề tài GAME FLAPPY CAT

18 49 0
(TIỂU LUẬN) báo cáo bài tập lớn PYTHON đề tài GAME FLAPPY CAT

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHÊ THÔNG TIN Báo Cáo Bài Tập Lớn PYTHON Đề tài: GAME FLAPPY_CAT Giảng viên: Cô Võ Hà Thư Sinh viên tham gia: STT Họ tên MSSV Phan Duy Thái Phạm Hồng Đại B19DCCN162 HÀ NỘI, 11/2021 MỤC LỤC MỤC LỤC I GIỚI THIỆU II Ý TƯỞNG THUẬT TOÁN III Ý TƯỞNG HOÀN THIỆN GIAI ĐOẠN IV CÁC HÀM XỬ LÝ CHÍNH V BẢNG TÓM TẮT CHỨC NĂNG VI MỘT SỐ HÌNH ẢNH TRONG GAME VII TÀI LIỆU THAM KHẢO 19 I GIỚI THIỆU Game FLAPPY_CAT game giải trí trị chơi trình bày theo phong cách side-scroller(phong cách game với đối tượng nhìn thấy mặt bên (side-view) di chuyển từ cạnh trái sang cạnh phải hình), người chơi điều khiển mèo, cố gắng vượt qua hàng ống mà không va chạm vào chúng Luật chơi: - Luật chơi đơn giản, người chơi cần click chuột vào hình, lần click giúp cho mèo bay lên Người chơi cố gắng điều khiển cho mèo khơng chạm vào ống Trị chơi kết thúc trường hợp sau: +Chú mèo chạm vào ống +Bị rơi khỏi khu vực bay Yêu cầu Giai đoạn 1: Tạo danh sách vị trí đặt quân hợp lệ người chơi Sinh viên cung cấp file “Assignment.c” chứa prototype hàm cần thực, “Main.c” dùng để test chương trình Trong hàm generate_list_valid_moves nhận input trạng thái bàn cờ, người chơi cần đặt quân người nào, output danh sách vị trí hợp lệ Quy định: 1-người chơi quân đen, 2-người chơi quân trắng output theo thứ tự dòng từ nhỏ tới lớn ứng với dòng, cột từ nhỏ tới lớn Giai đoạn 2: Cập nhật trạng thái bàn cờ sau bước Giai đoạn 3: Hoàn thiện game người chơi II Ý TƯỞNG THUẬT TOÁN - Giai đoạn : + Tạo nhân vật mèo + Quét dọc ngang bàn cờ, vị trí có qn cờ (giá trị X) người chơi 1(biến đầu vào), giá trị O người chơi (biến đầu vào) bắt đầu làm bước sau : Xét theo hàng dọc, từ giá trị xét cộng thêm đơn vị , giá trị ô bàn cờ quân ta bỏ qua, quân địch xét tiếp hết bàn cờ Nếu cuối bàn cờ cuối dãy qn địch khơng có qn ta đưa tọa độ điểm cuối vào ma trận gợi ý Làm tương tự xét từ giá trị xét trừ đơn vị Xét theo hàng ngang, từ giá trị xét cộng thêm đơn vị , giá trị ô bàn cờ quân ta bỏ qua, quân địch xét tiếp hết bàn cờ Nếu cuối bàn cờ cuối dãy qn địch khơng có quân ta đưa tọa độ điểm cuối vào ma trận gợi ý Làm tương tự xét từ giá trị xét trừ đơn vị Xét theo đường chéo, từ giá trị xét cộng thêm đơn vị , giá trị ô bàn cờ quân ta bỏ qua, quân địch xét tiếp hết bàn cờ Nếu cuối bàn cờ cuối dãy quân địch qn ta đưa tọa độ điểm cuối vào ma trận gợi ý Làm tương tự xét từ giá trị xét trừ đơn vị - Giai đoạn : - Giai đoạn : Tạo vịng lặp để hồn thiện menu game bước giai đoạn 1, giai đoạn liên tục kết thúc game III Ý TƯỞNG HOÀN THIỆN GIAI ĐOẠN : - Thiết kế giao diện người dùng thuật toán game tảng Pygame với tùy chỉnh điều khiển trực quan - Sau khởi động game, menu game xuất với tính - + Game : Tạo game mới, bàn cờ 8x8 Các vị trí quân cờ ban đầu tạo bàn cờ, vị trí gợi ý hiển thị Người chơi điều khiển trỏ đánh vào vị trí mong muốn(dịng, cột) Nếu khơng đánh vị trí gợi ý, vị trí khơng hợp lệ hình báo lỗi “Bạn khơng phép ngồi gợi ý” yêu cầu nhập lại Khi bàn cờ đầy bên đạt điều kiện thắng xuất thơng báo người chiến thắng Trường hợp khơng thời gian quy định bị xử thua Trong q trình chơi bấm ESC để quay lại menu +Lưu game : Chương trình lưu bàn cờ dạng tập tin có phần mở rộng *CR, lưu thư mục cài đặt game với phần tên thời gian hệ thống +Tải game : Chương trình hiển thị danh sách ván cờ lưu Sau người chơi chọn ván cờ cần tải chương trình tái ván cờ thời điểm lưu +Giới thiệu : Hiển thị thông tin game mssv nhóm +Thốt : Nếu chọn chức chơi chương trình hiển thị thơng báo “bạn có muốn lưu ván cờ trước khơng?” Nếu chọn có chương trình lưu - Điều khiển chức menu phím mũi tên, phím enter để chọn chức tương ứng - Điều khiển trực quan : + Người chơi dùng phím mũi tên để di chuyển, enter để đánh + Người chơi dùng phím a,w,s,d để di chuyển ( tương tự game fps ) , phím space để đánh + Các quân cờ người chơi có màu sắc khác nhau, chuyển từ số 1-2 thành X,O, ô gợi ý chuyển thành dấu “-“ ô bàn cờ - Gián đoạn lúc chơi : lúc chơi, người chơi thực phím tắt để gọi chức menu : + F2 : hiển thị giúp đỡ +F3 : lưu game +F4 : tải game +F5 : hiển thị thông tin game +ESC : quay lại menu - ViẾt chương trình đánh với máy IV CÁC HÀM XỬ LÝ CHÍNH - TrongfilecoRVS.cpp:chứacáchàmđểvẽơbàncờvàcácơthơngtin tronglúcchơi - HàmveMenu:thựchiệnhiểnthịvàchọnMENUGAME,khichạychươ ng trìnhthìhàmnàysẽđượcgọiđầutiêntrongmain();Trongkhichơihay đangtrongcácthaotáckhác,nếutanhấnphímESCthì hàmnàysẽ gọi>trởvềMENUGAME - HàmveGioiThieu:inrathơngtin nhóm, mssv - HàmgiupDo:inrathơngtinhướngdẫnphímbấmcũngnhưluậtchơicủa GAME - Càiđặt: - HàmveCaiDatđểinragiaodiệnkhingườichơichọnphầntùy chọntrongMENU GAME TronghàmveCaiDatlạigọi hàmcaiDatđểthực hiệnthayđổicácthôngsố(cácbiến) - Hàm luuGame:thựchiệnchứcnăngLƯUGAMEđangchơi - Tải game lưu game :khingườichơichọnchứcnăngtảiGAMEthìsẽ gọihàmmenuTaiGameđểhiệnthịradanhsáchcácGAMEĐÃLƯU,khi chọn GAMEĐÃLƯUthìgọi hàmtaiGameđểthựchiệnchứcnăngTẢI GAME - Hàmcatch_keys1&hàmcatch_keys2:bắtsựkiện phímdichuyểncontrỏ khichơi Trongkhichơithìđọcvàomộtphím, nếukhơngphảilàphímdi chuyểnthìgọi hàmbamPhimKhiChoiđểthựchiệncácphímchứcnăngF1, F2,… - Hàmkiemtrasoquan:kiểmtra xembàn cờ đầy quân chưa V BẢNG TÓM TẮT CHỨC NĂNG Stt Chức MENU GAME GIÚP ĐỠ TÙY CHỌN GAME MỚI 5 LƯU GAME TẢI GAME THÔNG TIN THỐT *Đề tài chưa viết chương trình chơi game với máy VI MỘT SỐ HÌNH ẢNH TRONG GAME VII TÀI LIỆU THAM KHẢO - Website : 10 http:/ /dtv t.org/ f oru m_posts a sp?T I D=13162 &tit le= mt -s -hm- m- rng- trn-c - c(ThamkhảocáchàmmởrộngtrongC/C++:hàmthayđổikíchthướccửasổ console,hàmSleep(),hàmtạomàuchotext.) - Wikipedia - Tài liệu : +Slide giảng kỹ thuật lập trình +Tài liệu thực hành kỹ thuật lập trình Game mẫu : Tap Reversi Free VIII PHỤ LỤC Luật chơi - Mỗi mặt quân cờ đại diện cho bên chơi Ta gọi cờ hai bên đen trắng, gọi sấp ngửa, qn cờ có mặt riêng biệt -Trước kia, cờ Othello khơng quy định vị trí đặt quân cờ Sau đó, chấp nhận luật chơi với điều khoản phải có điểm đặt vào vị trí hình vng trung tâm bàn cờ, hai quân sẫm hai quân nhạt Quân màu sẫm Quân màu sẫm cần phải đặt vị trí tồn hàng ngang dọc, chéo quân quân cũ hai quân có hay 11 nhiều quân nhạt Trong hình dưới, qn sẫm đặt vị trí gợi ý Sau đặt quân, quân sẫm lật tất quân nhạt nằm đường dóng quân sẫm quân sẫm cũ Những quân sáng màu trở thành màu sẫm quân sẫm sử dụng chúng lượt tiếp theo, quân nhạt lại lật chúng lại nước Nếu quân sẫm định vị trí d6 (theo hình dưới), quân nhạt bị lật mặt bàn cờ có dạng hình Bây đến lượt quân nhạt nước tương tự để tìm hội lật mặt quân sẫm Các khả sau: 12 Quân nhạt vào c4 lật quân sẫm: Người chơi thay phiên quân Nếu bên khơng tiếp tiếp tục đến lượt người hai bên không nước Điều xảy cờ kín hết qn hay bên chơi khơng cịn qn bàn cờ Người chơi có nhiều quân bàn cờ người thắng Một điều khác Reversi cờ Othello ciệc sử dụng quân Ở Reversi người chơi chia 32 quân từ lúc bắt đầu 32 quân (bao gồm hai quân bàn cờ lúc bắt đầu chơi) khơng cịn qn Họ không sử dụng quân cờ đối thủ Ở cờ Othello tất quân cờ thuộc sở hữu chung hai người chơi; quân cờ để chung hộp, hai bên có hội dùng quân ngang - Chiến thuật Các quân cờ thay đổi màu nhanh, dễ dàng thường xuyên, vậy, ưu điểm nhược điểm cố gắng có nhiều quân từ lúc bắt đầu Chiếm góc, cạnh, mobility, parity, tàn dự đoán trước việc chìa khóa thành cơng cờ Othello 13 - Chiếm góc Nếu có quân đặt góc qn khơng bị đổi hết trận cờ Do đó, người chơi sử dụng quân cờ góc để chốt giữ nhóm quân với cạnh sát làm thành hệ thống chắn Do việc chiếm giữ góc chiến lược có hiệu có hội đến Nói chung, quân cờ ổn định nằm hướng ranh giới, hàng kín qn, có quân màu nằm cạnh liên tiếp bị chặn hai đầu quân màu khác - Mobility Một người chơi có chiến thuật khơng dễ dàng từ bỏ việc chiếm góc hay nước tốt Do vậy, để đoạt nước tốt bạn cần phải ép đối thủ nước từ bỏ cách tốt Cách tốt để làm việc làm giảm số lượng nước cho đối thủ bạn Nếu bạn định tìm cách hạn chế số nước hợp lý đối thủ sớm hay muộn họ phải nước mà họ khơng mong muốn Một ví trí cần thực tất quân bạn đứng cạnh nhau, bao vây xung quanh quân đối thủ Với vị trí vậy, bạn đọc nước đối thủ - Tại biên Các quân cờ đặt phía biên bàn cờ dường chắn (bởi chúng khơng bị lật mặt dễ dàng) Bốn ô vuông góc bàn cờ gọi X-vuông Lúc bắt đầu hay ván cờ, ô chiếm giữ, đảm bảo chắn cho việc sở hữu chúng - Đoán trước Như chiến thuật cờ vua hay checkers, người chơi không nên xem xét cờ Đối với nước đi, bạn cần phải cân nhắc diễn biến có từ phía đối thủ, sau khả phản ứng lại bạn với nước Tình khơng liên quan đến nước sau Do vậy, phân tích khả đi, chiếm góc khả khác, bạn nên xem xét cách 14 tốt để thực chiến lược thời gian dài quan tâm đến nước - Các chương trình chơi game máy tính Chương trình chơi cờ Othello tốt dễ dàng đánh bại người chơi cờ giỏi Vào đầu năm 1980, chương trình Moor thắng đương kim vơ địch lúc vào năm 1997, chương trình Logistello đánh bại nhà vô địch Takeshi Murakami với tỷ số 6:0 Sự trội khơng có trị chơi cờ vua, nơi mà máy tính chơi giỏi ngang ngửa với người hay cờ vây, nơi chí người chơi trung bình thắng máy tính giỏi - Nói chung, lồi người khơng thể thắng trí thơng minh máy tính cờ Othello máy tính tính tốn nhiều nước tiếp theo, việc người khơng thể Các nhà phân tích ước tính số lượng vị trí hợp lệ cờ Othello nhiều 1028 có độ phức tạp xấp xỉ 1058 15 ... Tải game lưu game :khingườichơichọnchứcnăngtảiGAMEthìsẽ gọihàmmenuTaiGameđểhiệnthịradanhsáchcácGAMEĐÃLƯU,khi chọn GAME? ?ÃLƯUthìgọi hàmtaiGameđểthựchiệnchứcnăngTẢI GAME - Hàmcatch_keys1&hàmcatch_keys2:bắtsựkiện... CHỨC NĂNG Stt Chức MENU GAME GIÚP ĐỠ TÙY CHỌN GAME MỚI 5 LƯU GAME TẢI GAME THÔNG TIN THỐT *Đề tài chưa viết chương trình chơi game với máy VI MỘT SỐ HÌNH ẢNH TRONG GAME VII TÀI LIỆU THAM KHẢO -... MỘT SỐ HÌNH ẢNH TRONG GAME VII TÀI LIỆU THAM KHẢO 19 I GIỚI THIỆU Game FLAPPY_ CAT game giải trí trị chơi trình bày theo phong cách side-scroller(phong cách game với đối tượng nhìn

Ngày đăng: 01/12/2022, 09:35

Hình ảnh liên quan

VI. MỘT SỐ HÌNH ẢNH TRONG GAME - (TIỂU LUẬN) báo cáo bài tập lớn PYTHON đề tài GAME FLAPPY CAT
VI. MỘT SỐ HÌNH ẢNH TRONG GAME Xem tại trang 9 của tài liệu.
nhiều quân nhạt. Trong hình dưới, qn sẫm có thể được đặt ở những vị trí gợi ý. - (TIỂU LUẬN) báo cáo bài tập lớn PYTHON đề tài GAME FLAPPY CAT

nhi.

ều quân nhạt. Trong hình dưới, qn sẫm có thể được đặt ở những vị trí gợi ý Xem tại trang 15 của tài liệu.
Nếu quân sẫm quyết định đi ở vị trí d6 (theo hình dưới), một quân nhạt sẽ bị lật mặt và bàn cờ bây giờ có dạng như hình dưới đây. - (TIỂU LUẬN) báo cáo bài tập lớn PYTHON đề tài GAME FLAPPY CAT

u.

quân sẫm quyết định đi ở vị trí d6 (theo hình dưới), một quân nhạt sẽ bị lật mặt và bàn cờ bây giờ có dạng như hình dưới đây Xem tại trang 15 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan