光標函數(自己理解的)

自己理解的:

  在做小遊戲貪喫蛇的時候,發現蛇的移動可以用清屏函數這個牛*的函數輕鬆完成,但是貪喫蛇用清屏函數做出的遊戲,遊戲的體驗感極差,因爲用清屏函數貪喫蛇的每走一步,圖面就必須從新在打一遍,等到蛇越來越大,走的越來越快的時候,那屏幕刷新的,無法直視。所以根本不能使用清屏函數來解決蛇的移動。

   所以,就去查,才發現有個更牛*的光標函數,這個光標函數,是封裝好的,可以直接用,但在要加上#include<windows.h>這個頭文件,光標函數就是電腦屏幕上的那個光標的函數,它讓整個屏幕都變成一個用數組組成的一個座標系,可以直接傳給光標函數的參數,根據函數接受的實參,光標函數可以直接把光標移動到實參的座標的上,比清屏函數,效率大大提升,直接讓蛇的移動從連環畫進化的低級動畫片(就是隻用兩種顏色的簡單的貪喫蛇)。

代碼:(代碼的註釋是自己加的,自己翻譯的可能有點不對。)

/*** 光標定位 ***/ 
HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//保持句柄  =獲取std句柄(標準輸出句柄) 
COORD coord; // windows的一個結構體
 
void locate(int x,int y)  //初始化座標

    coord.X=y; 
    coord.Y=x; 
    SetConsoleCursorPosition(hout,coord); //設置控制檯光標的位置 
}; 
 
/*** 隱藏光標 ***/ 
void hide() 

    CONSOLE_CURSOR_INFO cursor_info={1,0}; //遊標遊標信息遊標信息
    SetConsoleCursorInfo(hout, &cursor_info);  // 設置控制檯光標信息
}

by朱夏彤

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章