2016年12月31日 星期六

[C/C++自製2D遊戲]#02 第一支程式 --- 先玩玩無圖像的<主控台>(上篇)

在各種C/C++的程式教學書籍中,第一課不免於俗地都會是列印"Hello World"字串,而且第一課都會是在主控台(Console)內執行程式。
什麼是主控台呢?
經歷過DOS年代的長輩們必定不陌生,主控台就像是DOS那樣的文字型操作介面:


在Windows系統下,主控台是工程師等級才會去使用的,一般使用者鮮少開啟主控台。
我們可以在Windows開始搜尋框內打入<cmd>,叫出Windows自帶的主控台來玩一玩,順便懷念一下使用DOS的時光。😆


請注意!!
主控台只能寫出文字介面的應用程式,無法在Windows下開出視窗!
有些台灣的大學生學了四年程式,一直在主控台內打轉,一個視窗也沒開出來過。。(唉)
所以在本系列課程中,我們對於主控台的介紹僅止於文字輸入與輸出,以及取得程式執行時的參數(arguments)。
學會了以後我們就要趕快去開窗囉~☝

==================

STEP #1: 新增專案

開啟VC++ 2008 Express,新增一個專案:


選擇Win32 -> Win32主控台應用程式,輸入專案名稱,以及希望儲存的位置,最後勾選<為方案建立目錄>:
*在此例中,我將新專案命名為ioTestWin32,創建在<D:\work\CPP>目錄底下。


進入建立精靈時,選擇<空專案>:


至此專案順利產生。



👉提問:方案(solution)與專案(project)的不同?
👨回答:一般學生做案子,大多使用一個專案就可以把問題解決;然而在面對極複雜的問題時,將會需要多人與多天來構思解決方案,方案中每個人分配到的專案未必是要產出.exe執行檔,有些人的專案任務可能是去做一個.dll動態函式庫。簡單的說,方案的級別比專案要大上非常多。


STEP #2:新增C++程式碼

我們看到剛剛產生的專案,VC++把其內容分為三類:
  • 原始程式檔(也就是程式檔,source code)
  • 標頭檔(標頭檔專門用來放置宣告,header)
  • 資源檔(程式要用的外部影音文字檔案都copy來這裡,resource)

滑鼠右擊<原始程式檔> -> <加入> -> <新增項目>,可叫出新增檔案精靈:
*我們要加的是C++程式,所以請選擇.cpp檔,名稱就命名為main吧~(程式)


在main.cpp內新增以下程式碼:

#include <stdio.h>

void main(){
 printf("Hello World\n");
}

按下CTRL+F5運行,即可看到跳出一個主控台,並且裡面顯示了Hello World:


程式說明:

  • #1行程式匯入了C函式庫的標準輸入輸出函式庫stdio.h。有了這個函式庫才可以使用printf()指令將字元寫到主控台上。
  • #3、#5行構成一組包夾的花括號{}。#3行指出,被花括號包夾的程式叫做main
  • #4行使用printf()函數,將"Hello World"字串輸出到主控台上。我們可以看到,字串必須被一組雙引號""所包夾住。
  • #4行中的\n其實是換行符號,代表這裡要換行。
如何?簡單吧~
我們將在下篇介紹如何從主控台輸入字串字元。

👨問題:請舉一反三,在主控台中顯示下列文字: