Time of Update: 2017-02-27
C#開發WPF/Silverlight動畫及遊戲系列教程(Game Course):(十四)
Time of Update: 2017-02-27
C#開發WPF/Silverlight動畫及遊戲系列教程(Game
Time of Update: 2017-02-27
C#開發WPF/Silverlight動畫及遊戲系列教程(Game
Time of Update: 2017-02-27
C#開發WPF/Silverlight動畫及遊戲系列教程(Game Course):(十一)地圖遮罩層的實現前面的章節主要針對地圖表現層進行講解。通常來說,簡單的遊戲光有它就足夠了;但是為了達到更加真實的光影效果,類比真實的虛擬世界,我們還得繼續在地圖上下大工夫。本節將就如何?地圖中的遮罩層,即物體對角色的遮擋進行詳細講解。首先我們來看一張比較完善的地圖應該包含哪些內容:從上圖可以看到,我將一張地圖引擎結構分成了3層(難道這就是傳說中的地圖三層架構?汗一個先。。。)。中間的圖片代表地圖的表現層,
Time of Update: 2017-02-27
C已經放下很久了,大一學的基礎語言,之後學C++,學/用VC好長一段時間,直到大三 上Java畢設用Java,然後是直到4個月前一直用Java/J2EE的東西,現在又改用了C#。呵呵,看起來學了不少語言。雖說程式設計語言都是相通的,確實如此,先前學的為後來打下了基礎。但是,各門語言 到細處還是有很多不同的,現用現學吧。現在又是找工作的時候了,論壇裡到處是筆經、面經、筆試題,等等,又忙起來了( 呵呵,不是我)為什麼又想到C/C++了呢?因為被打擊了,下面這題(筆經中的)沒做對:int
Time of Update: 2017-02-27
在C++ BUILDER中,事件是一種委託模型,它是對訊息的封裝。如果你用過VC,你就知道在VC中並不存在什麼事件,而只有訊息處理函數,而在C++ BUILDER中則是由事件處理函數來負責響應訊息。同是,事件本身也是一指標,它是一個閉包,通常在C++
Time of Update: 2017-02-27
快速排序演算法的C++實現詳解qsort函數的用法C++求二個數的最大公約數與最小公倍數執行個體小覽CallStack(調用棧)(三)-用調試器指令碼查看調用棧資訊小覽call stack(調用棧) (二)——呼叫慣例小覽call stack(調用棧) (一)C++/CLI中棧對象的設計問題POJ 1694 C++
Time of Update: 2017-02-27
C/C++中相關的轉換方法主要有如下幾種:(一)、使用CRT庫中的轉換函式族。_itoa, _itow 及其反轉換 atoi, _wtoi_ltoa, _ltow 及其反轉換 atol, _wtol_ultoa, _ultow_ecvt, _fcvt, _gcvt 及其反轉換_atodbl, _atoldbl,_atoflt...(太多了,不想寫了)使用此方法的優點:是C標準庫中函數,現成可用且可移植(部分為平台相關 )。缺點:轉換函式較多,命名不統一以致難以記住,使用不方便。(二)、藉助C++
Time of Update: 2017-02-27
這節和異常有關,這一塊是我不太熟悉的,只能先把自己理解的記錄下來。1 class Widget2 {3 public:45 ~Widget() {} //假設這裡會吐出一個異常6 };7 8 void doSomething()9 {10 std::vector<Widget> v;1112 }//v在這裡自動銷毀 上面的代碼中,假設v含有10個Widget,如果在前面幾個的解構函式中彈出異常,則程
Time of Update: 2017-02-27
這個問題在實踐中偶爾會碰到,設計一個TimeKeeper基類和一些衍生類別來記錄時間:1 class TimeKeeper2 {3 public:4 TimeKeeper ();5 ~TimeKeeper();67 };89 class AtomicClock: public TimeKeeper {}; //原子鐘10 class WaterClock: public TimeKeeper {}; //水鐘在使用時,我們可能會使用factoryFactory 方法:1
Time of Update: 2017-02-27
有時候,我們需要定義一些獨一無二的類,這些類是如此的特別,以至於我們不能將 其拷貝或者賦值:1 class Family {};23 Family mine;4 Family your;5 Family her(mine);//不能通過編譯6 mine = your; //也不能通過可是上一個專題講到,即使我們不定義copy建構函式和copy assignment函數,編譯器 還是會自動定義它們,所以,為了阻止上述行為,我們一般的解決方案就是: 1 class Family2 {3
Time of Update: 2017-02-27
這一部分的條款講的都是類的構造/析構/賦值函數的使用。當你寫下一個:1 class Empty {};經過了編譯器的處理,就好像你寫下了 如下的代碼:1 class Empty2 {3 public:4 Empty() {} //default建構函式5 Empty(const Empty& rhs) {} //copy建構函式6 ~Empty() {} //解構函式78 Empty& operator=(const Empty& rhs)
Time of Update: 2017-02-27
我自己在寫代碼的時候也經常會遇到忘記初始化某對象的問題,而且這些錯誤比較難 以調試,Meyers提出了一些避免這些錯誤的解決方案:1.手工初始化所以內建類 型:這一條很好理解,對於int,enum等內建類型,在使用前一定要初始化。2.對於類類型等使用者自訂的對象,使用成員初值列初始化所有的對象:1 using namespace std;23 class PhoneNumber{};4 class Customer5 {6 public:7 Customer(const
Time of Update: 2017-02-27
const是我們寫c++代碼時的常客,對於那些我們不希望修改的對象,最好用const進行 修飾。1.下面來看看一些慣用法:1 char greeting[] = "Hello";2 char* p = greeting; //非const指標,非const資料 3 const char* p = greeting; //非const指標,const資料4 char const *p = greeting; //非const指標,
Time of Update: 2017-02-27
以前學習c語言時,老師教導我們,對於數字最好用宏(#define)來定義它。以至於 一直習慣於#define Age 12這樣的寫法。在c語言的環境中,這確實是增加程式可讀性的有效做法,可是在c++中,可以有更優 美的實現方式。1.當你寫下#define NUMBER 11.12如果接下來使用NUBMER時出現了編譯錯誤,那麼由於在預先處理過程中NUMBER已經被替 換為11.12了,編譯器指出錯誤發生在11.12上,如果使用者不是你,肯定會對11.12感到
Time of Update: 2017-02-27
都說c++難學。確實,這是由於c++過於龐大了,Meyers將龐大的c++分成了四個部分:1.c語言;2.經典的物件導向c++:包括了class,封裝,繼承,多態,虛函數等經典的OO思想;3.c++模板編程,也稱為泛型程式設計,這一部分相對內容較新,我個人正在學習《C++ Templates》加深理解;4.STL:vector,list,map,iterator相信大家都很熟悉了吧:)你看,這裡的每一個部分都值得你花上半年的時間去理解,那些所謂的《XX天精通C++ 》根本就不可能實現,學好C++
Time of Update: 2017-02-27
++是C++的自增運算子,作用是使變數自加1;--是自減運算子,作用是使變數自減1。++和--有兩種用法,一種是首碼用法,一種是尾碼用法。首碼用法如:++i、--i
Time of Update: 2017-02-27
本文介紹了Linux的C開發環境的構成和安裝,使讀者對Linux的C開發環境能有初步的瞭解。你瞭解Linux嗎?相信現在越來越多的人會說“是”的。那麼你瞭解到何種程度呢?不可否認,目前決大多數的Linux使用者對Linux的瞭解還處於比較低級的層次,他們可能會幾條命令、會配幾種服務、會用rpm來安裝軟體、會操作KDE/Gnome界機等等,但是當他們遇到一些需要編譯安裝的軟體時,面對一些簡單的出錯資訊,他們
Time of Update: 2017-02-27
在C語言中,並沒有任何內在的機制來完成如下一些功能:在編譯時間包含其他源檔案、定義宏、根據條件決定編譯時間是否包含某些代碼。要完成這些工作,就需要使用預先處理程式。儘管在目前絕大多數編譯器都包含了預先處理程式,但通常認為它們是獨立於編譯器的。預先處理過程讀入原始碼,檢查包含預先處理指令的語句和宏定義,並對原始碼進行響應的轉換。預先處理過程還會刪除程式中的注釋和多餘的空白字元。預先處理指令是以#號開頭的程式碼。#號必須是該行除了任何空白字元外的第一個字元。#後是指令關鍵字,在關鍵字和#號之間允許存
Time of Update: 2017-02-27
如何在C++中將資料庫資料分行和列儲存到Excel中? 程式中的資料在StringGrid控制項中顯示的,那如何按照StringGrid顯示的格式分行分列儲存到Excel表格呢?請看如下兩種方法的實現:第一種方法:採用的一格一格填充資料Variant ExcelApp,WorkBook1,WorkSheet1;//---------------------------------------------------------------------------__fastcall TForm1