void luachon(void)
{
unsigned char nut='a',nutgia='a';
int tlc,maxlc,i,manglc[40];
fflush(stdin);
switch (ct)
{
case 0:maxlc=5;for (i=1;i<=7;i++) manglc[i]=i;break;
case 4:maxlc=2;manglc[1]=98;manglc[2]=99;oldlc=1;break;
case 1:case 2:case 3:
case 9:maxlc=3;manglc[1]=97;manglc[2]=98;manglc[3]=99;break;
}
//ban dau
tlc=lc=oldlc;
if (ct==9) tlc=lc=1;
textcolor(WHITE);
ten(manglc[lc]);
while (nutgia!=0xD)
{
// bat phim
nutgia=getch();
if (nutgia==224) nut=getch();
if (nutgia==0x1B)
switch (ct)
{
case 0:exit(0);
}
switch (ct)
{
case 0: switch (nut)
{
case 0x4B:case 0x48: lc--;if (flag==0&&(lc==2||lc==3)) lc=1; break;
case 0x4D:case 0x50: lc++;if (flag==0&&(lc==2||lc==3)) lc=4; break;
}
break;
case 4: switch(nut)
{case 0x50:case 0x4D:case 0x48:case 0x4B:lc++;break;}
break;
case 1:case 2:case 3:case 9: switch(nut)
{
case 0x50:
case 0x4D: if(lc==1)lc=3;else if(lc==3)lc=2;else lc=1;break;
case 0x48:
case 0x4B: if(lc==1)lc=2;else if(lc==3)lc=1;else lc=3;break;
}
break;
}
// gioi han bien lc
if (lc>maxlc) lc=1;
if (lc<1) lc=maxlc;
//doi mau chu
textcolor(GREEN);ten(manglc[tlc]);
textcolor(WHITE);ten(manglc[lc]);
//chuan bi cho vong lap sau - khoi tao lai gia tri
tlc=lc;
nut=0x61;
}
}
Cái này em nhặt của bác langman bên condongcviet, code di chuyển phía up,down để lựa chọn. Em thử tìm mã ASCII của 0x4B, 0x48,… rồi mà nó ra kí tự K,H. Em không hiểu làm sao mà có thể bắt được phím up,down bằng đoạn code trên nữa.