ヘルプが必要なコードはこちらです。
if (itemAmount >= usedWithAmount) {
for (int i = 0; i < 10; i++) {
if (amountToTransfer == 6) {
usedWithAmount = i;
break;
}
amountToTransfer = itemAmount - i;
System.out.println(amountToTransfer);
}
} else if (itemAmount < usedWithAmount) {
for (int i = 0; i < 10; i++) {
if (amountToTransfer == 6) {
itemAmount = i;
break;
}
amountToTransfer = usedWithAmount - i;
}
}
わかりました、最初は理解できなかったので、もっと詳しく説明します。
これは、ポーションを持っている私のゲームで使用されます。ポーションには量があります。(6) が最後にあるポーションは 6 回分、(5) は 5 回分、などです。
ポーションを別のポーションに使うと、そのポーションから別のポーションに分量を移して満タンにするようにしています。
たとえば、残り 5 回分 (itemAmount として表される) のポーションがあり、残り 2 回分 (usedWithAmount として表される) がある別のポーションでそれを使用するとします。
上記のアルゴリズムで実行したいのは、最初のポーションの値 (itemAmount) を使用し、それを他のポーションに転送して満タンにする (6 回分 = 満杯) 回数を調べることです。
したがって、5 回分ポーションを 2 回分ポーションと一緒に使用した場合、5 回分ポーションは 4 回分を失う必要がありますが、2 回分ポーションは 4 回分を取得する必要があります。最初のアイテムから、2 番目のアイテムに追加されます。