青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

3D FPS

1234567890

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  57 Posts :: 2 Stories :: 57 Comments :: 0 Trackbacks

常用鏈接

留言簿(10)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

#

C++ 想寫些高深的 不過我不會
呀 寫些入門級的 充充數
stl 里面有個算法的 sort

大概是用那個partion sort 算法吧 其實我不太清楚 根據OO 思想 不應該去知道 對這個思想有保流

使用上方便 放入起始的位置迭代器 然后再放入自己的函數對象就可以了

寫個示例:

#include <stdio.h>
#include <tchar.h>
#include <algorithm>
#include <iostream>
#include <utility>
#include <stdlib.h>
#include <vector>

template<int iType>
struct mygreater
{     
    bool operator()(const std::pair<int,float>  & _Left, const std::pair<int,float>  & _Right) const
    {   
        if (iType == 1)
        {
            return (_Left.first > _Right.first);
        }
        else if (iType == 2)
        {
            return (_Left.second > _Right.second);
        }
        else
        {
             //error
        }
       
    }
};

void myprint(const std::pair<int,float>  & i)
{
    std::cout<< i.first << " " << i.second << "\n";
}

int _tmain(int argc, _TCHAR* argv[])
{
    std::vector<std::pair<int,float> > gVecpair;
    for (int i = 0; i <= 10; i++ )
        gVecpair.push_back( std::make_pair( rand(),(float)rand()));
   
    std::for_each(gVecpair.begin(),gVecpair.end(),myprint);
    std::sort(gVecpair.begin(),gVecpair.end(),mygreater<1>( ));
    std::for_each(gVecpair.begin(),gVecpair.end(),myprint);

    std::cout<<"\n";

    std::sort(gVecpair.begin(),gVecpair.end(),mygreater<2>( ));
    std::for_each(gVecpair.begin(),gVecpair.end(),myprint);

    getchar();
    return 0;
}


posted @ 2009-01-12 00:12 DK_jims 閱讀(418) | 評論 (1)編輯 收藏

想寫一些東西
雖然我并不是無東西好寫 但我不想寫
近來發現自己邏輯能力太低 轉數不夠高
好想找一些理由的
可惜 低層開發的都是高手
我在邏輯開發這個層 還是整理一下而已

邏輯能力 通常來說就是將一堆東西整理成一排的東西

記起以前裝VC++6.0 我連C++語言都不知道是什么

然后按下一步一步 竟然按出個窗口 神奇呀

想想辦法提高自己的大腦轉數才行

posted @ 2008-12-27 07:35 DK_jims 閱讀(132) | 評論 (0)編輯 收藏

網上看看 windows7 差不多出來了

vista 又過時羅

快 時間 速度

posted @ 2008-12-14 21:51 DK_jims 閱讀(116) | 評論 (0)編輯 收藏

近來玩EMACS 文本編輯器

不用用 就只用記事本功能

寫的時候 就CX CF 然后寫文件名 FF

寫完東西后 按CX CS CZ 好過引的一組 保存并最小化

很好 這樣的組合 但是最小化后 我找不到如何重新喚醒這個ES的方法

然后 我覺得 如果 最小化 再有一個全局的熱鍵 喚醒就好了

于是 覺得這個隨便用VC寫一下就可以了

那就上網搜搜 汗 對windows api 不是驚人的明白 無法不網

搜到是 reg??hot??key 然后看看
想了一下 就找到ES窗口 然后注冊一個全局熱鍵給本地這個窗口 響應 最大化ES的函數 showwindow 這樣就OK啦

咁我就用控制臺寫了
然后控制臺的窗口句柄 找不到 找到了一個Handle 未果

放棄了 那用一個createwindow自己創建一個窗口算了

代碼檢查出錯基本上我無 我只是寫寫方便一下自己玩ES 不要學這樣無檢查性的代碼

起碼我無檢查注冊熱鍵成不成功的

有了這個exe

按ALT + Z 就是喚醒ES的了

跟Ctrl + Z 對應一下
 
然后覺得這個窗口陰住地方
搞了個Ctrl + alt +shift +D 的隱藏這個東西 顯示也用這個鍵

系統套盤那個不想搞 合適幾行代碼了事算了

ES_now  

2010_1115 更新
http://www.shnenglu.com/Files/jimsmorong/esnow_bjam.rar

代碼與EXE都在這里 
posted @ 2008-12-06 23:56 DK_jims 閱讀(373) | 評論 (3)編輯 收藏

近來做服務那邊

網上搜到有個 Ascent的開源大項目不錯 介紹大家看看 反正我無看懂 看了幾眼 就不看了 但我就是敢說它不錯

關于Ascent 這個網址的人有研究 http://blog.csdn.net/yebeans/


然后呢 聽ES的浮夸 很過引 做個追星的人 ES

嗯 有時又想想以前的歲月 覺得應該研究下如何追星

如何拜偶像


想想下 應該足夠證明我還是有思想 嗯哆了
posted @ 2008-12-01 23:28 DK_jims 閱讀(140) | 評論 (0)編輯 收藏

C#的委托看得我暈暈的 還有socket的東西有些不太明白 大學時寫的東西 不知道怎么 硬是給我亂調試運行得了 不過現在不知道了

我發布的代碼本著完全不負責的發的 特別是這個 記得以前還有個mfc的 扔了不知道在哪里了
/Files/jimsmorong/DK_Socket_v1.rar
posted @ 2008-09-20 09:18 DK_jims 閱讀(189) | 評論 (1)編輯 收藏

premake是lua創建項目管理文件用的

可以自己寫lua文件 現在好多開源程序用這個構建 我也自己寫一個

用批處理建文件結構
先點那個amake.cmd 然后就上一層目錄 就有一個文件夾的了 是DK_project文件夾

里面的那個DK_project\project\build\premake里有幾個批處理 再點這個里面的amake就可以有sln文件出來的了 根據premake.lua決定羅 有時間大家看看 很過引的東西
代碼在這里
/Files/jimsmorong/DK_create_project.rar
posted @ 2008-09-20 09:13 DK_jims 閱讀(943) | 評論 (0)編輯 收藏

dxut 10里有sdkmesh網格文件格式 這個我再封閉一下 將大小中心點放進去
今年5月份寫的一個作品
以前做過一個蛇仔在地上轉圈子的 代碼寫的自己也不想看了 將它放出來算了

代碼在這里:
/Files/jimsmorong/directx_snake.rar
posted @ 2008-09-20 09:05 DK_jims 閱讀(200) | 評論 (0)編輯 收藏

以前學lua寫過用lua控制鍵盤mouse的

然后近來無事做 閑 網上找到個鉤子程序 加入去 記錄下按鍵消息 然后寫成lua文件 再執行lua 就有按鍵精錄的效果了 不過時間器無寫到 mouse也未寫 簡單只記錄鍵盤 隔一秒執行一個按鍵

代碼在這里:
/Files/jimsmorong/kbhook.rar

更新一下
http://www.shnenglu.com/jimsmorong/archive/2013/05/11/200176.html
posted @ 2008-09-20 09:01 DK_jims 閱讀(860) | 評論 (0)編輯 收藏

1.2008/9/10 3:51:40

2.glest再分析

3.分析方法同表現形式都以文本來體現

// 所以這個是main
4.int glestMain(int argc, char** argv){

 MainWindow *mainWindow= NULL;
 Program *program= NULL;
 ExceptionHandler exceptionHandler;
 exceptionHandler.install();

 try{
  //配置文件的 程序開啟的
  Config &config = Config::getInstance();

  showCursor(config.getBool("Windowed"));
  //創建一個程序
  program= new Program();
  //創建一個窗口 以程序指針放在窗口里 可以調用窗口內的程序
  mainWindow= new MainWindow(program);

  //分析命令行 然后就根據程序設置窗口
  if(argc==2 && string(argv[1])=="-server"){
   program->initServer(mainWindow);
  }
  else if(argc==3 && string(argv[1])=="-client"){
   program->initClient(mainWindow, Ip(argv[2]));
  }
  else{
   program->initNormal(mainWindow);
  }

  //main loop
  while(Window::handleEvent()){
   program->loop();
  }
 }
 catch(const exception &e){
  restoreVideoMode();
  exceptionMessage(e);
 } 

 delete mainWindow;

 return 0;
}

5.體誤是窗口里有程序指針 程序里有窗口指針 兩個互相叼


6.如是這樣 就是《配置,窗口,程序,錯誤》這么4個類
所以一個一個分析

-----------------我是頂頂頂頂的分割線------------------------


