diff options
| author | Franklin Wei <franklin@fwei.tk> | 2014-06-23 11:47:32 -0400 |
|---|---|---|
| committer | Franklin Wei <franklin@fwei.tk> | 2014-06-23 11:47:32 -0400 |
| commit | 719be73360ebf8a65038a90ea82ea4e290759df1 (patch) | |
| tree | 73c279e4ef5b1939372225ce051c04d73a9e8227 /games.c | |
| parent | 2f67051c045ed026d949d8578235b4f5a7fa4af5 (diff) | |
| download | wargames-server-719be73360ebf8a65038a90ea82ea4e290759df1.zip wargames-server-719be73360ebf8a65038a90ea82ea4e290759df1.tar.gz wargames-server-719be73360ebf8a65038a90ea82ea4e290759df1.tar.bz2 wargames-server-719be73360ebf8a65038a90ea82ea4e290759df1.tar.xz | |
Fixed GTN
Diffstat (limited to 'games.c')
| -rw-r--r-- | games.c | 68 |
1 files changed, 67 insertions, 1 deletions
@@ -2,6 +2,7 @@ #include <curses.h> #include <map.h> #include <util.h> +#include <location.h> void global_thermonuclear_war(void) { clear(); @@ -10,5 +11,70 @@ void global_thermonuclear_war(void) print_string(map[i]); print_string("\n"); } - print_string("\nWHICH SIDE DO YOU WANT?\n\n 1. UNITED STATES\n 2. SOVIET UNION\n\nPLEASE CHOOSE ONE: "); + print_string("\nWHICH SIDE DO YOU WANT?\n\n 1. UNITED STATES\n 2. SOVIET UNION\n\n"); + bool good=false; + unsigned int side=0; + while(!good) + { + print_string("PLEASE CHOOSE ONE: "); + scanw("%u", &side); + if(side==1 || side==2) + good=true; + } + clear(); + attr_on(WA_UNDERLINE, 0); + print_string("AWAITING FIRST STRIKE COMMAND"); + attr_off(WA_UNDERLINE, 0); + print_string("\n\n\nPLEASE LIST PRIMARY TARGETS BY\nCITY AND/OR COUNTY NAME:\n\n"); + char target_names[32][129]; + good=true; + int num_targets=0; + for(int i=0;i<32 && good;++i) + { + getnstr(target_names[i], 128); + if(strcmp(target_names[i],"")==0) + { + good=false; + } + else + ++num_targets; + } + struct location_t targets[32]; + int num_targets_found=0; + print_string("point 1"); + for(int i=0;i<num_targets;++i) + { + print_string("point 2"); + allLower(target_names[i]); + print_string("point 3"); + remove_punct(target_names[i]); + bool found=false; + print_string("point 4"); + for(int j=0;j<sizeof(world)/sizeof(struct location_t);++j) + { + if(strcmp(world[j].name, target_names[i])==0) + { + targets[num_targets_found]=world[j]; + ++num_targets_found; + found=true; + } + } + print_string("point 5"); + if(!found) + { + print_string("TARGET NOT FOUND: "); + print_string(target_names[i]); + print_string("\n"); + } + } + for(int i=0;i<num_targets_found;++i) + { + map[targets[i].y][targets[i].x]='X'; + } + clear(); + for(int i=0;i<sizeof(map)/sizeof(const char*);++i) + { + print_string(map[i]); + print_string("\n"); + } } |