Jumat, 21 Desember 2012

Membuat Gerakan Maju Mundul dalam C++


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

//variabel global untuk menyimpan tombol informasi
//tombol yang ditekan
INPUT_RECORD InRec;

//fungsi delay(), digunakan untuk menunda proses eksekusi
//selama beberapa millisecond
#define delay Sleep

//fungsi gotoxy(), digunakan untuk menempatkan kursor
//pada posisi KOLOM dan BARIS
void gotoxy(unsigned int kolom, unsigned int baris)
{
    COORD posisi = {kolom,baris};
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), posisi);
}

//fungsi kbhit(), digunakan untuk mendeteksi terjadinya
//penekanan tombol.  Jika terdapat tombol yang ditekan maka fungsi ini
//akan mengembalikan nilai TRUE sebaliknya FALSE
bool kbhit()
{
    DWORD EventCount,NumRead;   
    GetNumberOfConsoleInputEvents(GetStdHandle(STD_INPUT_HANDLE), &EventCount);
    if(EventCount>0)
    ReadConsoleInput(GetStdHandle(STD_INPUT_HANDLE), &InRec, 1, &NumRead);
    return (InRec.EventType == KEY_EVENT);
}

//fungsi getch(), digunakan untuk mengambil informasi tombol yang
//terakhir kali ditekan.
char getch()
{
    return InRec.Event.KeyEvent.uChar.AsciiChar;
}


int main()
{
    char tekan='X';

    //perulangan ini akan diulang selama tekan TIDAK SAMA dengan 'x'
    while(tekan!='x')
    {
        //cetak tulisan 'halo' pada kolom=20 & baris=10
        gotoxy(20,10);
        cout << "hallo";

        delay(1000);

        //cetak tulisan kosong pada kolom=20 & baris=10
        //untuk menimpa tulisan 'halo'
        gotoxy(20,10);
        cout << "     ";

        //cetak tulisan 'dunia' pada kolom=30 & baris=10
        gotoxy(30,10);
        cout << "dunia";

        delay(1000);

        //cetak tulisan kosong pada kolom=30 & baris=10
        //untuk menimpa tulisan 'dunia'
        gotoxy(30,10);
        cout << "     ";

        //cek apakah terjadi penekanan tombol,
        //jika 'ya', simpan tombol tersebut pada variabel TEKAN
        if(kbhit()) tekan = getch();

    }

}

Tidak ada komentar:

Posting Komentar