PHP网页游戏学习之Xnova(ogame)源码解读(七)_PHP教程
十、基础数值(vars.php)
vars.php文件中定义游戏中关键的基础数值,全部以数组形式定义;PHP中的数组实际上是一个有序图。我们下面将以代码注释的方式进行说明,可能有不正确的理解,希望大家自己也仔细看看,有问题请提出来!如果对这段数值理解了,那么你就可以创造新的单位了,比如新的科技(可以看我服的殖民技术)、新的船舰等。
// 玩家消息类型定义,具体含义请看messages.mo $messfields = array ( 0 => "mnl_spy", 1 => "mnl_joueur", 2 => "mnl_alliance", 3 => "mnl_attaque", 4 => "mnl_exploit", 5 => "mnl_transport", 15 => "mnl_expedition", 97 => "mnl_general", 99 => "mnl_buildlist", 100 => "new_message" ); // 所有游戏单位类型定义,其实就是数据库表中字段 $resource = array( //建筑单位 1 => "metal_mine", 2 => "crystal_mine", 3 => "deuterium_sintetizer", 4 => "solar_plant", 12 => "fusion_plant", 14 => "robot_factory", 15 => "nano_factory", 21 => "hangar", 22 => "metal_store", 23 => "crystal_store", 24 => "deuterium_store", 31 => "laboratory", 33 => "terraformer", 34 => "ally_deposit", 41 => "mondbasis", 42 => "phalanx", 43 => "sprungtor", 44 => "silo", //科技研究单位 106 => "spy_tech", 108 => "computer_tech", 109 => "military_tech", 110 => "defence_tech", 111 => "shield_tech", 113 => "energy_tech", 114 => "hyperspace_tech", 115 => "combustion_tech", 117 => "impulse_motor_tech", 118 => "hyperspace_motor_tech", 120 => "laser_tech", 121 => "ionic_tech", 122 => "buster_tech", 123 => "intergalactic_tech", 124 => "expedition_tech", 199 => "graviton_tech", //船舰单位 202 => "small_ship_cargo", 203 => "big_ship_cargo", 204 => "light_hunter", 205 => "heavy_hunter", 206 => "crusher", 207 => "battle_ship", 208 => "colonizer", 209 => "recycler", 210 => "spy_sonde", 211 => "bomber_ship", 212 => "solar_satelit", 213 => "destructor", 214 => "dearth_star", 215 => "battleship", //防御单位 401 => "misil_launcher", 402 => "small_laser", 403 => "big_laser", 404 => "gauss_canyon", 405 => "ionic_canyon", 406 => "buster_canyon", 407 => "small_protection_shield", 408 => "big_protection_shield", 502 => "interceptor_misil", 503 => "interplanetary_misil", //专家单位 601 => "rpg_geologue", 602 => "rpg_amiral", 603 => "rpg_ingenieur", 604 => "rpg_technocrate", 605 => "rpg_constructeur", 606 => "rpg_scientifique", 607 => "rpg_stockeur", 608 => "rpg_defenseur", 609 => "rpg_bunker", 610 => "rpg_espion", 611 => "rpg_commandant", 612 => "rpg_destructeur", 613 => "rpg_general", 614 => "rpg_raideur", 615 => "rpg_empereur", ); //部分单位的前置升级条件定义 //很多都是多个前置条件,可以从科技树里面看到 $requeriments = array( // 建筑 12 => array( 3 => 5, 113 => 3), 15 => array( 14 => 10, 108 => 10), 21 => array( 14 => 2), 33 => array( 15 => 1, 113 => 12), // 月球建筑 42 => array( 41 => 1), 43 => array( 41 => 1, 114 => 7), // 科技研究 106 => array( 31 => 3), 108 => array( 31 => 1), 109 => array( 31 => 4), 110 => array( 113 => 3, 31 => 6), 111 => array( 31 => 2), 113 => array( 31 => 1), 114 => array( 113 => 5, 110 => 5, 31 => 7), 115 => array( 113 => 1, 31 => 1), 117 => array( 113 => 1, 31 => 2), 118 => array( 114 => 3, 31 => 7), 120 => array( 31 => 1, 113 => 2), 121 => array( 31 => 4, 120 => 5, 113 => 4), 122 => array( 31 => 5, 113 => 8, 120 => 10, 121 => 5), 123 => array( 31 => 10, 108 => 8, 114 => 8), 124 => array( 31 => 3, 108 => 4, 117 => 3), 199 => array( 31 => 12), // 船舰 202 => array( 21 => 2, 115 => 2), 203 => array( 21 => 4, 115 => 6), 204 => array( 21 => 1, 115 => 1), 205 => array( 21 => 3, 111 => 2, 117 => 2), 206 => array( 21 => 5, 117 => 4, 121 => 2), 207 => array( 21 => 7, 118 => 4), 208 => array( 21 => 4, 117 => 3), 209 => array( 21 => 4, 115 => 6, 110 => 2), 210 => array( 21 => 3, 115 => 3, 106 => 2), 211 => array( 117 => 6, 21 => 8, 122 => 5), 212 => array( 21 => 1), 213 => array( 21 => 9, 118 => 6, 114 => 5), 214 => array( 21 => 12, 118 => 7, 114 => 6, 199 => 1), 215 => array( 114 => 5, 120 => 12, 118 => 5, 21 => 8), // 防御 401 => array( 21 => 1), 402 => array( 113 => 1, 21 => 2, 120 => 3), 403 => array( 113 => 3, 21 => 4, 120 => 6), 404 => array( 21 => 6, 113 => 6, 109 => 3, 110 => 1), 405 => array( 21 => 4, 121 => 4), 406 => array( 21 => 8, 122 => 7), 407 => array( 110 => 2, 21 => 1), 408 => array( 110 => 6, 21 => 6), 502 => array( 44 => 2), 503 => array( 44 => 4), // 专家 603 => array( 601 => 5), 604 => array( 602 => 5), 605 => array( 601 => 10, 603 => 2), 606 => array( 601 => 10, 603 => 2), 607 => array( 605 => 1), 608 => array( 606 => 1), 609 => array( 601 => 20, 603 => 10, 605 => 3, 606 => 3, 607 => 2, 608 => 2), 610 => array( 602 => 10, 604 => 5), 611 => array( 602 => 10, 604 => 5), 612 => array( 610 => 1), 613 => array( 611 => 1), 614 => array( 602 => 20, 604 => 10, 610 => 2, 611 => 2, 612 => 1, 613 => 3), 615 => array( 614 => 1, 609 => 1), ); //所有单位造价定义 //'metal' =>金属, 'crystal' =>晶体, 'deuterium' =>重氢, 'energy' =>能量, 'factor' =>步进值 //'consumption' =>HH消耗, 'consumption2' =>HH消耗, 'speed' =>第一速度, 'speed2' =>第二速度, 'capacity' =>装载量 //'max' =>最高等级 $pricelist = array( 1 => array ( 'metal' => 60, 'crystal' => 15, 'deuterium' => 0, 'energy' => 0, 'factor' => 3/2), 2 => array ( 'metal' => 48, 'crystal' => 24, 'deuterium' => 0, 'energy' => 0, 'factor' => 1.6), 3 => array ( 'metal' => 225, 'crystal' => 75, 'deuterium' => 0, 'energy' => 0, 'factor' => 3/2), 4 => array ( 'metal' => 75, 'crystal' => 30, 'deuterium' => 0, 'energy' => 0, 'factor' => 3/2), 12 => array ( 'metal' => 900, 'crystal' => 360, 'deuterium' => 180, 'energy' => 0, 'factor' => 1.8), 14 => array ( 'metal' => 400, 'crystal' => 120, 'deuterium' => 200, 'energy' => 0, 'factor' => 2), 15 => array ( 'metal' => 1000000, 'crystal' => 500000, 'deuterium' => 100000, 'energy' => 0, 'factor' => 2), 21 => array ( 'metal' => 400, 'crystal' => 200, 'deuterium' => 100, 'energy' => 0, 'factor' => 2), 22 => array ( 'metal' => 2000, 'crystal' => 0, 'deuterium' => 0, 'energy' => 0, 'factor' => 2), 23 => array ( 'metal' => 2000, 'crystal' => 1000, 'deuterium' => 0, 'energy' => 0, 'factor' => 2), 24 => array ( 'metal' => 2000, 'crystal' => 2000, 'deuterium' => 0, 'energy' => 0, 'factor' => 2), 31 => array ( 'metal' => 200, 'crystal' => 400, 'deuterium' => 200, 'energy' => 0, 'factor' => 2), 33 => array ( 'metal' => 0, 'crystal' => 50000, 'deuterium' => 100000, 'energy' => 1000, 'factor' => 2), 34 => array ( 'metal' => 20000, 'crystal' => 40000, 'deuterium' => 0, 'energy' => 0, 'factor' => 2), 41 => array ( 'metal' => 20000, 'crystal' => 40000, 'deuterium' => 20000, 'energy' => 0, 'factor' => 2), 42 => array ( 'metal' => 20000, 'crystal' => 40000, 'deuterium' => 20000, 'energy' => 0, 'factor' => 2), 43 => array ( 'metal' => 2000000, 'crystal' => 4000000, 'deuterium' => 2000000, 'energy' => 0, 'factor' => 2), 44 => array ( 'metal' => 20000, 'crystal' => 20000, 'deuterium' => 1000, 'energy' => 0, 'factor' => 2), 106 => array ( 'metal' => 200, 'crystal' => 1000, 'deuterium' => 200, 'energy' => 0, 'factor' => 2), 108 => array ( 'metal' => 0, 'crystal' => 400, 'deuterium' => 600, 'energy' => 0, 'factor' => 2), 109 => array ( 'metal' => 800, 'crystal' => 200, 'deuterium' => 0, 'energy' => 0, 'factor' => 2), 110 => array ( 'metal' => 200, 'crystal' => 600, 'deuterium' => 0, 'energy' => 0, 'factor' => 2), 111 => array ( 'metal' => 1000, 'crystal' => 0, 'deuterium' => 0, 'energy' => 0, 'factor' => 2), 113 => array ( 'metal' => 0, 'crystal' => 800, 'deuterium' => 400, 'energy' => 0, 'factor' => 2), 114 => array ( 'metal' => 0, 'crystal' => 4000, 'deuterium' => 2000, 'energy' => 0, 'factor' => 2), 115 => array ( 'metal' => 400, 'crystal' => 0, 'deuterium' => 600, 'energy' => 0, 'factor' => 2), 117 => array ( 'metal' => 2000, 'crystal' => 4000, 'deuterium' => 6000, 'energy' => 0, 'factor' => 2), 118 => array ( 'metal' => 10000, 'crystal' => 20000, 'deuterium' => 6000, 'energy' => 0, 'factor' => 2), 120 => array ( 'metal' => 200, 'crystal' => 100, 'deuterium' => 0, 'energy' => 0, 'factor' => 2), 121 => array ( 'metal' => 1000, 'crystal' => 300, 'deuterium' => 100, 'energy' => 0, 'factor' => 2), 122 => array ( 'metal' => 2000, 'crystal' => 4000, 'deuterium' => 1000, 'energy' => 0, 'factor' => 2), 123 => array ( 'metal' => 240000, 'crystal' => 400000, 'deuterium' => 160000, 'energy' => 0, 'factor' => 2), 124 => array ( 'metal' => 4000, 'crystal' => 8000, 'deuterium' => 4000, 'energy' => 0, 'factor' => 2), 199 => array ( 'metal' => 0, 'crystal' => 0, 'deuterium' => 0, 'energy_max' => 300000, 'factor' => 3), 202 => array ( 'metal' => 2000, 'crystal' => 2000, 'deuterium' => 0, 'energy' => 0, 'factor' => 1, 'consumption' => 20 , 'consumption2' => 40 , 'speed' => 5000, 'speed2' => 10000, 'capacity' => 5000 ), 203 => array ( 'metal' => 6000, 'crystal' => 6000, 'deuterium' => 0, 'energy' => 0, 'factor' => 1, 'consumption' => 50 , 'consumption2' => 50 , 'speed' => 7500, 'speed2' => 7500, 'capacity' => 25000 ), 204 => array ( 'metal' => 3000, 'crystal' => 1000, 'deuterium' => 0, 'energy' => 0, 'factor' => 1, 'consumption' => 20 , 'consumption2' => 20 , 'speed' => 12500, 'speed2' => 12500, 'capacity' => 50 ), 205 => array ( 'metal' => 6000, 'crystal' => 4000, 'deuterium' => 0, 'energy' => 0, 'factor' => 1, 'consumption' => 75 , 'consumption2' => 75 , 'speed' => 10000, 'speed2' => 15000, 'capacity' => 100 ), 206 => array ( 'metal' => 20000, 'crystal' => 7000, 'deuterium' => 2000, 'energy' => 0, 'factor' => 1, 'consumption' => 300 , 'consumption2' => 300 , 'speed' => 15000, 'speed2' => 15000, 'capacity' => 800 ), 207 => array ( 'metal' => 45000, 'crystal' => 15000, 'deuterium' => 0, 'energy' => 0, 'factor' => 1, 'consumption' => 500 , 'consumption2' => 500 , 'speed' => 10000, 'speed2' => 10000, 'capacity' => 1500 ), 208 => array ( 'metal' => 10000, 'crystal' => 20000, 'deuterium' => 10000, 'energy' => 0, 'factor' => 1, 'consumption' => 1000, 'consumption2' => 1000, 'speed' => 2500, 'speed2' => 2500, 'capacity' => 7500 ), 209 => array ( 'metal' => 10000, 'crystal' => 6000, 'deuterium' => 2000, 'energy' => 0, 'factor' => 1, 'consumption' => 300 , 'consumption2' => 300 , 'speed' => 2000, 'speed2' => 2000, 'capacity' => 20000 ), 210 => array ( 'metal' => 0, 'crystal' => 1000, 'deuterium' => 0, 'energy' => 0, 'factor' => 1, 'consumption' => 1 , 'consumption2' => 1 , 'speed' => 100000000, 'speed2' => 100000000, 'capacity' => 5 ), 211 => array ( 'metal' => 50000, 'crystal' => 25000, 'deuterium' => 15000, 'energy' => 0, 'factor' => 1, 'consumption' => 1000, 'consumption2' => 1000, 'speed' => 4000, 'speed2' => 5000, 'capacity' => 500 ), 212 => array ( 'metal' => 0, 'crystal' => 2000, 'deuterium' => 500, 'energy' => 0, 'factor' => 1, 'consumption' => 0 , 'consumption2' => 0 , 'speed' => 0, 'speed2' => 0, 'capacity' => 0 ), 213 => array ( 'metal' => 60000, 'crystal' => 50000, 'deuterium' => 15000, 'energy' => 0, 'factor' => 1, 'consumption' => 1000, 'consumption2' => 1000, 'speed' => 5000, 'speed2' => 5000, 'capacity' => 2000 ), 214 => array ( 'metal' => 5000000, 'crystal' => 4000000, 'deuterium' => 1000000, 'energy' => 0, 'factor' => 1, 'consumption' => 1 , 'consumption2' => 1 , 'speed' => 100, 'speed2' => 100, 'capacity' => 1000000 ), 215 => array ( 'metal' => 30000, 'crystal' => 40000, 'deuterium' => 15000, 'energy' => 0, 'factor' => 1, 'consumption' => 250 , 'consumption2' => 250 , 'speed' => 10000, 'speed2' => 10000, 'capacity' => 750 ), 401 => array ( 'metal' => 2000, 'crystal' => 0, 'deuterium' => 0, 'energy' => 0, 'factor' => 1 ), 402 => array ( 'metal' => 1500, 'crystal' => 500, 'deuterium' => 0, 'energy' => 0, 'factor' => 1 ), 403 => array ( 'metal' => 6000, 'crystal' => 2000, 'deuterium' => 0, 'energy' => 0, 'factor' => 1 ), 404 => array ( 'metal' => 20000, 'crystal' => 15000, 'deuterium' => 2000, 'energy' => 0, 'factor' => 1 ), 405 => array ( 'metal' => 2000, 'crystal' => 6000, 'deuterium' => 0, 'energy' => 0, 'factor' => 1 ), 406 => array ( 'metal' => 50000, 'crystal' => 50000, 'deuterium' => 30000, 'energy' => 0, 'factor' => 1 ), 407 => array ( 'metal' => 10000, 'crystal' => 10000, 'deuterium' => 0, 'energy' => 0, 'factor' => 1 ), 408 => array ( 'metal' => 50000, 'crystal' => 50000, 'deuterium' => 0, 'energy' => 0, 'factor' => 1 ), 502 => array ( 'metal' => 8000, 'crystal' => 2000, 'deuterium' => 0, 'energy' => 0, 'factor' => 1 ), 503 => array ( 'metal' => 12500, 'crystal' => 2500, 'deuterium' => 10000, 'energy' => 0, 'factor' => 1 ), 601 => array ( 'max' => 20), 602 => array ( 'max' => 20), 603 => array ( 'max' => 10), 604 => array ( 'max' => 10), 605 => array ( 'max' => 3), 606 => array ( 'max' => 3), 607 => array ( 'max' => 2), 608 => array ( 'max' => 2), 609 => array ( 'max' => 1), 610 => array ( 'max' => 2), 611 => array ( 'max' => 2), 612 => array ( 'max' => 1), 613 => array ( 'max' => 3), 614 => array ( 'max' => 1), 615 => array ( 'max' => 1), ); //船舰和防御战斗数值定义 //'shield' =>护盾强度, 'attack' =>攻击强度, 'sd' =>速射值 $CombatCaps = array( 202 => array ( 'shield' => 10, 'attack' => 5, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 5, 213 => 1, 214 => 1, 215 => 1, 401 => 1, 402 => 1, 403 => 1, 404 => 1, 405 => 1, 406 => 1, 407 => 1, 408 => 1 )), 203 => array ( 'shield' => 25, 'attack' => 5, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 5, 213 => 1, 214 => 1, 215 => 1, 401 => 1, 402 => 1, 403 => 1, 404 => 1, 405 => 1, 406 => 1, 407 => 1, 408 => 1 )), 204 => array ( 'shield' => 10, 'attack' => 50, 'sd' => array (202 => 2, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 5, 213 => 1, 214 => 1, 215 => 1, 401 => 1, 402 => 1, 403 => 1, 404 => 1, 405 => 1, 406 => 1, 407 => 1, 408 => 1 )), 205 => array ( 'shield' => 25, 'attack' => 150, 'sd' => array (202 => 3, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 5, 213 => 1, 214 => 1, 215 => 1, 401 => 1, 402 => 1, 403 => 1, 404 => 1, 405 => 1, 406 => 1, 407 => 1, 408 => 1 )), 206 => array ( 'shield' => 50, 'attack' => 400, 'sd' => array (202 => 1, 203 => 1, 204 => 6, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 5, 213 => 1, 214 => 1, 215 => 1, 401 => 10, 402 => 1, 403 => 1, 404 => 1, 405 => 1, 406 => 1, 407 => 1, 408 => 1 )), 207 => array ( 'shield' => 200, 'attack' => 1000, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 5, 213 => 1, 214 => 1, 215 => 1, 401 => 8, 402 => 1, 403 => 1, 404 => 1, 405 => 1, 406 => 1, 407 => 1, 408 => 1 )), 208 => array ( 'shield' => 100, 'attack' => 50, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 5, 213 => 1, 214 => 1, 215 => 1, 401 => 1, 402 => 1, 403 => 1, 404 => 1, 405 => 1, 406 => 1, 407 => 1, 408 => 1 )), 209 => array ( 'shield' => 10, 'attack' => 1, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 5, 213 => 1, 214 => 1, 215 => 1, 401 => 1, 402 => 1, 403 => 1, 404 => 1, 405 => 1, 406 => 1, 407 => 1, 408 => 1 )), 210 => array ( 'shield' => 0, 'attack' => 0, 'sd' => array (202 => 0, 203 => 0, 204 => 0, 205 => 0, 206 => 0, 207 => 0, 208 => 0, 209 => 0, 210 => 0, 211 => 0, 212 => 0, 213 => 0, 214 => 0, 215 => 0, 401 => 0, 402 => 0, 403 => 0, 404 => 0, 405 => 0, 406 => 0, 407 => 0, 408 => 0 )), 211 => array ( 'shield' => 500, 'attack' => 1000, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 5, 213 => 1, 214 => 1, 215 => 1, 401 => 20, 402 => 20, 403 => 10, 404 => 1, 405 => 10, 406 => 1, 407 => 1, 408 => 1 )), 212 => array ( 'shield' => 10, 'attack' => 1, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 1, 211 => 1, 212 => 0, 213 => 1, 214 => 1, 215 => 1, 401 => 1, 402 => 1, 403 => 1, 404 => 1, 405 => 1, 406 => 1, 407 => 1, 408 => 1 )), 213 => array ( 'shield' => 500, 'attack' => 2000, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 5, 213 => 1, 214 => 1, 215 => 2, 401 => 1, 402 => 10, 403 => 1, 404 => 1, 405 => 1, 406 => 1, 407 => 1, 408 => 1 )), 214 => array ( 'shield' => 50000, 'attack' => 200000, 'sd' => array (202 => 250, 203 => 250, 204 => 200, 205 => 100, 206 => 33, 207 => 30, 208 => 250, 209 => 250, 210 => 1250, 211 => 25, 212 => 1250, 213 => 5, 214 => 1, 215 => 15, 401 => 200, 402 => 200, 403 => 100, 404 => 50, 405 => 100, 406 => 1, 407 => 1, 408 => 1 )), 215 => array ( 'shield' => 400, 'attack' => 700, 'sd' => array (202 => 3, 203 => 3, 204 => 1, 205 => 4, 206 => 4, 207 => 7, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 5, 213 => 1, 214 => 1, 215 => 1, 401 => 1, 402 => 1, 403 => 1, 404 => 1, 405 => 1, 406 => 1, 407 => 1, 408 => 1 )), 401 => array ( 'shield' => 20, 'attack' => 80, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 0, 213 => 1, 214 => 1, 215 => 1) ), 402 => array ( 'shield' => 25, 'attack' => 100, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 0, 213 => 1, 214 => 1, 215 => 1) ), 403 => array ( 'shield' => 100, 'attack' => 250, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 0, 213 => 1, 214 => 1, 215 => 1) ), 404 => array ( 'shield' => 200, 'attack' => 1100, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 0, 213 => 1, 214 => 1, 215 => 1) ), 405 => array ( 'shield' => 500, 'attack' => 150, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 0, 213 => 1, 214 => 1, 215 => 1) ), 406 => array ( 'shield' => 300, 'attack' => 3000, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 0, 213 => 1, 214 => 1, 215 => 1) ), 407 => array ( 'shield' => 2000, 'attack' => 1, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 0, 213 => 1, 214 => 1, 215 => 1) ), 408 => array ( 'shield' => 2000, 'attack' => 1, 'sd' => array (202 => 1, 203 => 1, 204 => 1, 205 => 1, 206 => 1, 207 => 1, 208 => 1, 209 => 1, 210 => 5, 211 => 1, 212 => 0, 213 => 1, 214 => 1, 215 => 1) ), 502 => array ( 'shield' => 1, 'attack' => 1 ), 503 => array ( 'shield' => 1, 'attack' => 12000 ) ); //资源生产和能量消耗公式 $ProdGrid = array( // 金属矿 1 => array( 'metal' => 40, 'crystal' => 10, 'deuterium' => 0, 'energy' => 0, 'factor' => 3/2, 'formule' => array( 'metal' => 'return (30 * $BuildLevel * pow((1.1), $BuildLevel)) * (0.1 * $BuildLevelFactor);', 'crystal' => 'return "0";', 'deuterium' => 'return "0";', 'energy' => 'return - (10 * $BuildLevel * pow((1.1), $BuildLevel)) * (0.1 * $BuildLevelFactor);') ), // 晶体矿 2 => array( 'metal' => 30, 'crystal' => 15, 'deuterium' => 0, 'energy' => 0, 'factor' => 1.6, 'formule' => array( 'metal' => 'return "0";', 'crystal' => 'return (20 * $BuildLevel * pow((1.1), $BuildLevel)) * (0.1 * $BuildLevelFactor);', 'deuterium' => 'return "0";', 'energy' => 'return - (10 * $BuildLevel * pow((1.1), $BuildLevel)) * (0.1 * $BuildLevelFactor);') ), // HH矿 3 => array( 'metal' => 150, 'crystal' => 50, 'deuterium' => 0, 'energy' => 0, 'factor' => 3/2, 'formule' => array( 'metal' => 'return "0";', 'crystal' => 'return "0";', 'deuterium' => 'return ((10 * $BuildLevel * pow((1.1), $BuildLevel)) * (-0.002 * $BuildTemp + 1.28)) * (0.1 * $BuildLevelFactor);', 'energy' => 'return - (30 * $BuildLevel * pow((1.1), $BuildLevel)) * (0.1 * $BuildLevelFactor);') ), // 太阳能 4 => array( 'metal' => 50, 'crystal' => 20, 'deuterium' => 0, 'energy' => 0, 'factor' => 3/2, 'formule' => array( 'metal' => 'return "0";', 'crystal' => 'return "0";', 'deuterium' => 'return "0";', 'energy' => 'return (20 * $BuildLevel * pow((1.1), $BuildLevel)) * (0.1 * $BuildLevelFactor);') ), // 核电厂 12 => array( 'metal' => 500, 'crystal' => 200, 'deuterium' => 100, 'energy' => 0, 'factor' => 1.8, 'formule' => array( 'metal' => 'return "0";', 'crystal' => 'return "0";', 'deuterium' => 'return - (10 * $BuildLevel * pow((1.1), $BuildLevel)) * (0.1 * $BuildLevelFactor);', 'energy' => 'return (50 * $BuildLevel * pow((1.1), $BuildLevel)) * (0.1 * $BuildLevelFactor);') ), // 太阳能卫星 212 => array( 'metal' => 0, 'crystal' => 2000, 'deuterium' => 500, 'energy' => 0, 'factor' => 0.5, 'formule' => array( 'metal' => 'return "0";', 'crystal' => 'return "0";', 'deuterium' => 'return "0";', 'energy' => 'return (($BuildTemp / 4) + 20) * $BuildLevel * (0.1 * $BuildLevelFactor);') ) ); //所有单位是否启用定义 //即使前面定义了的单位,这里如果不加入,也是不起作用的 $reslist['build'] = array ( 1, 2, 3, 4, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 44, 41, 42, 43 ); $reslist['tech'] = array ( 106, 108, 109, 110, 111, 113, 114, 115, 117, 118, 120, 121, 122, 123, 124, 199 ); $reslist['fleet'] = array ( 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215 ); $reslist['defense'] = array ( 401, 402, 403, 404, 405, 406, 407, 408, 502, 503 ); $reslist['officier'] = array ( 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615); $reslist['prod'] = array ( 1, 2, 3, 4, 12, 212 );

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
