2017年1月6日 星期五

[C/C++自製2D遊戲]#05 安裝graphics.h

在傳統的C語言教學中,有關圖形的部份都是使用<graphics.h>函式庫來進行的。
問題是:這個庫是非公規的庫,在20多年前DOS年代,他是由Turbo C及Borland C所自行提供的。
進入到Windows系統後,Visual Studio內是沒有自帶<graphics.h>的,
所以在這一課的開始,我們要安裝Colorado大學所開發的 <WinBGIm Graphics Library with Visual Studio 2005/2008>函式庫。
這套函式庫與Borland的BGI系列繪圖函式庫相容,因此我們可以使用他來體會20年前<先賢先烈>開發遊戲時的辛苦(大誤...^^)

請連至以下網址,下載BGI2008.zip

https://www.cs.colorado.edu/~main/bgi/visual/


解包後先放到桌面上即可。

==================
STEP #1:

開啟bgi資料夾,將bgi.sln拖曳到VC++ Express中,即可享受<裸奔>工程(大陸工程師界的詞彙,意指可讓小白們快速直接切入工程的檔案):


在<Header Files>上點右鍵,選擇<加入>-><現有項目>,匯入<graphics.h>檔案。
好!現在在案子內的C/C++程式碼就可以使用Borland相容的<graphics.h>囉~
請隨意將一個gif圖標複製到程式根目錄,取名為games.gif。稍後我們會利用程式碼在視窗中顯示他。


* 這套函式庫的說明書在此:
http://www.cs.colorado.edu/~main/bgi/doc/

======================
STEP #2:

在專案的Soucre Files夾中新增main.cpp檔案,撰寫程式如下:

#include <stdio.h>
#include <conio.h>
#include "graphics.h"

int main(){
 
 initwindow(640,480,"This is my game");
 setcolor(2);
 settextstyle(SANS_SERIF_FONT, HORIZ_DIR, 0);
 outtextxy(200,300,"hello world");
 readimagefile("games.gif", 220, 120, 380, 280);
 getch();
 cleardevice();
 getch();

}

程式說明:

  1. #7用一條指令就開出了一個<繪圖視窗>,大小為640x480,標題"This is my game"。
  2. #8設置文字顏色為系統2號色,完整的色號在此:
    http://www.cs.colorado.edu/~main/bgi/doc/setcolor.html
  3. #9行設置文字字型,參數詳見說明書
  4. #10行輸出文字,#11行輸出圖片。參數詳見說明書。
  5. #13行使用cleardevice清除整個螢幕。
按下F5運行,good,我們可以顯示圖片與文字了。
任意點擊一次鍵盤可以清除所有圖文,二次點擊鍵盤則可關閉程式。