#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計(jì)算變量所占位數(shù),如int型占32位
return?(num??(sizeof(unsigned)*8?-?n))?|?(num??n);?//先高位移動(dòng),再低位移動(dòng)后,兩者按位或,相當(dāng)把低位溢出的又添加到了高位,實(shí)現(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的程序控制玩家移動(dòng)。
如果需要平滑的按鍵輸入,或者同時(shí)按下多個(gè)按鍵,就不能用getch()了,需要使用另一個(gè)WindowsAPI函數(shù):GetAsyncKeyState()。該函數(shù)原型如下:
SHORTGetAsyncKeyState(intvKey
//virtual-keycode);
vKey是要檢測(cè)的按鍵的虛擬鍵碼,常用的如VK_UP、VK_DOWN等,分別表示方向鍵的上、下等。需要注意:對(duì)于26個(gè)字母的鍵碼,可以直接寫'A'、'B'??,而不要寫VK_A、VK_B。數(shù)字鍵也是,請(qǐng)直接寫'0'、'1'??。全部的256種虛擬鍵碼,請(qǐng)參考MSDN中的Virtual-KeyCodes。
返回的SHORT值,如果最高位為1,表示該鍵被按下;否則表示該鍵彈起。該函數(shù)的最低位還可以用來檢測(cè)開關(guān)鍵(比如大小寫鎖定鍵)的狀態(tài)。作為按鍵處理,還可以使用GetKeyState、GetKeyboardState等函數(shù),詳細(xì)請(qǐng)參考MSDN手冊(cè)中的KeyboardInputFunctions部分。
可以用gotoxy函數(shù)移動(dòng)光標(biāo)。
1、函數(shù)名:gotoxy
原型:extern
void
gotoxy(int
x,
int
y);
用法:#include
功能:將光標(biāo)移動(dòng)到指定位置說明:gotoxy(x,y)將光標(biāo)移動(dòng)到指定行y和列x。設(shè)置光標(biāo)到文本屏幕的指定位置,其中參數(shù)x,y為文本屏幕的坐.
C語言總并沒有左移函數(shù)和右移函數(shù)。左移和右移是位運(yùn)算符,僅僅適用于整數(shù)型的數(shù)據(jù)。
分享名稱:C語言移動(dòng)的函數(shù) c語言移動(dòng)文件的方法
鏈接地址:http://muchs.cn/article40/doecjeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站、網(wǎng)站制作、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)