首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言學習庫(CSL)誕生記:讓Windows圖形編程像DOS一樣簡單

     編輯:關於C語言

前言:為什麼我們需要一個C語言學習庫?

在編寫C/C++習作時,若能多開發一些趣味程序,不僅能強化編程能力,還能提升學習興趣,更便於在師長同儕面前展示成果。本書前幾章已提出構想:在Windows SDK API基礎上封裝一套函數庫,命名為「C語言學習庫」(C-Language Study Library,簡稱CSL或csl)。這個庫將封裝所有Windows下SDK繪圖的繁瑣細節,提供類似DOS時代編程的簡易介面,可謂兩全其美。如今,這個介面正式誕生,C/C++學習的新紀元來臨!以下以Dev-C++為例說明使用方法。

CSL庫架構示意圖

(詳細內容請參閱書籍附錄)

附錄二:書中程序實例集錦

本書涉及的部分程序提供原始碼與可執行檔下載(文末整體打包)。以下展示八個經典實例:

實例一:你好,程序員!

打包檔名:test01.rar

實例一執行截圖
#include "csl.h"
CSL_BEGIN_DOS
void cslMain() {
    initgraph(0, 800, 600);
    outtextxy(300, 300, "大家好!這就是C語言學習庫程序!");
    getch();
}

實例二:學習編寫CSL程序

打包檔名:test02.rar

實例二執行截圖
#include "csl.h"
CSL_BEGIN_DOS

void DrawCommand(int left, int top, int right, int bottom, int i) {
    if (i) setcolor(WHITE); else setcolor(DARKGRAY);
    line(left, top, left, bottom);
    line(left, top, right, top);
    if (i) setcolor(LIGHTGRAY); else setcolor(BLACK);
    line(left+1, top+1, left+1, bottom-1);
    line(left+1, top+1, right-1, top+1);
    if (i) setcolor(DARKGRAY); else setcolor(LIGHTGRAY);
    line(left+1, bottom-1, right-1, bottom-1);
    line(right-1, top+1, right-1, bottom-1);
    if (i) setcolor(BLACK); else setcolor(WHITE);
    line(left, bottom, right, bottom);
    line(right, top, right, bottom);
    bar(left+2, top+2, right-2, bottom-2);
}

void cslMain() {
    initgraph(0, 800, 600);
    setbkcolor(LIGHTGRAY);
    cls();
    flush(1); // 快速刷新屏幕,CSL特有函數

    // 繪製按鈕控件
    DrawCommand(100, 200, 360, 260, 1);
    DrawCommand(380, 200, 640, 260, 0);

    settextsize(2, 2); // 設置字體大小,CSL特有函數
    // 字體特技:凹字體
    setcolor(DARKGRAY);
    outtextxy(120, 210, "激活的按鈕控件");
    setcolor(WHITE);
    outtextxy(121, 211, "激活的按鈕控件");
    // 字體特技:凸字體
    setcolor(WHITE);
    outtextxy(400, 210, "按下的按鈕控件");
    setcolor(DARKGRAY);
    outtextxy(401, 211, "按下的按鈕控件");

    setcolor(BLACK);
    outtextxy(100, 300, "大家好!學習使用CSL庫編寫C/C++習作。");
    getch();
}

實例三:CSL圖形程序展示

打包檔名:demo.rar

實例三執行截圖

實例四:炮打飛機遊戲

打包檔名:pdfj.rar

實例四執行截圖

實例五:音樂演奏程序

打包檔名:music.rar

程序截圖略

實例六:俄羅斯方塊

打包檔名:rus.rar

實例六執行截圖

實例七:最小的打字練習

打包檔名:ttnb.rar

實例七執行截圖

實例八:打字練習進階版

實例八執行截圖

實例九:匯編語言設計3D動畫程序

特別說明:此程序非作者原創,乃1997年世界編程大賽首獎作品。

打包檔名:asm3d.rar

實例九執行截圖

本文出自「編程浪子朱雲翔」博客,轉載請聯系作者!

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved