Đang tải... (xem toàn văn)
HƯỚNG dẫn lập TRÌNH rắn săn mồi cơ bản BẰNG c++ ,dành cho các bạn tò mò và mới bắt đầu vào ngành lập trình game nhé, nếu đã làm xong cơ bản thì hãy tự mình làm lên nâng cao dần dần như vượt qua nhiều map,tăng lv chẳng hạn
HƯỚNG DẪN LẬP TRÌNH RẮN SĂN MỒI CƠ BẢN BẰNG C/C++ Người thực hiện: Nguyễn Quốc Vương GVHD: Vũ Đình Bảo Sinh viên năm trường CĐ KT CT Để lập trình trò chơi rắn săn mồi, trước tiên ta cần tự đặt vấn đề.Làm để Rắn hình ? Cách thức di chuyển? Làm để console phản hồi lại tác động người dùng bấm phím mà rắn chạy? Đó điều kiện muốn lập trình game đơn giản Đầu tiên lập dàn ý vấn đề mà ta tìm hiểu Cụ thể: Khởi tạo vật thể mà muốn xuất hình Hiện thị vật thể hình Cách thức để điều khiển vật thể chạy theo hướng người bấm Xử lý thuật toán khác Thắng thua, kết thúc trò chơi Đây điều kiện mà cần để thực thi trò chơi đơn giản Khi có mục tiêu cụ thể, ta sâu vào để tìm hiểu hàm, lệnh để hỗ trợ tốt nhất, qua dòng lệnh thực thi ta có thêm ý tưởng kinh nghiệm để làm bước Từ ta tiếp tục tìm hiểu thêm số chức nâng cao mà qua ta học hỏi thêm số kinh nghiệm để ứng dụng cần thiết Tránh lan man, tìm hiểu vấn đề lớn không thực cần thiết cho đề tìm hiểu gây tốn thời gian phương hướng, nên gói gọn mục tiêu, làm tới đâu note tới Yêu cầu phải học qua nhập môn lập trình, biết hàm, kiểu liệu Nếu không khó khăn chút làm tới đâu phải tìm hiểu hàm tới Chúng ta sử dụng visual studio 2010 trở lên, theo khuyến cáo sử dụng visual 2013 2015, có nhiều chức tự động chỉnh dòng, lề làm cho code nhìn trực quan Ở xài phiên 2015 A Tạo project B Coding - Ta phải khai báo thư viện cần thiết, dùng scanf, printf (của C) sử dụng thư viện stdio.h, ngược lại cout, cin(của c++) sử dụng thư viện iostream - #include "iostream" using namespace std; int main() { - } Đầu tiên ta khởi tạo rắn Giả định rắn có n đốt, đốt vị trí (x,y) hình console Khi đốt thứ nhất(mặc định đầu) di chuyển ta việc khởi tạo đốt Còn thân rắn ta gán đốt với giá trị tạm, có nghĩa rắn di chuyển, đầu rắn nhận đốt mới, đốt cũ đầu rắn = đốt thứ i+1 Khi di chuyển thành công khai báo xóa(cout xuất hình ảnh rắn -> Xử lý hình ảnh cách gán giá trị ox, oy tạm -> rắn chuyển động(x,y++( )) giá trị đầu rắn thay đổi -> quay lại vòng lặp -> xóa đốt cuối, lúc rắn có đốt -> xuất hình ảnh rắn (lúc đầu rắn vị trí mới, nên console đốt cũ, máy xử lý nhanh nên mắt thường ko nhìn thấy) ->… Lặp lặp lại OK ! Chạy thử thấy điều kỳ diệu :D… Vậy xong phần hình ảnh chuyển động, ta cần xử lý rắn di chuyển theo ý bấm phím tương ứng Khi bấm phím máy tính nhận phản hồi lại ? Ở ta có hàm để phát nút bấm _kbhit() hàm _getch() để nhận giá trị từ nút bấm, hàm thư viện conio.h Tôi sử dụng key W = lên, S = xuống, A = Trái, D = phải + Sau gọi hàm hàm main đặt sau hàm xuLyHinhAnh Chạy thử bấm nút Tada !!! + À có vấn đề nhỏ mà ta cần giải quyết, ko phản khoa học =) Đó rắn qua trái mà ta bấm qua phải bình thường ko có chuyện xảy ra, điều ko phải ko ? Thế ta phải xử lý thêm chút hàm phát nút bấm Di chuyển đầy đủ tới thức ăn cho rắn, điều ta cần làm xuất hình ký tự đặc biệt tượng trưng cho thức ăn rắn Khi đầu rắn chạm vào thức ăn đồng thời đốt rắn dài thêm đốt + Trước tiên ta phải define kích thước ngang, dọc hình console(đặt phía hàm enum) Làm điều đễ câu lệnh ta nhìn trực quan dễ hiểu #define consoleWidth 75 #define consoleHeight 24 + Sau khởi tạo hàm tạm gọi KhoiTaoThucAn có tham số đầu vào ToaDo Food[] void KhoiTaoThucAn(ToaDo Food[]) { gotoXY(Food[0].x, Food[0].y); // Xóa thức ăn cout