#include <stdio.h>
int main(){
char muki="L";
int kn;
while(1){
system("cls");
if(muki == 'L'){
printf(" \n");
printf(" *** \n");
printf(" * \n");
printf(" ********* \n");
printf(" ****** \n");
printf(" * * \n");
printf(" * * \n");
printf("_y_y_y*y_y_y*y_y_y_y_\n");
} else if(muki == 'R'){
printf(" \n");
printf(" *** \n");
printf(" * \n");
printf(" ********* \n");
printf(" ****** \n");
printf(" * * \n");
printf(" * * \n");
printf("_y_y_y*y_y_y*y_y_y_y_\n");
}
printf("\n");
printf("<-で左向き、->で右向き、Escキーで終了\n");
scanf("%d", &kn);
if(kn == 27) break; // Escキー
if(kn!= 0) continue;
if(kn == 77) muki="R";
if(kn == 75) muki="L";
}
return 0;
}
<-で左向き、->で右向き、Escキーで終了
sh: 1: cls: not found
<-で左向き、->で右向き、Escキーで終了
sh: 1: cls: not found
<-で左向き、->で右向き、Escキーで終了
sh: 1: cls: not found
<-で左向き、->で右向き、Escキーで終了
sh: 1: cls: not found
<-で左向き、->で右向き、Escキーで終了
sh: 1: cls: not found
<-で左向き、->で右向き、Escキーで終了
sh: 1: cls: not found
<-で左向き、->で右向き、Escキーで終了
…
コンピュータが悲鳴を上げました。
scanf(“%d”, &kn);だと、32764となる
$ ./main
^[[C
32764
あ、キーコード取得はgetchar()だ。scanf()とこんがらがる。
#includeint main(){ int kn; kn = getchar(); printf("%d", kn); return 0; }
$ ./main
a
$ ./main
^[[C
27