STDIO
Tìm kiếm gần đây
    Nội dung
    0
    0
    Chia sẻ
    Nội dung
    0
    0
    Chia sẻ

    Hiện Thực Cơ Bản của Game

    Giới thiệu các kiến thức mở đầu cho lập trình game cho người mới.
    17/01/2015 27/09/2020 3 phút đọc
    Hiện Thực Cơ Bản của Game

    Những ngày đầu tiên tiếp xúc với việc lập trình Game thật sự rất vất vả.

    • Không biết phải bắt đầu từ đâu?
    • Phải làm như thế nào?

    Đặc biệt là thiếu đi sự hình dung, để hình dung ra được vấn đề và cách giải quyết từng vấn đề đó trong quá trình lập trình.

    Hiểu được khó khăn đó, bài viết này ra đời để chia sẻ những cơ bản đầu tiên, bắt đầu lập trình game như thế nào, tăng thêm sự thân thiện khi mới bắt đầu lập trình game.

    Game là gì?

    Hiểu 1 cách đơn giản thì game cũng là 1 chương trình, nhưng nó cần giữ cho chương trình chạy không kết thúc nên cần 1 vòng lặp chính, trong vòng lặp đó lần lượt làm các công việc:

    • Tính toán, cập nhật thông tin các đối tượng.
    • Thể hiện (vẽ) các đối tượng.
    • ...

    Các công việc này lặp liên tục trong vòng lặp đó.

    #include <stdio.h>
    
    int main()
    {
    	while(1)
    	{
    	}
    	return 0;
    } 

    Để thể hiện rõ hơn, thêm 1 số code vào vòng lặp while này.

    #include <stdio.h>
    #include <Windows.h>
    
    int main()
    {
    	while(1)
    	{
    		printf("This is my First Game\n");
    	}
    	return 0;
    } 

    Để hoàn thiện hơn, có thể làm chậm quá trình thể hiện game, dùng hàm Sleep() trong thư viện Windows.h.

    #include <stdio.h>
    #include <Windows.h>
    
    int main()
    {
    	while(1)
    	{
    		printf("This is my First Game\n");
    		Sleep(1000); // số 1000 này là 1000 mili-giây.
    	}
    	return 0;
    } 

    Như vậy game đã được kiểm soát nhịp độ.

    Game là 1 đối tượng

    Để quản lý game tốt hơn, có thể đóng game và class Game, các phương thức cần thiết sẽ lưu vào đây để dễ quản lý.

    Hình thành 1 class Game

    1 game cơ bản cần có 3 quá trình chính là:

    • Khởi tạo.
    • Cập nhật
    • Hủy.

    Chính vì vậy có thể tạo class Game với 3 phương thức cơ bản này và định nghĩa từng phương thức.

    class Game
    { 
    private:
    	int  num;
    	bool isExit;        // thuộc xác định thoát game
    public:
    	Game(){}
    	~Game(){}
    
    	void init();    // Khởi tạo Game
    	void run();     // Cập nhật, vẽ các Object
    	void destroy(); // Hủy sau khi thoát
    };

    Định nghĩa phương thức

    Với phương thức init(), có thể gán giá trị, cấp phát vùng nhớ cho những thuộc tính cần sử dụng trong Game.

    void Game::init()
    {
    	num = 0;
    	isExit = false;
    }

    Phương thức trên khởi tạo giá trị kiểu int num có giá trị khởi điểm là 0. Thuộc tính này có chức năng đếm số lần vòng lặp while chạy trong phương thức run(). Thuộc tính isExit sẽ giải thích thêm trong ví dụ dưới đây.

    void Game::run()
    {
    	while (!isExit)
    	{
    		num += 1; // Xử lý, update giá trị
    		printf("Game Update %d :D :D :D.\n", num); // Vẽ	
    		Sleep(1000); // Delay Time
    	}
    }

    Phương thức trên sẽ chạy cho đến khi nào thuộc tính isExit không còn là false nữa. Mỗi 1 giây trôi qua run sẽ in lên màn hình số lần Game thực hiện xong 1 lần lặp.

    Khi game thoát (isExit == true) thì hàm main kết thúc và Game bị hủy.

    void Game::destroy()
    {
    	printf("Game Over...\n");
    }

    Ứng dụng class Game vào hàm main.

    int main()
    {
    	Game game;
    
    	game.init();
    	game.run();
    	game.destroy();
    
    	return 0;
    }
    0 Bình luận
    Lập Trình Game

    Lập Trình Game

    Kiến thức, kỹ thuật, kinh nghiệm lập trình game.

    Khi bạn nhấn vào sản phẩm do chúng tôi đề xuất và mua hàng, chúng tôi sẽ nhận được hoa hồng. Điều này hỗ trợ chúng tôi có thêm kinh phí tạo nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO

    Trang chính

    Công ty TNHH STDIO

    • 30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
      +84 28.36205514 - +84 942.111912
      developer@stdio.vn
    • 383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
      Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012
    ©STDIO, 2013 - 2021