//-------- Begin of static function put_town_rec --------// // static void put_town_rec(int recNo, int x, int y, int refreshFlag) { int townRecno = town_filter(recNo); Town* townPtr = town_array[townRecno]; //---------- display info ----------// x+=3; y+=3; font_san.put( x , y, townPtr->town_name() ); font_san.put( x+175, y, townPtr->population ); font_san.put( x+241, y, townPtr->jobless_population ); font_san.put( x+309, y, townPtr->average_loyalty() ); //------- display race icons -------// x += 350; int i; int iconSpacing = RACE_ICON_WIDTH+2; #if(MAX_RACE > 7) int raceCount = 0; for( i=0 ; i<MAX_RACE ; i++ ) { if( townPtr->race_pop_array[i] > 0 ) { ++raceCount; } } if( raceCount > 7 ) { iconSpacing = 7 * iconSpacing / raceCount; } #endif for( i=0 ; i<MAX_RACE ; i++ ) { if( townPtr->race_pop_array[i] > 0 ) { vga_back.put_bitmap( x, y-2, race_res[i+1]->icon_bitmap_ptr ); x += iconSpacing; } } }
//--------- Begin of function Nation::capture_expected_resistance --------// // // The lowest resistance can be expected if we are going to capture the // town. // int Nation::capture_expected_resistance(int townRecno) { //--- we have plenty of cash, use cash to decrease the resistance of the villagers ---// if( should_use_cash_to_capture() ) return 0; // return zero resistance //----- the average resistance determines the captureRating ------// int captureRating = 0; Town* townPtr = town_array[townRecno]; int averageResistance; if( townPtr->nation_recno ) averageResistance = townPtr->average_loyalty(); else averageResistance = townPtr->average_resistance(nation_recno); //----- get the id. of the most populated races in the town -----// int majorityRace = townPtr->majority_race(); err_when( !majorityRace ); // this should not happen //---- see if there are general available for capturing this town ---// int targetResistance=0; if( !find_best_capturer(townRecno, majorityRace, targetResistance) ) return 100; int resultResistance = ( targetResistance * townPtr->race_pop_array[majorityRace-1] + averageResistance * (townPtr->population - townPtr->race_pop_array[majorityRace-1]) ) / townPtr->population; return resultResistance; }