Time of Update: 2018-12-04
一、前言 碼夫掐指一算,部落格擱置已半載有餘。這半年多來,油價漲的漲,食物毒的毒,小日本越發囂張……惟獨碼夫心如止水,不,是技如止水,技術還停留在“社會主義初級階段”,絲毫沒有進步的痕迹。惟歎息:天縱然生我,何還為吾配愚腦……
Time of Update: 2018-12-04
在這裡介紹遊戲中比較有意思的邏輯的實現: 1.火焰的實現 我們都玩過炸彈超人,當炸彈爆炸的時候火焰向上下左右四個方向蔓延,那麼,是怎麼實現的呢?有圖有真相,看圖比較容易理解: 可以看到,火焰根據當前位置(炸彈位置)不同方向遞增或者遞減蔓延。當遇到土牆,土牆被燒毀並結束該方向火焰的蔓延;當遇到石牆,直接結束該方向火焰的蔓延。具體實現的代碼為: /// <summary> /// 爆炸 ///
Time of Update: 2018-12-04
一、遊戲架構完善 前幾章中,遊戲架構並沒有渲染遊戲的能力,只是進行一些邏輯輸入的運算,並沒有把畫面反饋到控制台介面。這一章中,我們將要擴充架構的功能,使它能夠對遊戲畫面進行持續渲染。擴充的功能有:遊戲的渲染和控制台的重繪,後者的意思是局部更新,則只更新指定的地區部分,其餘地區畫面保持不變,減小畫面因繪製導致的閃爍。下面是遊戲架構類的擴充後的實現: ///CGame類實現using System;using System.Threading;using
Time of Update: 2018-12-04
一、遊戲分析 相信大家對金山打字通、打字精靈等打字軟體非常熟悉,想當年剛接觸電腦時還靠它們的打字遊戲練習打字基本功。這章的遊戲DEMO就是一個打字小遊戲,當然,它很簡單,只是A~Z字母的打字練習小遊戲。遊戲的設計也不複雜,遊戲開始時先初始化下落字母的個數和每次下落字母的機率,隨著時間的進行,字母會從介面上方逐漸下落到介面底下,在這過程中你需要敲擊鍵盤上與介面下落的字母相對應的鍵位,如果鍵位的字母與下落的字母一致,則記錄打字正確數量,否則不記錄,無論如何,敲擊一次鍵盤記錄一下敲擊鍵盤數,當字母下
Time of Update: 2018-12-04
Q:C#TextBox控制項只允許輸入數字,否則無法輸入。refer:http://bbs.csdn.net/topics/390541202A://正則判斷是否輸入的是數字private void textBox1_KeyPress(object sender, KeyPressEventArgs e){ string inputText = textBox1.Text + e.KeyChar; e.Handled = char.IsPunctuation(inputText[0]
Time of Update: 2018-12-04
Q:c#GDI+繪製透明控制項。refer:http://bbs.csdn.net/topics/390541413A:public class TransparentControl : UserControl{ public TransparentControl() { BackColor = Color.Transparent; Paint += new PaintEventHandler(TransparentRender); }
Time of Update: 2018-12-04
Q:對一個Bitmap進行Alpha混合。refer:http://bbs.csdn.net/topics/390539448A:public void AlphaBlend(Bitmap source, byte alpha, Color backColor){ for (int x = 0; x < source.Width; x++) { for (int y = 0; y < source.Height; y++) { Color sc =
Time of Update: 2018-12-04
Q:如何把字串“1.B2.C3.A4.B5.A6.C7.AC8.BC9.AC10.BD11.(1)810 N (2)5 m/s 12.5倍” 轉化成: 1.B 2.C 3.A 4.B 5.A 6.C 7.AC 8.BC 9.AC10.BD11.(1)810 N (2)5 m/s 12.5倍其中:編號的標點.為英文字元,其餘的標點為中文字元。refer:http://bbs.csdn.net/topics/390534946A:使用傳統的字元解析求解,當然用Regex會比較精簡。class
Time of Update: 2018-12-04
http://blog.csdn.net/zuopai/article/details/2226612 最近學資料結構老是做實驗常用到字串和數位轉換想找卻發現網上的資料太散所以搜集整理一下 方便以後再用atof(將字串轉換成浮點型數)atoi(將字串轉換成整型數)atol(將字串轉換成長整型數)strtod(將字串轉換成浮點數)strtol(將字串轉換成長整型數)strtoul(將字串轉換成無符號長整型數)toascii(將整型數轉換成合法的ASCII
Time of Update: 2018-12-04
如何判斷一段程式是由C 編譯器還是由C++編譯器編譯的?答案:#ifdef __cpluspluscout<<"c++";#elsecout<<"c";#endif關於 #ifdef __cplusplus轉自:http://blog.sina.com.cn/u/4a17e7e101000822時常在cpp的代碼之中看到這樣的代碼:#ifdef __cplusplusextern "C" {#endif//一段代碼#ifdef
Time of Update: 2018-12-04
1.在C++ 程式中調用被C 編譯器編譯後的函數,為什麼要加extern “C”?答:首先,extern是C/C++語言中表明函數和全域變數作用範圍的關鍵字,該關鍵字告訴編譯器,其聲明的函數和變數可以在本模組或其它模組中使用。通常,在模組的標頭檔中對本模組提供給其它模組引用的函數和全域變數以關鍵字extern聲明。extern "C"是串連申明(linkage declaration),被extern
Time of Update: 2018-12-04
http://blog.csdn.net/jenghau/archive/2009/10/31/4752735.aspx 原文出自該連結,但是中間存在很多問題,經過本人修正。1、普通的變數:一般不考慮啥效率的情況下 可以在建構函式中進行賦值。考慮一下效率的可以再建構函式的初始化列表中進行。class CA{public:int data;public:CA();};CA::CA():data(0)//……#1……初始化列表方式{//data =
Time of Update: 2018-12-04
using System;using System.Linq;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using OpenNETCF.Net;using OpenNETCF.Net.NetworkInformation;using
Time of Update: 2018-12-04
Ambiguous operators need parentheses 不明確的運算需要用括弧括起 Ambiguous symbol ``xxx`` 不明確的符號 Argument list syntax error 參數表語法錯誤 Array bounds missing 丟失數組界限符 Array size toolarge 數組尺寸太大 Bad character in paramenters 參數中有不適當的字元 Bad file name format in include
Time of Update: 2018-12-04
成員函數被重載的特徵: (1)相同的範圍(在同一個類中); (2)函數名字相同; (3)參數不同; (4)virtual關鍵字可有可無。 覆蓋是指衍生類別函數覆蓋基類函數,特徵是: (1)不同的範圍(分別位於衍生類別與基類); (2)函數名字相同; (3)參數相同; (4)基類函數必須有virtual關鍵字。 “隱藏”是指衍生類別的函數屏蔽了與其同名的基類函數,規則如下:
Time of Update: 2018-12-04
http://www.cnblogs.com/BlueTzar/articles/1223313.html對於普通類型的對象來說,它們之間的複製是很簡單的,例如:int a=88;int b=a;
Time of Update: 2018-12-04
什麼時候需要建立線程池呢?簡單的說,如果一個應用需要頻繁的建立和銷毀線程,而任務執行的時間又非常短,這樣線程建立和銷毀的帶來的開銷就不容忽視,這時也是線程池該出場的機會了。如果線程建立和銷毀時間相比任務執行時間可以忽略不計,則沒有必要使用線程池了-----http://hi.baidu.com/boahegcrmdghots/item/f3ca1a3c2d47fcc52e8ec2e1大多數的網路伺服器,包括Web伺服器都具有一個特點,就是單位時間內必須處理數目巨大的串連請求,但是處理時間卻是比
Time of Update: 2018-12-04
指標就是地址,定義int * p ,則p即是該地址(指標)。*是取內容運算子,&是取地址運算子。可以將*p來看做一個普通變數來使用。著重體驗功效如下所示:#include"stdio.h"void main(){int* p;int* q;int* r;int c=8;int a=2;//initialize pointerp=&c;printf("variability c is:%d/n/n",c);printf("After 'p=&c':/n");printf("
Time of Update: 2018-12-04
1.
Time of Update: 2018-12-04
LW_OOPC是一套輕量級的面向對象C語言編程架構。它是一套C語言的宏,總共1個.h檔案(如果需要內存泄漏和調試列印支援,需要增加1個.c檔案(lw_oopc.c,約145行)),20個宏,約130行代碼,非常的輕量級,但卻很好的支援了很多面向對象的特性,比如繼承、多態,可以優美的實現面向介面編程。注意,這裏特別強調一下,使用LW_OOPC的前提是:在C語言下。如果您所在的團隊已經在使用C++,那麽LW_OOPC對於這種情形是沒有價值的。也就是說,LW_OOPC希望能夠幫助到那些懂OO的程式員,