当前位置: 首页>>代码示例>>PHP>>正文


PHP Globals::getHardwareCost方法代码示例

本文整理汇总了PHP中Globals::getHardwareCost方法的典型用法代码示例。如果您正苦于以下问题:PHP Globals::getHardwareCost方法的具体用法?PHP Globals::getHardwareCost怎么用?PHP Globals::getHardwareCost使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Globals的用法示例。


在下文中一共展示了Globals::getHardwareCost方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: create_error

<?php

$amount = $_REQUEST['amount'];
if (!is_numeric($amount)) {
    create_error('Numbers only please');
}
// only whole numbers allowed
$amount = floor($amount);
$hardware_id = $var['hardware_id'];
$hardware_name = Globals::getHardwareName($hardware_id);
$cost = Globals::getHardwareCost($hardware_id);
// no negative amounts are allowed
if ($amount <= 0) {
    create_error('You must actually enter an amount greater than zero!');
}
// do we have enough cash?
if ($player->getCredits() < $cost * $amount) {
    create_error('You don\'t have enough credits to buy ' . $amount . ' items!');
}
// chec for max. we can hold!
if ($amount > $ship->getMaxHardware($hardware_id) - $ship->getHardware($hardware_id)) {
    create_error('You can\'t buy more ' . $hardware_name . ' than you can transport!');
}
// take the money from the user
$player->decreaseCredits($cost * $amount);
$player->update();
// now adjust add to ship
$ship->increaseHardware($hardware_id, $amount);
$ship->updateHardware();
$ship->removeUnderAttack();
//HoF
开发者ID:smrealms,项目名称:smrv2.0,代码行数:31,代码来源:shop_hardware_processing.php

示例2: canWeUNO

function canWeUNO(AbstractSmrPlayer &$player, $oppurtunisticOnly)
{
    if ($player->getCredits() < MINUMUM_RESERVE_CREDITS) {
        return false;
    }
    $ship =& $player->getShip();
    if ($ship->hasMaxShields() && $ship->hasMaxArmour() && $ship->hasMaxCargoHolds()) {
        return false;
    }
    $sector =& $player->getSector();
    // We buy armour in preference to shields as it's cheaper.
    // We buy cargo holds last if we have no newbie turns because we'd rather not die
    $hardwareArray = array(HARDWARE_ARMOUR, HARDWARE_SHIELDS, HARDWARE_CARGO);
    $amount = 0;
    $locations =& $sector->getLocations();
    foreach ($locations as &$location) {
        if ($location->isHardwareSold()) {
            $hardwareSold =& $location->getHardwareSold();
            if ($player->getNewbieTurns() > MIN_NEWBIE_TURNS_TO_BUY_CARGO && !$ship->hasMaxCargoHolds() && isset($hardwareSold[HARDWARE_CARGO]) && ($amount = floor(($player->getCredits() - MINUMUM_RESERVE_CREDITS) / Globals::getHardwareCost(HARDWARE_CARGO))) > 0) {
                // Buy cargo holds first if we have plenty of newbie turns left.
                $hardwareID = HARDWARE_CARGO;
            } else {
                foreach ($hardwareArray as $hardwareArrayID) {
                    if (!$ship->hasMaxHardware($hardwareArrayID) && isset($hardwareSold[$hardwareArrayID]) && ($amount = floor(($player->getCredits() - MINUMUM_RESERVE_CREDITS) / Globals::getHardwareCost($hardwareArrayID))) > 0) {
                        $hardwareID = $hardwareArrayID;
                        break;
                    }
                }
            }
            if (isset($hardwareID)) {
                return doUNO($hardwareID, min($ship->getMaxHardware($hardwareID) - $ship->getHardware($hardwareID), $amount));
            }
        }
    }
    if ($oppurtunisticOnly === true) {
        return false;
    }
    if ($player->getCredits() - $ship->getCostToUNO() < MINUMUM_RESERVE_CREDITS) {
        return false;
    }
    //Only do non-oppurtunistic UNO if we have the money to do it properly!
    foreach ($hardwareArray as $hardwareArrayID) {
        if (!$ship->hasMaxHardware($hardwareArrayID)) {
            $hardwareNeededID = $hardwareArrayID;
            return plotToNearest($player, Globals::getHardwareTypes($hardwareArrayID));
        }
    }
}
开发者ID:smrealms,项目名称:smrv2.0,代码行数:48,代码来源:npc.php


注:本文中的Globals::getHardwareCost方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。