STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    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
    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 liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích.. Tìm hiểu thêm.

    Đề xuất

    Hiện Thực Game Zero Với Unity - Phần 2 - Hiện Thực Gameplay
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Giới thiệu và hướng dẫn xây ...
    STML5 CF - Game Loop
    Một khi đã đặt chân vào lĩnh vực phát triển game, bạn chắc chắn sẽ gặp ...

    Khám phá

    Hiện Thực Game Zero Với Unity - Phần 1 - Nhận Sự Kiện Button
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Thiết lập môi trường phát triển ...
    Hiện Thực Game Zero Với Unity - Phần 3 - Điểm Số Và Progress Timer
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Hướng dẫn cài đặt tính năng ...
    Hiện Thực Game Zero Với Unity - Phần 5 - Âm Thanh Và Effect
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Hướng dẫn các hiệu ứng âm thanh ...
    Hiện Thực Game Zero Với Unity - Phần 4 - Scene Và Popup
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Thiết kế hệ thống scene và ...
    CBP-3: Khai Báo Component Cơ Bản, Tích Hợp Component vào Entity
    Khai báo component CAnimation để thêm hình ảnh hiển thị cho Entity, đây ...
    Điện Tử Cơ Bản với Arduino – Cài Đặt Lần Đầu và Hiện Thực LED Chớp Tắt
    Hướng dẫn thực hiện mạch đèn chớp tắt đơn giản với Arduino. Cung cấp các ...
    Phát Triển Game Funny Halloween Pumpkins với Cocos2d-x - Phần 2
    Bài viết hướng dẫn các bạn mới muốn học làm game bằng Cocos2d-x. Thông ...
    Các Khái Niệm trong Game
    Các khái niệm hữu ích từ cơ bản đến nâng cao trong lập trình game: ...
    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 - 2020