#include?stdio.h
創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為二七等服務(wù)建站,二七等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為二七企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
#include?math.h
unsigned?fun(unsigned?num,?int?n)
{
if(n??0)
{
//sizeof(unsigned)*8計算變量所占位數(shù),如int型占32位
return?(num??(sizeof(unsigned)*8?-?n))?|?(num??n);?//先高位移動,再低位移動后,兩者按位或,相當(dāng)把低位溢出的又添加到了高位,實現(xiàn)了循環(huán)的效果?
}?
else?
{
return?(num??(sizeof(unsigned)*8?-?abs(n)))?|?(num??abs(n));
}
}
void?main(void)?
{
printf("%u\n",?fun(2,?-34));
}
可以通過設(shè)置WASD的程序控制玩家移動。
如果需要平滑的按鍵輸入,或者同時按下多個按鍵,就不能用getch()了,需要使用另一個WindowsAPI函數(shù):GetAsyncKeyState()。該函數(shù)原型如下:
SHORTGetAsyncKeyState(intvKey
//virtual-keycode);
vKey是要檢測的按鍵的虛擬鍵碼,常用的如VK_UP、VK_DOWN等,分別表示方向鍵的上、下等。需要注意:對于26個字母的鍵碼,可以直接寫'A'、'B'??,而不要寫VK_A、VK_B。數(shù)字鍵也是,請直接寫'0'、'1'??。全部的256種虛擬鍵碼,請參考MSDN中的Virtual-KeyCodes。
返回的SHORT值,如果最高位為1,表示該鍵被按下;否則表示該鍵彈起。該函數(shù)的最低位還可以用來檢測開關(guān)鍵(比如大小寫鎖定鍵)的狀態(tài)。作為按鍵處理,還可以使用GetKeyState、GetKeyboardState等函數(shù),詳細(xì)請參考MSDN手冊中的KeyboardInputFunctions部分。
可以用gotoxy函數(shù)移動光標(biāo)。
1、函數(shù)名:gotoxy
原型:extern
void
gotoxy(int
x,
int
y);
用法:#include
功能:將光標(biāo)移動到指定位置說明:gotoxy(x,y)將光標(biāo)移動到指定行y和列x。設(shè)置光標(biāo)到文本屏幕的指定位置,其中參數(shù)x,y為文本屏幕的坐.
C語言總并沒有左移函數(shù)和右移函數(shù)。左移和右移是位運算符,僅僅適用于整數(shù)型的數(shù)據(jù)。