Tải bản đầy đủ (.pdf) (13 trang)

báo cáo bài tập lớn kỹ thuật lập trình đề tài game tetris

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.97 MB, 13 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐẠI HỌC BÁCH KHOA HÀ NỘITRƯỜNG ĐIỆN – ĐIỆN TỬ</b>

<b>---BÁO CÁO BÀI TẬP LỚN:</b>

<i>Kỹ thuật lập trình</i>

<b>ĐỀ TÀI: Game TETRIS</b>

Giảng viên hướng dẫn : ThS. Hồng Quang HuySinh viên thực hiện : Đặng Đình Ân Phúc -

Dương Thị Mỹ Hạnh 20223956

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

Mục lục

Lời mở đầu...2

I.Giới thiệu thành viên:...3

II. Giới thiệu đề tài:...3

4. Tạo khung giới hạn trò chơi...11

VI. Tài liệu tham khảo...11

VII. Tổng kết...12

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

Lời mở đầu

Tetris là một trò chơi video giải đố được tạo ra vào năm 1985 bởiAlexey Pajitnov, một kỹ sư phần mềm người Liên Xơ . Trong trị chơinày, người chơi sẽ phải sắp xếp các khối hình có hình dạng khác nhaurơi từ trên xuống sao cho chúng ghép lại với nhau để tạo thành các hàngngang hoàn chỉnh. Khi một hàng được hồn thành, nó sẽ biến mất và cáckhối được đặt trên hàng đó sẽ rơi xuống một bậc . Người chơi sẽ đượccộng điểm và tiếp tục chơi đến khi các khối không thể rơi xuống nữahoặc khơng thể ghép lại với nhau nữa . Trị chơi này đã được phát hànhbởi nhiều công ty cho nhiều nền tảng khác nhau, phổ biến nhất là trongcuộc tranh chấp về việc sở hữu quyền vào cuối những năm 1980 . Saumột thời gian xuất bản đáng kể bởi Nintendo, vào năm 1996, quyền sởhữu trò chơi đã trở lại với Pajitnov, người đã thành lập Công ty Tetrisvới Henk Rogers để quản lý việc cấp phép . Trò chơi này đã bán đượchơn 202 triệu bản trên tồn thế giới, trở thành một trong những thươnghiệu trị chơi video bán chạy nhất . Trò chơi này đã có sức ảnh hưởnglớn đến văn hóa đại chúng và được coi là một trong những trò chơi videohay nhất mọi thời đại . Với trò chơi của chúng em sẽ mang tính giải trícao hơn với tính khác biệt trong các lệnh so với game cổ điển

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

I.Giới thiệu thành viên:

1. Đặng Đình Ân Phúc- MSSV: 20223804- STT: 76

- Định hướng: lập trình IoT- Kỹ năng: lập trình C/C++,

2. Dương Thị Mỹ Hạnh- MSSV: 20223956- STT: 36

- Định hướng: lập trình IoT- Kỹ năng: lập trình C/C++

II. Giới thiệu đề tài:

Trị chơi có bảy loại khối hình: I (thẳng đứng), J, L, O (vng), S, T, Z. Ta thấy mỗi khối gạch được cấu tạo từ 4 hình vng nhỏ xếp lại với nhau.

Mục tiêu của trò chơi là di chuyển các khối gạch đang rơi từ từ xuống trong kích thước hình chữ nhật 20 hàng x 10 cột (trên màn hình). Chỗ nào có gạch rồi thì khơng di chuyển được tới vị trí đó. Người chơi xếp những khối hình sao cho khối hình lấp đầy 1 hàng ngang để ghi điểm và hàng ngang ấy sẽ biến mất.

Phím W: Dịch khối lên trên Phím A : di chuyển sang trái. Phím D : di chuyển sang phải. Phím S : tăng tốc độ rơi. Phím E: Xoay viên gạch sang phải Phím Q: Xoay viên gạch sang trái Phím Space: Thả viên gạch thẳng xuống

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

1. Lý do chọn đề tài: - Giúp giải trí

- Rèn luyện kỹ năng lập trình C/C++

2. Chức năng chính:- Thay đổi hàng cột

- Thay đổi hướng của viên gạch- Xóa hết hàng khi đầy hàng

- Xóa hết gạch khi chạm vạch giới hạn trên

III. Nhiệm vụ

1. Cơng việc chính:- Tạo thư viện cho game

- Tạo các chức năng xoay chuyển hàng cột - Tạo giao diện sử dụng

2. Bảng phân công nhiệm vụ:

<small>Nhiệm vụMô tảThành viên phụ tráchTrạng thái</small>

<small>Chọn đề tàiChọn đề tài trong các</small>

<small>đề tài được gợi ý</small> <sup>Cả nhóm</sup> <sup>Hồn tất</sup><small>Tìm hiểu, phân tích cơng </small>

<small>việc cần làm</small>

<small>Tìm hiểu cấu trúc, chức năng , giao diệncủa chương trình cần thực hiện </small>

<small>Cả nhómHồn tất</small>

<small>Làm slide , báo cáoLàm slide và báo cáotheo yêu cầu của giảng viên</small>

<small>Dương Thị Mỹ HạnhHồn tất</small>

<small>Viết codeViết chương trình C++ , sửa lỗi, chạy thử </small>

<small>Đặng Đình Ân PhúcHồn tất</small>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

IV. Sơ đồ

Sơ đồ chức năng:

Sơ đồ use case:

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

Sơ đồ hoạt động:

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Sơ đồ tuần tự:

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

V. Thiết kế chương trình1. Khai báo thư viện

#include <iostream> // thư viện chuẩn c++#include <SDL.h> // thư viên đồ họa SDL#include <random> // thư viện ngẫu nhiên#include <vector> // thư viện vecto

#include <chrono> // thư viện tương tác với thời gian thực

2. Thiết kế các viên gạch

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

3. Lệnh các nút di chuyển

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

4. Tạo khung giới hạn trò chơi

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

VI. Tài liệu tham khảoCode tham khảo:

Repository search results (github.com)

Thuật toán tham khảo:  Youtube Github StackoverflowVII. Tổng kết

Các chức năng của chương trình đã được hồn thiện.

Bài viết:

20231 ET2031 145502 NHÓM 36 TETRIS – BME HUST Elearning (wordpress.com)

Link code: anphuc0311 / anphuc0311 : game Tetris ( github.com )

</div>

×