国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值

這篇具有很好參考價值的文章主要介紹了【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

?[導(dǎo)讀]本系列博文內(nèi)容鏈接如下:

【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值

【C++】做一個飛機(jī)空戰(zhàn)小游戲(二)——利用getch()函數(shù)實現(xiàn)鍵盤控制單個字符移動
【C++】做一個飛機(jī)空戰(zhàn)小游戲(三)——getch()函數(shù)控制任意造型飛機(jī)圖標(biāo)移動

【C++】做一個飛機(jī)空戰(zhàn)小游戲(四)——給游戲添加背景音樂(多線程技巧應(yīng)用)

【C++】做一個飛機(jī)空戰(zhàn)小游戲(五)——getch()控制兩個飛機(jī)圖標(biāo)移動(控制光標(biāo)位置)

【C++】做一個飛機(jī)空戰(zhàn)小游戲(六)——給兩架飛機(jī)設(shè)置不同顏色(cout輸出彩色字符、結(jié)構(gòu)體使用技巧)

【C++】做一個飛機(jī)空戰(zhàn)小游戲(七)——兩組按鍵同時檢測平滑移動(GetAsyncKeyState()函數(shù)應(yīng)用)

【C++】做一個飛機(jī)空戰(zhàn)小游戲(八)——生成敵方炮彈(rand()函數(shù)應(yīng)用)

【C++】做一個飛機(jī)空戰(zhàn)小游戲(九)——發(fā)射子彈的編程技巧

【C++】做一個飛機(jī)空戰(zhàn)小游戲(十)——子彈擊落炮彈、炮彈與飛機(jī)相撞?

最近想用c++做一個小游戲,游戲的主要內(nèi)容是利用鍵盤控制一個飛機(jī)躲避和擊落屏幕頂部隨機(jī)掉落敵方炮彈,飛機(jī)被敵方炮彈擊中則減掉一條命,飛機(jī)也可以發(fā)射炮彈反擊,每擊落一個敵方炮彈,則有相應(yīng)積分。

游戲的思路就是利用w、s、a、d四個按鍵來控制飛機(jī)的移動方向,w——向上,s——向下,a——向左,d——向右;按空格鍵飛機(jī)發(fā)射反擊炮彈。

那么問題來了,程序如何知道鍵盤哪個鍵被按下了呢?c++中g(shù)etch()這個函數(shù)可以實現(xiàn)這個功能,當(dāng)鍵盤某個按鍵(或某個組合按鍵)被按下時,利用這個函數(shù)可以獲得該按鍵(或組合按鍵)對應(yīng)符號的碼值,從而確定哪個按鍵被按下了。

目錄

一、getch()函數(shù)

(一)功能描述:

(二)函數(shù)原型:

二、鍵盤碼值

(一)可顯示字符

(二)控制按鍵編碼

1、單碼

2、雙碼

(1)第一部分為224

(2)第一部分為0

(三)小鍵盤碼值

1、可顯示字符

2、第一類控制字符

3、第二類控制字符

(四)檢查鍵盤碼值的方法

1、查詢按鍵碼值程序

2、可顯示字符的運(yùn)行結(jié)果

3、控制按鍵單編碼

4、控制按鍵雙編碼


一、getch()函數(shù)

百度百科getch()函數(shù)的描述:

(一)功能描述:

getch()是編程中所用的函數(shù),這個函數(shù)是一個不回顯函數(shù),當(dāng)用戶按下某個字符時,函數(shù)自動讀取,無需按回車,有的C語言命令行程序會用到此函數(shù)做游戲,但是這個函數(shù)并非標(biāo)準(zhǔn)函數(shù),要注意移植性!

(二)函數(shù)原型:

函數(shù)原型:int getch(void)

返回值:讀取字符的碼值

getch():所在頭文件:conio.h

函數(shù)用途:從控制臺讀取一個字符,但不顯示在屏幕上函數(shù)原型:int getch(void)返回值:讀取的字符例如:char ch;或int ch;getch();或ch=getch();用getch();會等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句;用ch=getch();會等待你按下任意鍵之后,把該鍵字符所對應(yīng)的鍵盤碼值賦給ch,再執(zhí)行下面的語句。

二、鍵盤碼值

(一)可顯示字符

可顯示字符是指可通過鍵盤錄入的字符文本,編號范圍是32-126(0x20-0x7E),共95個字符,如圖1所示淺黃色區(qū)域為對應(yīng)的按鍵。

【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值,C與C++,c++,開發(fā)語言,游戲
圖1 可顯示字符按鍵

getch()獲得的可顯示字符的碼值就是字符的ascii碼值,具體情況見表1。

【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值,C與C++,c++,開發(fā)語言,游戲
表1 可顯示字符對應(yīng)的碼值

(二)控制按鍵編碼

鍵盤的有些按鍵,作用并不是錄入文本字符,而是代表輸入了一些控制指令。這部分指令按鍵的碼值分兩種情況,單碼和雙碼。單碼碼值范圍為0~32之間,雙碼由兩部分碼組成,第一部分為0或者224,第二部分為0~255。

1、單碼

常用的按鍵有4個:

序號 碼值 鍵盤符號
1 8 Backspace
2 9 Tab
3 13 Enter
4 27 Esc

2、雙碼

(1)第一部分為224
序號 第一部分碼值 第二部分碼值 鍵盤符號
1 224 71 Home
2 224 72
3 224 73 PgUp
4 224 75
5 224 77
6 224 79 End
7 224 80
8 224 81 PgDn
9 224 82 Insert
10 224 83 Delete
11 224 133 F11
12 224 134 F12
13 224 135 F11第二功能
14 224 136 F12第二功能
(2)第一部分為0
序號 第一部分碼值 第二部分碼值 鍵盤符號
1 0 59 F1
2 0 60 F2
3 0 61 F3
4 0 62 F4
5 0 63 F5
6 0 64 F6
7 0 65 F7
8 0 66 F8
9 0 67 F9
10 0 68 F10
11 0 84 F1第二功能
12 0 85 F2第二功能
13 0 86 F3第二功能
14 0 87 F4第二功能
15 0 88 F5第二功能
16 0 89 F6第二功能
17 0 90 F7第二功能
18 0 91 F8第二功能
19 0 92 F9第二功能
20 0 93 F10第二功能

(三)小鍵盤碼值

大部分外接鍵盤和部分筆記本鍵盤帶有數(shù)字輸入專用的小鍵盤,如圖2所示,也有獨(dú)立的小鍵盤,如圖3所示。

【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值,C與C++,c++,開發(fā)語言,游戲
圖2 帶有小鍵盤的鍵盤
【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值,C與C++,c++,開發(fā)語言,游戲
圖3 獨(dú)立的小鍵盤

小鍵盤上的按鍵除了數(shù)字切換鍵NumLock之外,其余的鍵大鍵盤也是有的,是重復(fù)的。

小鍵盤的碼值分三種情況:

1、可顯示字符

小鍵盤的數(shù)字0~9、加減乘除等于號(+、-、*、/、=)、小數(shù)點(diǎn)(.)等15個可顯示字符,其碼值與大鍵盤一樣,都是ascii碼值。

2、第一類控制字符

數(shù)字鍵7、8、9、4、6、1、2、3、0和小數(shù)點(diǎn)鍵等10個鍵有復(fù)合功能,分別為Home、↑、PgUp、←、→、End、↓、PgDn、Insert、Delete。這10個復(fù)合功能鍵碼值與大鍵盤的碼值略有區(qū)別,其碼值第二部分完全一致,而第一部分碼值都是0。詳見下表。

序號 第一部分碼值 第二部分碼值 鍵盤符號
1 0 71 Home
2 0 72
3 0 73 PgUp
4 0 75
5 0 77
6 0 79 End
7 0 80
8 0 81 PgDn
9 0 82 Insert
10 0 83 Delete

3、第二類控制字符

控制字符鍵Backspace和Enter,其碼值與大鍵盤一樣,分別為13和8。

(四)檢查鍵盤碼值的方法

對于可顯示字符,各個品牌鍵盤的碼值基本都一樣。對于控制按鍵的碼值可能會有不同,可以通過

編寫程序來顯示。

1、查詢按鍵碼值程序

#include <iostream>
#include "conio.h"
using namespace std;

int main()
{
	while(1)
	{
		cout<<getch()<<endl;
	}

}

2、可顯示字符的運(yùn)行結(jié)果

分別輸入'1'、'A'、'a'、'!'、','5個字符時,顯示的碼值如下所示。

49
65
97
33
44

3、控制按鍵單編碼

分別按Backspace、Tab、Enter、Esc時,顯示的碼值如下所示。

8
9
13
27

4、控制按鍵雙編碼

分別按↑、↓、←、→、F1、F2鍵時,顯示的碼值如下所示,注意每個按鍵對應(yīng)的兩個碼值是分行顯示。文章來源地址http://www.zghlxwxcb.cn/news/detail-609408.html

224
72
224
80
224
75
224
77
0
59
0
60

到了這里,關(guān)于【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【C++】做一個飛機(jī)空戰(zhàn)小游戲(九)——發(fā)射子彈的編程技巧

    【C++】做一個飛機(jī)空戰(zhàn)小游戲(九)——發(fā)射子彈的編程技巧

    ?[導(dǎo)讀]本系列博文內(nèi)容鏈接如下: 【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值 【C++】做一個飛機(jī)空戰(zhàn)小游戲(二)——利用getch()函數(shù)實現(xiàn)鍵盤控制單個字符移動 【C++】做一個飛機(jī)空戰(zhàn)小游戲(三)——getch()函數(shù)控制任意造型飛機(jī)圖標(biāo)移動 【C++】做一個飛

    2024年02月11日
    瀏覽(31)
  • 【C++】做一個飛機(jī)空戰(zhàn)小游戲(四)——給游戲添加背景音樂(多線程技巧應(yīng)用)

    【C++】做一個飛機(jī)空戰(zhàn)小游戲(四)——給游戲添加背景音樂(多線程技巧應(yīng)用)

    ??[導(dǎo)讀]本系列博文內(nèi)容鏈接如下: 【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值 【C++】做一個飛機(jī)空戰(zhàn)小游戲(二)——利用getch()函數(shù)實現(xiàn)鍵盤控制單個字符移動 【C++】做一個飛機(jī)空戰(zhàn)小游戲(三)——getch()函數(shù)控制任意造型飛機(jī)圖標(biāo)移動 【C++】做一個飛

    2024年02月14日
    瀏覽(45)
  • 【C++】做一個飛機(jī)空戰(zhàn)小游戲(八)——生成敵方炮彈(rand()和srand()函數(shù)應(yīng)用)

    【C++】做一個飛機(jī)空戰(zhàn)小游戲(八)——生成敵方炮彈(rand()和srand()函數(shù)應(yīng)用)

    ?[導(dǎo)讀]本系列博文內(nèi)容鏈接如下: 【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值 【C++】做一個飛機(jī)空戰(zhàn)小游戲(二)——利用getch()函數(shù)實現(xiàn)鍵盤控制單個字符移動 【C++】做一個飛機(jī)空戰(zhàn)小游戲(三)——getch()函數(shù)控制任意造型飛機(jī)圖標(biāo)移動 【C++】做一個飛

    2024年02月12日
    瀏覽(24)
  • 【C++】做一個飛機(jī)空戰(zhàn)小游戲(七)——兩組按鍵同時檢測平滑移動(GetAsyncKeyState()函數(shù)應(yīng)用)

    ?[導(dǎo)讀]本系列博文內(nèi)容鏈接如下: 【C++】做一個飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值 【C++】做一個飛機(jī)空戰(zhàn)小游戲(二)——利用getch()函數(shù)實現(xiàn)鍵盤控制單個字符移動 【C++】做一個飛機(jī)空戰(zhàn)小游戲(三)——getch()函數(shù)控制任意造型飛機(jī)圖標(biāo)移動 【C++】做一個飛

    2024年02月13日
    瀏覽(22)
  • C++控制臺打飛機(jī)小游戲

    C++控制臺打飛機(jī)小游戲

    我終于決定還是把這個放出來。 視頻在這:https://v.youku.com/v_show/id_XNDQxMTQwNDA3Mg==.html 具體信息主界面上都有寫。 按空格暫停,建議暫停后再升級屬性。 記錄最高分的文件進(jìn)行了加密。 有boss(上面視頻2分47秒)。 挺好玩的。 可能有bug,不想改了,整體體驗不錯就行了。 更多

    2024年02月05日
    瀏覽(17)
  • Python開發(fā)小游戲:寫一個飛機(jī)大戰(zhàn)只需要500行代碼!

    Python開發(fā)小游戲:寫一個飛機(jī)大戰(zhàn)只需要500行代碼!

    ‘’’ :param background_image_path: 背景圖片的路徑地址 :param size: 游戲窗口的大小 :param title: 游戲窗口的標(biāo)題 :param font_name: 指定字體 :param font_size: 指定字體大小 :param speed: 背景圖滾動整個窗口一次所用時間,單位為ms ‘’’ self.size = size self.screen = pygame.display.set_mode(size) self.tit

    2024年04月11日
    瀏覽(33)
  • 超好玩C++控制臺打飛機(jī)小游戲,附源碼

    超好玩C++控制臺打飛機(jī)小游戲,附源碼

    我終于決定還是把這個放出來。 視頻在這:https://v.youku.com/v_show/id_XNDQxMTQwNDA3Mg==.html 具體信息主界面上都有寫。 按空格暫停,建議暫停后再升級屬性。 記錄最高分的文件進(jìn)行了加密。 有boss(上面視頻2分47秒)。 挺好玩的。 可能有bug,不想改了,整體體驗不錯就行了。 更多

    2024年02月05日
    瀏覽(20)
  • 使用Python制作的小游戲---飛機(jī)大戰(zhàn)

    1.pygame模塊 1. 熟悉Python面向?qū)ο缶幊痰姆椒ê吞茁?1.敵機(jī)模塊 2. 地圖模塊 3. 得分模塊 4 .英雄飛機(jī)模塊 5. 子彈模塊 6. 主模塊

    2024年02月03日
    瀏覽(27)
  • python——飛機(jī)大戰(zhàn)小游戲

    python——飛機(jī)大戰(zhàn)小游戲

    目錄 1、導(dǎo)入模塊 2、窗口操作 3、事件操作 4、長按事件 5、添加游戲背景 6、添加英雄飛機(jī) 7、獲取飛機(jī)的圖片矩形 8、基本游戲窗口 9、添加游戲窗口圖片 10、英雄飛機(jī)登場 11、英雄飛機(jī)裝備子彈并發(fā)射 1、enemy_plane 2、game_main 3、game_map 4、game_score 5、hero_plane 6、plane_bullet 先安

    2024年02月03日
    瀏覽(28)
  • Python飛機(jī)大戰(zhàn)小游戲

    Python飛機(jī)大戰(zhàn)小游戲

    游戲規(guī)則:鍵盤上下左右鍵控制飛機(jī)移動 游戲展示圖片: 源碼: 第一個py命名為:plane_main.py 第二py命名為:plane_sprites.py 素材圖片image關(guān)注私信我獲?。。?!

    2024年02月10日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包