7.MainWindow這個類是把設置一個程序指針在里面 然后把消息交給程序處理 繼成那個WindowGl類
 將消息交給程序 處理消息這個東西應該在繼成的類中
 因為我無看見

8.WindowGl這個類繼成Window這個類
 內有一個ContextGl實例類 還有3個方法initGl,makeCurrentGl,swapBuffersGl
 三個方法基本上就是ContextGl的方法 看來就真的是這樣的GL布局的Windows
 
 
9.好 看window這個類 基本上這個才真正的是一個window窗口了
 看看先 成員有好多 先看私有成員
  1.一個map 包窗口句柄與窗口指針 具體作用暫時不知道 應該保存東西 就保存窗口的 的吧
  2.成員里有好多標志的東西 還有好多屬性的東西 都是窗口的 關于大小 長寬 全屏 句柄 設備DC
 好 看成員函數
  1.好多get set 應該是成員屬性多吧
  2.重要的createWindow
      registerWindow
      LRESULT CALLBACK Window::eventRouter
      Window::handleEvent
       
  3.看得出像普通窗口一樣就設置回調消息函數
 OK 這個類無繼成什么東西了 應該是根的了
 
 
10.看那個program吧


-----------------可耕地可耕地枯無可奈何花落去 可耕地--------------

11.Program竟然無繼成什么東西喔 用的是內插的方法
  比較重要的 ProgramState *programState;
        PerformanceTimer fpsTimer;
        WindowGl *window;
       
  成員函數有 1. initNormal(WindowGl *window);
          initServer(WindowGl *window);
           initClient(WindowGl *window, const Ip &serverIp);
          
        2.mouse key 的處理
        3.init,loop,setState,setDisplaySettings
        
12.看那個initNormal吧
 void Program::initNormal(WindowGl *window){
 init(window);
 setState(new Intro(this));
}

13.好 看那個init(window)吧 我考 這么的長 真長呀 長呀

void Program::init(WindowGl *window){
 //最基本的要設置 的 窗口與配置啦
 this->window= window;
 Config &config= Config::getInstance();
 
   //set video mode設置顯示的模式
 setDisplaySettings();

 //window窗口的創建也是在這里的 暈死 程序走向也太那個了吧
 window->setText("Glest");
 window->setStyle(config.getBool("Windowed")? wsWindowedFixed: wsFullscreen);
 window->setPos(0, 0);
 window->setSize(config.getInt("ScreenWidth"), config.getInt("ScreenHeight"));
 window->create();
  
 //timers 時間的東西
 fpsTimer.init(1, maxTimes);
 updateTimer.init(GameConstants::updateFps, maxTimes);
 updateCameraTimer.init(GameConstants::cameraFps, maxTimes);

   //log start 日志的東西
 Logger &logger= Logger::getInstance();
 logger.setFile("glest.log");
 logger.clear();

 //lang 語言吧這里是語言吧
 Lang &lang= Lang::getInstance();
 lang.load("data/lang/"+ config.getString("Lang"));
   
 //render 渲染器的東西
 Renderer &renderer= Renderer::getInstance();

 window->initGl(config.getInt("ColorBits"), config.getInt("DepthBits"), config.getInt("StencilBits"));
 window->makeCurrentGl();
  
 //coreData, needs renderer, but must load before renderer init這時得到游戲的核心數據data
 CoreData &coreData= CoreData::getInstance();
    coreData.load();

 //init renderer (load global textures)OK這里渲染 是吧 應該
 renderer.init();

 //sound 這里是聲音吧
 SoundRenderer &soundRenderer= SoundRenderer::getInstance();
 soundRenderer.init(window);
}

14.看那個setState吧 無意思 不解析
void Program::setState(ProgramState *programState){
 
 delete this->programState;
 
 this->programState= programState;
 programState->load();
 programState->init();

 updateTimer.reset();
 updateCameraTimer.reset();
 fpsTimer.reset();
}

15.看這個 竟然有個MainMenu的東西 應該是菜單的 不敢確定
void Program::initClient(WindowGl *window, const Ip &serverIp){
 MainMenu* mainMenu= NULL;
 
 init(window);
 mainMenu= new MainMenu(this);
 setState(mainMenu);
 mainMenu->setState(new MenuStateJoinGame(this, mainMenu, true, serverIp));
}

16.看這個 嗯 loop吧 在這里 程序也基本上出來了 不也就是這樣的
void Program::loop(){

 //render
 programState->render();

 //update camera
 while(updateCameraTimer.isTime()){
  programState->updateCamera();
 }

 //update world
 while(updateTimer.isTime()){
  GraphicComponent::update();
  programState->update();
  SoundRenderer::getInstance().update();
  NetworkManager::getInstance().update();
 }
 
 //fps timer
 while(fpsTimer.isTime()){
  programState->tick();
 }
}

---------------------小結-----------------------
看來全在program中調用成員來做 辛苦 窗口也放在了程序里了
嗯 應該就可以看其他的子模塊了 main好似已經被我拆解了
--------------------------------------------


17.ProgramState 這個比較關鍵喔 是狀態 從字面上來理解 應該要看看
ProgramState竟然放了一個放一個program指針后 全是虛擬成員函數 看來是一個標準的東西

18.看來main還未被我拆解喔

19.那么我繼續
這個是設置那個state的 好明顯是交給了programstate了
void Program::setState(ProgramState *programState){
 
 delete this->programState;
 
 this->programState= programState;
 programState->load();
 programState->init();

 updateTimer.reset();
 updateCameraTimer.reset();
 fpsTimer.reset();
}

很有可能走去了這里 不過我還不清楚
void Game::load(){
 Logger::getInstance().setState(Lang::getInstance().get("Loading"));
 
 //tileset
    world.loadTileset(gameSettings.getTilesetPath(), &checksum);

    //tech, load before map because of resources
    world.loadTech(gameSettings.getTechPath(), &checksum);

    //map
    world.loadMap(gameSettings.getMapPath(), &checksum);
}

20.暫時設置那個mian架構是建立在那個嗯 之上的
在一個state之下 有一些繼成 然后在繼成里做一些東西 再交給指定的工人做乜

 


--------------我是不知道做什么的分割線-------------

21.好吧 這個就當是一個main的cpp吧


2008/9/11 20:36:18
 

posted @ 2008-09-20 08:57 DK_jims 閱讀(1000) | 評論 (1)編輯 收藏

