Hướng dẫn snake eyes javascript - jav mắt rắn
Reviews
AA Aug 17, 2022 The course material is superb. It was nice learning from such an amazing course Instructor. Thumbs Up. HO Nov 9, 2022 Enjoyed the course and learned man new concepts and strategies. From the lesson Building a Simple Game in JavaScript By building this game within this module, you will be able to practice the JavaScript you have already learned while constructing a script with more functions and complexity. You will be able to then extend the script in many creative ways. Taught ByChắc hẳn mọi người cũng đã quá quen thuộc với game rắn săn mồi. Bài viết hướng dẫn mọi người làm game này bằng Javascript và thư viện p5,js. Qua đó, bạn sẽ nắm vững hơn một số khái niệm trong Javascript cũng như biết cách dùng p5.js để làm đồ họa, animation trên web. 1. Giới thiệu thư viện p5.jsp5.js là một thư viện Javascript được dựa trên nền tảng Processing. Thư viện này giúp xử lý đồ họa, tương tác trên trang web dễ hơn, p5.js cung cấp đầy đủ các chức năng để vẽ animation lên trang web và một số thư viện để tương tác với các đối tượng trong HTML5 như text, input, video, webcam và âm thanh.text, input, video, webcam và âm thanh. Để bắt đầu với p5.js thì bạn chỉ cần thêm thư viện vào thông qua thẻ 4, một file html mẫu sẽ như sau:
Trong p5.js thì có 2 function mà bạn chắc chắn sẽ sử dụng như sau:
Bạn có thể tìm hiểu sâu hơn về p5.js tại trang chủ này. 2. Làm game2.1 Thiết kế giao diện và Hiển thị rắnPhần giao diện khá đơn giản, sẽ gồm một lưới các ô vuông. Mỗi ô vuông sẽ hiển thị một phần thân con rắn, hoặc là mồi. Chúng ta tạo ra 4 file: 1. 8Đây là file html chứa giao diện của game:
2. 9Đây là file chứa các hằng số trong game (đội rộng, cao của màn hình, ...)
3. 0Đây là Class chứa toàn bộ code để điều khiển con rắn.
Đầu tiên, ta tạo ra một con rắn với phần đầu ở tọa độ (0,0) trên màn hình. Class này sẽ có một hàm 1, giúp hiển thị con rắn lên màn hình.4. 2Đây là file chứa code của toàn bộ game.
Sau khi chạy code, bạn sẽ được một màn hình kết quả: Bạn sẽ thấy một ô vuông màu trắng được vẽ ở tọa độ (0,0), đó chính là đầu của con rắn, sang đến phần sau chúng ta sẽ xử lý đến phần chuyển động. 2.2 Tạo chuyển động cho rắnĐể xử lý chuyển động, ta sẽ tăng hoặc giảm tọa độ x,y của phần đầu rắn. Vậy ta sẽ có 4 trường hợp như sau:
Nhưng như vậy sẽ phải xử lý 4 trường hợp rất dài dòng. Vậy nên ta sẽ dùng một Vector khác, gọi là Vector vel dùng để xác định phương hướng đang đi.
Để thay đổi giá trị cho vel mỗi khi người chơi nhấn các phím mũi tên, ta sẽ viết thêm 1 hàm là 3 trong file 2
Ta cũng sẽ viết thêm một hàm vào class Snake là 5 để cập nhật lại vị trí của con rắn
Hàm 6 cũng sẽ được viết thêm để cập nhật lại vị trí
Chạy lại code và dùng các phím mũi tên để điều khiển, ta sẽ được kết quả như sau: 2.3 Hiển thị thức ănĐến phần này, ta sẽ hiển thị ra thức ăn để rắn có thể ăn. Tạo thêm một file 7 nữa để xử lý phần này
Sẽ có hàm newFood() để tạo lại tọa độ của thức ăn một cách ngẫu nhiên và một hàm 8 để hiển thi lên màn hình game. Sau đó trong hàm 6 chỉ cần gọi thêm
là đã hiển thị được thức ăn. 2.4 Xử lý khi rắn ăn thức ănĐể biết được khi nào rắn đã ăn mồi, ta chỉ cần kiểm tra xem tọa độ của phần head có trùng với tọa độ của food không là được, đồng thời cũng tạo thêm 1 biến 0 ở bên snake - đây sẽ là chiều dài của con rắn, mỗi khi ăn mồi sẽ tăng thêm 1. Ta viết thêm vào file 2 như sau: 0Ta sẽ có kết quả như sau: Như vậy là ta đã hoàn thành phần ăn thức ăn. Tiếp theo sẽ đến việc xử lý phần thân của con rắn, làm sao để mỗi khi ăn thức ăn thì nó sẽ dài ra. Chúng ta sẽ thêm đoạn code sau vào hàm 5 và 1 của con rắn, đoạn code này sẽ update lại vị trí của phần thân rắn, dựa theo biến length. 1Sau khi chạy, ta được kết quả sau: 2.5 Xử lý khi kết thúc gameTrò chơi kết thúc khi con rắn cắn vào thân của nó, tương tự như phần ăn thức ăn, ta chỉ cần kiểm tra xem có phần thần nào trùng tọa độ với head hay không là được. Ta tạo thêm 1 biến 4 tượng trưng cho trạng thái của con rắn và thêm đoạn code sau vào hàm 5 2Và hàm 6 cũng sẽ được chỉnh lại, để mỗi khi 7 thì sẽ tạo lại 1 game mới. 3Và cuối cùng, đây sẽ là game hoàn chỉnh :)) 3. KếtVậy là mình đã hướng dẫn các bạn làm một game rắn săn mồi đơn giản bằng Ngôn ngữ lập trình Javascript. Hy vọng sau bài viết thì bạn sẽ cảm thấy hứng thú với Javascript hơn, cũng như với p5.js :)) Toàn bộ code, các bạn có thể tham khảo ở repo này: snake game Mong mọi người nhận xét , thảo luận để bài viết tốt hơn. Nếu thấy hay thì hãy vote 5 sao giúp mình nhé :)) Cảm ơn mọi người đã đọc. |