RogueLike in Linux C++-安裝所需函式庫

參考教學:
Complete roguelike tutorial using C++ and libtcod - part 1: setting up

原文教學系列係以 libtcod 函式庫 為 RougeLike 核心開心的引擎。原文即說明了 libtcod 的主要功能:
libtcod is a free, fast, portable and uncomplicated API for roguelike developpers providing an advanced true color console, input, and lots of other utilities frequently used in roguelikes.

有個開源的即時戰略遊戲:ASCIIWar,竟然就是以 libtcod 所開發的 ASCII 字符純文字遊戲,但卻又能展現出即時戰略的效果。

首要安裝套件 (pre-requisite):

Ubuntu 14.04 需安裝 libsdl1.2debian 套件;Raspbian 則已預先安裝。

$ sudo apt-get install libsdl1.2debian

** 另外兩者尚須安裝 libsdl1.2-dev 套件 (如此編譯 libtcod 才不會有問題):

$ sudo apt-get install libsdl1.2-dev

SDL (Simple DirectMedia Layer) is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.

閱讀全文 »

RogueLike in Linux C++-寫在前頭

我想再利用閒暇時間瞭解下 Linux 的程式開發,以俾得以對 Linux 系統底層有更進一步的應用與控制。因為未來開放式硬體的架構 (ex. Raspberry Pi, BeagleBoard, Cubieboard ...etc),必然是以 Linux 為開源系統,並以此為基準點,建立各類硬體裝置控制的應用。

我偏好採用 C++ 作為 Linux 開發的程式語言,畢竟 Linux 系統底層/服務 大都以 C/C++ (其實還是要當為兩種不同的語言,只是 C++ 可以很容易引用 C 的函式庫。)來開發的。再則:

  • 高移植性:重點在於函式庫的跨平台 (Windows/Linux ...)、跨硬體架構 (Intel/ARM-based CPU)!且太多開源各類的函式庫可資引用,方便太多。
  • High-Performance。
  • 物件化的始祖:畢竟我還是習慣採物件化的思維來設計與開發,具 OOP 的機制還是會比較直覺。

我希望初期先透過一個主題來持續學習與實踐 C++ 的開發 (先不需牽扯到系統底層處)。因為畢竟與工作無關,且是當成休閒嗜好的輕鬆態度學習的;所以我想乾脆就把 RogueLike 遊戲 的程式開發作為學習的標的。

因為我現在也正在玩 DCSS (Dungeon Crawl Stone Soup),而 RogueLike Game 不需著重在畫面音效等,僅需利用 ASCII 字符的格狀畫面來呈現即可,所以就不用考量到畫面效果的處理技術。另外一點很重要的是,大部分的 RogueLike 遊戲係以 Open-Source 連原始程式碼都免費釋出,還有許多教學資源可供充分的研究與學習。

我就打算以這一系列-Complete roguelike tutorial using C++ and libtcod,作為我學習以 Linux C++ 開發 RogueLike 遊戲的教案,然後逐步的把心得筆記下來。

總之,我是打算抱著很輕鬆的態度來學習 Linux C++ 的,應該是會視之為 long-term 的學習歷程。

閱讀全文 »

Linux C++-開發環境與Hello程式

實作目標:在 Ubuntu 與 Raspbian 建立 C++ 開發環境。
副目標:撰寫並執行 Hello 程式,以測試開發與編譯環境。

實作:

  • 關於 Code::Blocks IDE
    Linux C++ 老手普遍僅以 vim 為程式碼開發平台,並以 g++ 與 Makefile 工具達成自動化編譯的目的;不過對新手尤其習慣 Windows-based 具有整合開發環境的開發人員來說,只用上述命令列模式指令來編輯與撰寫 scripts 難度高了些。

    Code::Blocks 是一個開源、跨平台的 IDE 開發工具,可以撰寫 C/C++, Fortran 等程式語言;除了提供視覺化的開發環境外,也可以透過其 plugin framework 擴展功能,例如得以增強在程式編譯與除錯方面的功能。

  • 安裝 Code::Block & gcc/g++
    Code:Block 安裝非常容易。Ubuntu 可以透過 XWindows 下的「軟體中心」搜尋「Code Block」找到安裝即可;Raspbian 則在 Pi Store 以同樣關鍵字搜尋安裝。

    至於 gcc/g++,先釐清這是兩種不同的 compiler。gcc = gnu compiler collection,可以編譯多種語言;g++ 則只可以編譯 C++ 程式。關於兩者的區別,可參考-gcc和g++的區別

    Ubuntu 14.04 只需另行安裝 g++ 編譯器即可 (同上安裝方式);而 Raspbian 則已預行安裝。只要在 terminal 下打:

    # gcc (or g++) - v

    即可查知是否已安裝及其版本訊息。

  • 閱讀全文 »

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal