亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用C++制作GC Server過程詳解

 更新時間:2019年09月26日 09:48:38   作者:code004  
這篇文章主要介紹了使用C++制作GC Server過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

最近很多人找我要GC Server的源代碼。我跟他們講環(huán)境要求的時候,很多人都不以為然,結果最后僅僅測試程序就報了幾千個Error。所以,我決定今天講一下如何搭建你自己的GC Server。(目前還沒有一個人成功,請量力而行,如果成功了記得在評論區(qū)告訴我~)

步驟

1. 系統(tǒng)配置

本文僅適用于Windows系統(tǒng),支持Win7及以后的大部分版本,Win10最佳。

2. 環(huán)境配置

首先,你需要一個支持C/C++的IDE(強烈推薦Visual Studio,后面的操作會更方便),然后你需要下載一個圖形庫,比如WinAPI。最后你需要將圖形庫安裝到你的IDE的配置里面,將include和lib都裝到要求的文件夾里,這就不必多說了,如果有問題請在評論區(qū)說明。

3. 編譯測試

注意!在此步驟下如果出現(xiàn)任何系統(tǒng)錯誤,請立即停止操作!推薦在開始前將系統(tǒng)進行備份!

Step 1 - 創(chuàng)建項目

在這一步里,需要你在你的IDE里創(chuàng)建一個C/C++的項目,確保創(chuàng)建正常且Hello world可以運行。(我精心幫你準備好了測試用的Hello World代碼^_^)

using namespace std;
int ()
{
 cout<<"Hello,world!"<<endl;
 return 0;
}
//C
#include <stdio.h>
int ()
{
 printf("Hello,world!n");
 return 0;
}

Step 2 - 圖形庫測試

你需要include你之前引入的圖形庫的頭文件,然后再設置一下比如這樣:

#include <graphics.h>    // 引用圖形庫頭文件
#include <conio.h>
int ()
{
 initgraph(640, 480);   // 創(chuàng)建繪圖窗口,大小為 640x480 像素
 setlinecolor(RGB(255, 0, 0)); // 設置當前線條顏色
 setfillcolor(RGB(0, 255, 0)); // 設置當前填充顏色
 fillcircle(200, 200, 100);  // 畫圓,圓心(200, 200),半徑 100
 system("pause");    // 按任意鍵繼續(xù),getch();亦可
 closegraph();     // 關閉圖形環(huán)境
 return 0;
}

如果上面的代碼你可以運行成功,那么恭喜你,你可以進入下面的步驟了~

Step 3 - 按鈕制作

很多人看到圖形庫的功能后都很吃驚,但是也有人問我,GC Server里面的那些不同顏色的按鈕時怎么畫出來的。因為,圖形庫好像沒有自帶畫按鈕的功能啊~

很簡單,如下:

(下方代碼為GC Server 8.7最后更新的源代碼片段,為防止數(shù)據(jù)泄露,我們沒有采用最新版本的代碼,且在原版本的基礎上做了部分處理,不影響代碼的理解)

settextstyle(90, 0, _T("楷體"));
setbkcolor(RED);
outtextxy(20, 160, _T("歡迎您使用 GC Server!"));
setbkcolor(BLUE);
settextstyle(38, 0, _T("楷體"));
outtextxy(124, 301, _T("快速注冊"));
rectangle(120, 300, 280, 340);
outtextxy(404, 301, _T("程序信息"));
rectangle(400, 300, 560, 340);
outtextxy(684, 301, _T("立即登錄"));
rectangle(680, 300, 840, 340);
MOUSEMSG m;
while (true)
{
 m = GetMouseMsg();
 if (m.x >= 120 && m.x <= 280 && m.y >= 300 && m.y <= 340)
 {
  if (m.uMsg == WM_LBUTTONDOWN)
  {
   //此處為注冊代碼,安全起見被刪除
  }
  else
  {
   settextstyle(35, 0, _T("楷體"));
   outtextxy(130, 302, _T("快速注冊"));
  }
 }
 else if (m.x >= 400 && m.x <= 560 && m.y >= 300 && m.y <= 340)
 {
  if (m.uMsg == WM_LBUTTONDOWN)
  {
   //此處為程序信息代碼,安全起見被刪除
  }
  else
  {
   settextstyle(35, 0, _T("楷體"));
   outtextxy(410, 302, _T("程序信息"));
  }
 }
 else if (m.x >= 680 && m.x <= 840 && m.y >= 300 && m.y <= 340)
 {
  if (m.uMsg == WM_LBUTTONDOWN)
  {
   //此處為登錄代碼,安全起見被刪除
  }
  else
  {
   settextstyle(35, 0, _T("楷體"));
   outtextxy(690, 302, _T("立即登錄"));
  }
 }
 else
 {
  settextstyle(38, 0, _T("楷體"));
  outtextxy(124, 301, _T("快速注冊"));
  outtextxy(404, 301, _T("程序信息"));
  outtextxy(684, 301, _T("立即登錄"));
 }
}

代碼的思路:先把按鈕畫出來,然后再判定鼠標動作。如果鼠標再指定區(qū)域內(nèi)且左鍵單擊,就說明用戶點擊了按鈕。

當然了,你還可以搞些小花樣,比如說我之前做的lock項目(電腦安全鎖)就用到了鼠標手勢代碼:

MOUSEMSG m2;
int flag1 = 0, flag2 = 0;
settextstyle(20, 0, _T("楷體"));
rectangle(600, 500, 650, 530);
outtextxy(605, 505, _T("確定"));
while (true)
{
 m2 = GetMouseMsg();
 if (m2.x >= 600 && m2.x <= 650 && m2.y >= 500 && m2.y <= 530)
 {
  settextstyle(25, 0, _T("Consolas"));
  if (m2.uMsg == WM_MBUTTONDBLCLK)
  {
   flag1 = 1;
   continue;
  }
  else if (m2.uMsg == WM_LBUTTONDOWN && flag1 == 1)
  {
   flag2 = 1;
   continue;
  }
  else if (m2.uMsg == WM_RBUTTONDOWN && flag2 == 1)
  {
   break;
  }
  else
  {
   settextstyle(22, 0, _T("楷體"));
   outtextxy(603, 503, _T("確定"));
  }
 }
 else
 {
  settextstyle(20, 0, _T("楷體"));
  outtextxy(605, 505, _T("確定"));
 }
}

上述代碼就是要先雙擊鼠標中鍵的滾輪(向下按),然后再左鍵一次右鍵一次即可。

Step 4 - 添加游戲

游戲可以直接在GC Coding發(fā)帖,我會回復的。目前來說,大部分在GC Server目前版本已經(jīng)開放的游戲代碼都可以直接找我要。

Step 5 - 設計插件更改模塊

你需要在Github上開一個repo,然后把你想用的插件打包傳上去,用戶想下載的時候,只需要用system調用打開瀏覽器訪問指定網(wǎng)址,然后提示用戶將下載的包放到安裝目錄中,再點擊某個神奇的按鈕后程序就自動開始解析用戶下載的包,然后把文件加到下載目錄里去。程序再修改一個安裝目錄下的文件,比如把0改成1,然后開始加載這個插件。

一般來說用戶比較喜歡有卸載功能的插件,這個也很簡單,只需要加上一個卸載按鈕,一旦用戶點擊確定后就刪除包,然后把上面說的文件再改回去即可。

還可以再repo里加一個README,在程序里加一個說明,一點就打開README的網(wǎng)址,這也不難。

Step 6 - 加入一部分彩蛋

好吧,其實這一步是選做的不過我認為一個程序要更有意思就應該加入一些彩蛋。比如GC Server最近促使我添加“姓名登錄”的一個較為重要的原因就是想藏彩蛋。比如你輸入某些神奇的名字~~ 夠了不泄密了…

Step 7 - 完工

好的,如果你已經(jīng)按照前面的步驟順利完成了,生成exe文件的時候就到了。不出意外的話(這幾乎是不可能的),你會看到exe文件已經(jīng)在項目文件夾里等著你了。當然,如果出現(xiàn)了不能解決的錯誤,也歡迎你來留言哦~

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 詳解C語言如何計算結構體大小(結構體的內(nèi)存對齊)

    詳解C語言如何計算結構體大小(結構體的內(nèi)存對齊)

    結構體的內(nèi)存對齊是有關結構體內(nèi)容的很重要一個知識點,主要考察方式是計算結構體的字節(jié)大小,所以本文就給大家詳細介紹一下C語言如何計算結構體大小,文中的代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • c++多線程之死鎖的發(fā)生的情況解析(包含兩個歸納,6個示例)

    c++多線程之死鎖的發(fā)生的情況解析(包含兩個歸納,6個示例)

    這篇文章主要介紹了c++多線程之死鎖的發(fā)生的情況解析(包含兩個歸納,6個示例),需要的朋友可以參考下
    2018-01-01
  • C語言中單目操作符++、–的實例講解

    C語言中單目操作符++、–的實例講解

    C語言的操作符共分為算術操作符,移位操作符,位操作符,賦值操作符,單目操作符,關系操作符,邏輯操作符,條件操作符,逗號表達式,下表引用、函數(shù)調用和結構成員這10大類,這篇文章主要給大家介紹了關于C語言中單目操作符++、–的相關資料,需要的朋友可以參考下
    2021-12-12
  • C語言安全編碼數(shù)組記法的一致性

    C語言安全編碼數(shù)組記法的一致性

    這篇文章主要介紹了C語言安全編碼數(shù)組記法的一致性,需要的朋友可以參考下
    2014-07-07
  • C++超詳細分析紅黑樹

    C++超詳細分析紅黑樹

    這一篇我要跟大家介紹二叉搜索樹中的另一顆樹——紅黑樹,它主要是通過控制顏色來控制自身的平衡,但它的平衡沒有AVL樹的平衡那么嚴格
    2022-03-03
  • 一起來學習C++的函數(shù)指針和函數(shù)對象

    一起來學習C++的函數(shù)指針和函數(shù)對象

    這篇文章主要為大家詳細介紹了C++函數(shù)指針和函數(shù)對象,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C語言文件操作之fread函數(shù)詳解

    C語言文件操作之fread函數(shù)詳解

    fread()函數(shù)用來從指定文件中讀取塊數(shù)據(jù),下面這篇文章主要給大家介紹了關于C語言文件操作之fread函數(shù)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • C語言 常量詳解及示例代碼

    C語言 常量詳解及示例代碼

    本文主要講解C語言 常量,這里整理了 C語言常量的基礎知識,并附代碼示例和示例詳細講解,希望能幫助開始學習C 語言的同學
    2016-08-08
  • C語言中getch()函數(shù)詳解及簡單實例

    C語言中getch()函數(shù)詳解及簡單實例

    這篇文章主要介紹了C語言中getch()函數(shù)詳解及簡單實例的相關資料,需要的朋友可以參考下
    2017-03-03
  • C語言中的文件操作詳解

    C語言中的文件操作詳解

    這篇文章主要介紹了C語言中的文件操作詳解,使用文件可以將數(shù)據(jù)直接存放到電腦的硬盤上,做到了數(shù)據(jù)的持久化
    2022-07-07

最新評論