我需要制作某种计算器来交换游戏中的一些项目,老实说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美元和他可以获得多少巧克力。
答案 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。