Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengesan Penekanan Kekunci Anak Panah dalam Aplikasi Konsol C?

Bagaimana untuk Mengesan Penekanan Kekunci Anak Panah dalam Aplikasi Konsol C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-09 10:06:02727semak imbas

How to Detect Arrow Key Presses in C   Console Applications?

Mengesan Penekanan Kekunci Anak Panah dalam C

Ramai pembangun menghadapi cabaran dalam mengesan penekanan kekunci anak panah dalam aplikasi konsol C mereka. Artikel ini bertujuan untuk menangani isu ini dengan meneroka pelbagai kaedah dan mengenal pasti penyelesaian yang boleh dipercayai.

Menyelesaikan Masalah Percubaan Sedia Ada

Kedua-dua kaedah yang diterangkan dalam soalan kedua-duanya menggunakan getch( ) berfungsi untuk menangkap penekanan kekunci. Walau bagaimanapun, mereka gagal mengambil kira fakta bahawa kekunci anak panah biasanya menghasilkan dua kekunci kekunci berturut-turut. Penekanan kekunci pertama mewakili kod "kekunci lanjutan", diikuti dengan kod kekunci anak panah sebenar.

Kaedah Pengesanan Yang Diperbaik

Untuk mengesan penekanan kekunci anak panah dengan tepat, pendekatan yang disemak semula dibentangkan di bawah:

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

#define KEY_UP 72
#define KEY_DOWN 80
#define KEY_LEFT 75
#define KEY_RIGHT 77

int main() {
    int c = 0;
    while (1) {
        c = 0;

        switch ((c = getch())) {
        case KEY_UP:
            cout << "Up" << endl;
            break;
        case KEY_DOWN:
            cout << "Down" << endl;
            break;
        case KEY_LEFT:
            cout << "Left" << endl;
            break;
        case KEY_RIGHT:
            cout << "Right" << endl;
            break;
        default:
            cout << "null" << endl;
            break;
        }
    }
    return 0;
}

Kaedah ini mula-mula menangkap kod "kunci lanjutan" dan membandingkannya dengan senarai kod kekunci anak panah yang diketahui. Jika padanan ditemui, arah kekunci anak panah yang sepadan dicetak ke konsol. Jika kod yang ditangkap tidak sepadan dengan mana-mana kod kekunci anak panah, ia dianggap sebagai penekan kekunci "null".

Output dan Kesimpulan

Apabila dijalankan, program berjaya mengesan dan mengeluarkan arah yang sepadan dengan setiap kekunci anak panah yang ditekan. Penyelesaian ini secara berkesan menangkap dan mentafsir penekanan kekunci anak panah, membolehkan pembangun membina aplikasi konsol interaktif yang bertindak balas dengan sewajarnya kepada input pengguna.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan Penekanan Kekunci Anak Panah dalam Aplikasi Konsol C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn