Ich habe viel über Bash-Skripte und Programmtests gelesen, aber ich kann diesen Code immer noch nicht zum Laufen bringen.
Im Grunde ist es ein einfaches Programm, das den Benutzer nach einem der beiden fragt north
east
south
oder west
. Ich starte das Programm dann fragt es sofort nach Eingaben. Ich kann das Bash-Skript einfach nicht dazu bringen, ihm eine Eingabe zu geben. Ich habe versucht, mit echo
und expect
.
Jede Hilfe ist willkommen.
Hier ist die Funktion, die verwendet wird, um die Spielereingabe zu erhalten:
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;
}
Und hier ist der Versuch eines Bash-Skripts:
#!/bin/bash
/Desktop/c
./ex17 echo 'w'
Was versuchst du zu tun? Erstellen Sie ein C-Programm oder ein Bash-Skript?
– Wallyk
12. Mai 2013 um 15:20 Uhr
versuchen Sie, die Eingabe an die zu senden
c program
durch einbash script
?– abasu
12. Mai 2013 um 15:21 Uhr
Ich verstehe wirklich nicht, was Sie wollen/fragen, und es sieht so aus, als wäre ich nicht allein.
– zmo
12. Mai 2013 um 15:22 Uhr
Ja, ich versuche, Eingaben in dieses Programm mit einem Bash-Skript zu senden.
– leere Wand
12. Mai 2013 um 15:29 Uhr
@blankwall zeigen, was Sie im Bash-Skript gemacht haben? Es ist einfach genug, es mit Zeilen in Bash zu füttern. Zeigen Sie AUCH Ihre main () in C
– Ahmed Masud
12. Mai 2013 um 15:33 Uhr