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 );

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.
