私は bash スクリプトとプログラムのテストについてたくさん読んできましたが、まだこのコードを機能させることができません。
north
east
south
基本的には、ユーザーにまたはのいずれかを尋ねる単純なプログラムですwest
。プログラムを起動すると、すぐに入力を求められます。bashスクリプトに入力を与えることができません。と を使っecho
てみexpect
ました。
どんな助けでも大歓迎です。
プレイヤーの入力を取得するために使用される関数は次のとおりです。
int process_input(Map *game)
{
printf("\n> ");
char ch = getchar();
char a = getchar(); //eat enter
int damage = rand() % 4;
switch(ch) {
case -1:
printf("you suck\n");
return 0;
break;
case 'n':
game->proto.move(game, NORTH);
break;
case 's':
game->_(move)(game, SOUTH);
break;
case 'e':
game->_(move)(game, EAST);
break;
case 'w':
game->_(move)(game, WEST);
break;
case 'a':
game->_(attack)(game, damage);
break;
case 'l':
printf("You can go:\n");
if(game->location->north) printf("NORTH\n");
if(game->location->south) printf("SOUTH\n");
if(game->location->east) printf("EAST\n");
if(game->location->west) printf("WEST\n");
break;
default:
printf("Whats next?", ch);
}
return 1;
}
そして、ここにbashスクリプトの試みがあります:
#!/bin/bash
/Desktop/c
./ex17 echo 'w'