基于商品价格和总价格的Javascript计算器

时间:2014-06-23 17:12:35

标签: javascript ajax html5 calculator

我需要制作某种计算器来交换游戏中的一些项目,老实说javascript计算器对我来说最好,因为它可以随时计算。

但我真的不知道从哪里开始。

如果我为他们获得金币,我需要计算游戏中的物品价值。

例如有人给我168金,我给他物品,还有头盔,背心,靴子,手套等物品......

所以商品价格是这样的

Vest is 60 gold
Helmet is 45 gold

作为备用变更

Tokens 25 gold
charms 7 gold

因此,如果有人想给我168金,他可以选择背心或头盔,代币或饰物作为备用更换

So for 168 gold 

He gets 2 vest and 7 charms

And for example if he wants to exchange 325 gold in helmets he gets

7 helmets and 1 charm.

等等。

有没有人知道这是多么复杂,从哪里开始。

把它想象成我在市场上的卖家,有人来告诉我他有100美元和他可以获得多少巧克力。

1 个答案:

答案 0 :(得分:2)

首先了解javascript is(和what it isn't)的内容。 (通过这句话,我最初提到这个问题被标记为Java和JavaScript的事实)

我担心你曾经期望有人可以发布你可以复制和粘贴的整个代码。我会让你失望 - 这是一个知识网站,而不是编码机。

虽然我不明白你想做什么(我怀疑有人做过),但我可以给你一些关于如何开始?阶段的提示。

我假设您已阅读这里有javascript:

要让用户输入数字,请创建HTML输入元素(在脚本之外):

<input type="text" id="UNIQUE_ID" value="" />
<button onclick="click()">Click when done!</button>
<script> ... put the code between script tags... </script>

我已声明只要点击<button>“onclick”),就会调用函数click()。让我们创建click()

function click() {
    //We can get an "object" that represents the input field
    var field = document.getElementById("UNIQUE_ID");
    //We can get the value of said field
    var number = field.value;
    //We can empty the field now:
    field.value = "";
    //The number is now string (=text) We need a number. Multiplication forces conversion to number
    number = 1*number;
    //Check if the number is really a number
    if(isNaN(number))
        throw new Error("Input is not a number!");
    //Do some calculation - for example conversion to hex:
    var hexagonal = "0x"+(number).toString(16).toUpperCase();
    //Throw the number at the user - nasty but easy
    alert(number);

}

根据您想要计算的 ,您可以修改我的功能。您还可以拥有更多字段和更多数字。

我注意到,您可以购买 charms 的任何金额。 不幸的是夏天很热,我的水晶球已经过热了 - 所以我不能让它告诉我魅力是什么。

但要了解你可以购买多少:

var gold = 666;
//D'oh an object!
var prices = {
  helmet: 150,
  armor: 430,
  ice_cream: 10,
  charm: 9
}
//Define what we want to buy
var wanted = "ice_cream";
//Prevent accessing undefined price
if(prices[wanted]==null)
  throw new Error("We don't have this thing in stock yet!");
//Divide the cash by the price to know the amount
var amount = Math.floor(gold/prices[wanted]);  
//And calculate spare cash - modulo calculates rest after division
var spare = gold%prices[wanted]
//Finally find out how many charms can be bought with the rest gold
var charms = Math.floor(spare/prices.charm);
//and let the user know
alert("With "+gold+" gold, you can buy "+amount+" "+wanted+"(s) and "+charms+" charms.");

没有HTML,你可以run this code