僅列出標題
共6頁: 1 2 3 4 5 6 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品激情av在线播放| 亚洲最新视频在线| 在线观看一区| 精品91久久久久| 在线成人亚洲| 91久久精品国产91久久| 亚洲国产精品久久久久秋霞不卡 | 国产伦精品一区二区三区免费迷| 欧美偷拍一区二区| 国产精品永久入口久久久| 国产日韩精品一区二区三区在线| 国产日韩一区二区三区在线| 樱桃成人精品视频在线播放| 亚洲日本中文字幕免费在线不卡| 亚洲影院色在线观看免费| 久久亚洲欧洲| 亚洲三级网站| 亚洲一区二区三区精品视频 | 欧美日韩一区精品| 国产精品日韩欧美一区二区三区 | 欧美精品日韩一本| 国产精品国产三级欧美二区| 激情懂色av一区av二区av| 一本色道久久综合亚洲精品不卡 | 麻豆精品一区二区综合av| 欧美日韩一区二区三区免费看| 国产精品中文字幕在线观看| 亚洲黄色大片| 久久久精品性| 9人人澡人人爽人人精品| 欧美一进一出视频| 欧美日韩亚洲成人| 亚洲国产精品女人久久久| 午夜国产精品影院在线观看| 亚洲国产精品久久久久婷婷884| 亚洲无线观看| 欧美另类一区二区三区| 国外成人在线| 欧美制服丝袜第一页| 亚洲精品免费在线| 榴莲视频成人在线观看| 国产日韩精品视频一区| 国产精品99久久久久久久久| 麻豆乱码国产一区二区三区| 午夜亚洲福利在线老司机| 欧美亚洲不卡| aⅴ色国产欧美| 亚洲国产精品123| 乱人伦精品视频在线观看| 亚洲一二三区精品| 亚洲高清不卡| 久久婷婷综合激情| 国产一区二区三区直播精品电影| 亚洲影院免费| 亚洲天堂成人| 国产精品一二三四| 午夜在线精品| 亚洲欧美国产va在线影院| 欧美日韩欧美一区二区| 中国av一区| 欧美日韩成人在线| 一区二区三区高清| aⅴ色国产欧美| 欧美三区不卡| 亚洲伊人久久综合| 亚洲一区在线观看视频 | 香蕉久久久久久久av网站| 99re66热这里只有精品3直播| 欧美黄色成人网| 夜色激情一区二区| 日韩午夜精品| 国产精品午夜春色av| 欧美在线免费观看视频| 欧美一区国产一区| 亚洲高清在线精品| 亚洲区中文字幕| 国产精品毛片a∨一区二区三区| 亚洲视频在线观看| 亚洲欧美日本日韩| 亚洲高清中文字幕| 夜夜狂射影院欧美极品| 国产片一区二区| 欧美**人妖| 欧美日韩一区成人| 欧美一级片在线播放| 久久蜜桃精品| 这里只有精品在线播放| 欧美亚洲一级| 99在线热播精品免费| 一区二区高清| 激情成人av在线| 一本一本久久a久久精品综合麻豆| 国产精品综合| 亚洲国产精品ⅴa在线观看 | 欧美韩日亚洲| 国产精品网站视频| 欧美成人精品三级在线观看| 欧美日韩综合视频| 久久综合图片| 欧美日韩国产另类不卡| 久久国产天堂福利天堂| 欧美精品一区二区三区四区 | 一本色道久久综合亚洲精品高清 | 欧美国产日产韩国视频| 欧美日韩一级大片网址| 久久婷婷人人澡人人喊人人爽| 欧美精品在线观看| 另类激情亚洲| 国内精品久久久久久久影视蜜臀| 亚洲美女av黄| 亚洲精品资源| 另类图片国产| 久久人人97超碰国产公开结果| 国产精品福利久久久| 最新亚洲视频| 亚洲国产精品久久久久婷婷884| 性色一区二区| 欧美中文日韩| 国产精品多人| 一级日韩一区在线观看| 99视频一区二区| 久久中文久久字幕| 久久久久**毛片大全| 国产麻豆日韩欧美久久| 一本色道久久综合亚洲精品按摩| 99av国产精品欲麻豆| 麻豆久久婷婷| 欧美丰满少妇xxxbbb| 亚洲成色777777在线观看影院| 亚洲男人影院| 欧美夜福利tv在线| 国产精品外国| 欧美亚洲一区三区| 久久久91精品国产| 国产字幕视频一区二区| 久久国内精品自在自线400部| 久久成人免费网| 国产一区二区视频在线观看| 久久精品国产第一区二区三区| 久久国产精品久久w女人spa| 国产午夜精品全部视频在线播放| 亚洲视频在线观看视频| 欧美一区二区视频在线| 国产欧美精品国产国产专区| 亚洲女优在线| 另类综合日韩欧美亚洲| 亚洲经典自拍| 欧美日韩一区在线播放| 亚洲视频1区| 久久国产精品网站| 在线精品国精品国产尤物884a| 麻豆成人综合网| 亚洲精选在线| 欧美亚洲一区二区在线观看| 国产一区二区三区在线观看免费| 久久久久久久一区二区三区| 嫩草国产精品入口| 一区二区av| 国产欧美精品久久| 久久免费的精品国产v∧| 亚洲国产精品悠悠久久琪琪| 一区二区三区四区国产| 国产伦精品一区二区三区| 欧美一区二区三区免费在线看| 欧美成人亚洲成人日韩成人| 一区二区久久久久久| 国产老肥熟一区二区三区| 美日韩精品视频| 亚洲一区二区三区在线看| 蜜臀av性久久久久蜜臀aⅴ四虎| 免费成人在线视频网站| 亚洲国内欧美| 亚洲小少妇裸体bbw| 国产亚洲欧洲一区高清在线观看 | 国产精品扒开腿爽爽爽视频 | 亚洲精华国产欧美| 国产精品嫩草久久久久| 久久亚洲春色中文字幕久久久| 亚洲国产另类久久精品| 性8sex亚洲区入口| 亚洲免费黄色| 亚洲成色999久久网站| 国产精品免费观看视频| 美女91精品| 欧美一区二区三区成人| 亚洲精品一区二区网址| 久久久亚洲精品一区二区三区| 亚洲午夜免费视频| 亚洲啪啪91| 黄色精品网站| 国产精品日韩二区| 欧美三级电影精品| 欧美a级理论片| 久久国产免费看| 在线性视频日韩欧美| 最新日韩欧美| 亚洲国产天堂久久综合网| 免费国产一区二区| 欧美一区二区视频在线| 亚洲一区二区三区在线看 |