TAILIEUCHUNG - Bài giảng Lập trình nâng cao: Danh sách liên kết - Trần Quốc Long

Bài giảng "Lập trình nâng cao: Danh sách liên kết" cung cấp cho người học các kiến thức: Trò chơi Snake, kỹ thuật mảng 2 chiều, bắt phím với SDL_PollEvent, xử lý hiện tượng rớt phím, thêm, chèn, xóa trên danh sách hiệu quả. | Snake Game 13&14 - Danh sách liên kết Nội dung Trò chơi: Snake Kỹ thuật Mảng 2 chiều Bắt phím với SDL_PollEvent() Hàng đợi xử lý hiện tượng rớt phím Danh sách liên kết thêm, chèn, xoá trên danh sách hiệu quả Trò chơi Snake Sân chơi hình chữ nhật Trên sân chơi xuất hiện các quả cherry ngẫu nhiên Rắn lúc đầu dài 4 ô (tính cả đầu), ở giữa màn hình, đi xuống Người chơi điều khiển rắn di chuyển bằng các phím mũi tên Mỗi lần rắn ăn 1 quả cherry thì dài thêm 1 ô Thử sức: nhiều loại quả, mỗi loại một tác dụng Rắn va phải tường hoặc chính nó → thua Demo - Start Screen Demo - Midgame screen Các tác vụ của trò chơi Hiển thị hình vẽ giới thiệu Có nút hiển thị bảng xếp hạng các lần chơi Khởi tạo: sân chơi, con rắn, vị trí quả Game loop, tại mỗi bước: Xử lý sự kiện bàn phím để đổi hướng đi bước tiếp theo Xử lý game logic: di chuyển rắn theo hướng đi hiện tại, va chạm tường, va chạm thân rắn, ăn quả dài thân và tăng điểm số Hiển thị màn hình trò chơi Lộ trình xây dựng trò chơi Các phiên bản : vẽ sân chơi và rắn đơn giản (dùng ô vuông hoặc hình tròn), điều khiển được rắn di chuyển : thêm quả vào sân chơi, rắn ăn quả dài ra : xử lý va chạm với cạnh sân và thân rắn : Vẽ các đốt rắn đẹp bằng ảnh JPG : Thêm màn hình khởi động, điểm số, bảng xếp hạng Chuẩn bị Tạo project Snake Cài đặt thư viện SDL2, SDL2_image Đưa , , từ bài giảng về SDL vào project Sửa Xoá các hàm vẽ Sửa tiêu đề cửa sổ Chỉ để lại mã khởi tạo và giải phóng SDL cửa sổ và bút vẽ Chuẩn bị Hàm main() int main(int argc, char* argv[]) { srand(time(0)); SDL_Window* window; SDL_Renderer* renderer; initSDL(window, renderer); Painter painter(window, renderer); // TODO: game code here quitSDL(window, renderer); return 0; } Mã giả render splash screen; initialize play-ground size = (width, height) render play-ground (save timestamp) while (game is running) { get user input update snake direction using user input (turn up,

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.