1461113557-9568dfec-4581-41b7-a764-326ccb090556

1. An information processing device executing a battle game in which a player character fights a battle against an enemy character, the information processing device comprising:
a storage unit which stores player information, player character information including an attack strength parameter of the player character, and enemy character information including a hit point parameter of the enemy character, the player information setting, to the player, a spending parameter spent every time a battle is fought as well as a number of game media owned that is used to recover the spending parameter;
a normal battle processing unit which changes the hit point parameter of the enemy character based on the attack strength parameter of the player character by executing a normal battle while spending the spending parameter set to the player in response to an operational input from the player, and recovers the spending parameter spent in the normal battle by using the game media owned by the player in response to a recovery operational input from the player;
a calculation unit which calculates the number of the game media used to recover the spending parameter when the normal battle is fought for a plurality of times until the hit point parameter of the enemy character is brought down to a predetermined value or less by the normal battle processing unit; and
a special battle processing unit which uses, in response to a special operational input from the player, the number of the game media calculated by the calculation unit from among the game media owned by the player, and executes a special battle of bringing the hit point parameter of the enemy character down to the predetermined value or less by fighting the normal battle not for a plurality of times but only once.
2. A non-transitory computer-readable storage medium storing a game program which causes a computer to execute a battle game in which a player character fights a battle against an enemy character, the computer executing:
a storage process of storing, in a storage unit, player information, player character information including an attack strength parameter of the player character, and enemy character information including a hit point parameter of the enemy character, the player information setting, to the player, a spending parameter spent every time a battle is fought as well as the number of game media owned that is used to recover the spending parameter;
a normal battle process of changing the hit point parameter of the enemy character based on the attack strength parameter of the player character by executing a normal battle while spending the spending parameter set to the player in response to an operational input from the player, and recovering the spending parameter spent in the normal battle by using the game media owned by the player in response to a recovery operational input from the player;
a calculation process of calculating the number of the game media used to recover the spending parameter when the normal battle is fought for a plurality of times until the hit point parameter of the enemy character is brought down to a predetermined value or less in the normal battle process; and
a special battle process of using, in response to a special operational input from the player, the number of the game media calculated in the calculation process from among the game media owned by the player, and executing a special battle of bringing the hit point parameter of the enemy character down to the predetermined value or less by fighting the normal battle not for a plurality of times but only once.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A process comprising iteratively decoding a communication channel output until a function based on a number of errors corrected between subsequent iterations reaches a stopping value.
2. The process of claim 1 wherein the communication channel output comprises a sequence of multiple bit data blocks and wherein the process comprises:
(a) for each data block iteratively decoding the data block;
(b) identifying a number of the bits in the data block that are altered with each iteration at step (a); and
(c) terminating step (a) and outputting a decoded data block when the number of bits altered reaches the stopping value.
3. The process of claim 2 wherein:
step (a) comprises, with each iteration, generating a signed value for each bit of the data block; and
step (b) comprises, after each iteration, comparing the sign of each bit of the data block with the sign of a respective bit of the data block from an immediately prior iteration.
4. The process of claim 3 wherein the step (a) comprises, for each iteration, generating a soft output, which comprises the signed values for the data block and respective likelihoods that the signed values are correct.
5. The process of claim 3 wherein step (a) comprises, for each bit of the data block, generating a soft output that comprises the signed value and a likelihood that the soft output is correct.
6. The process of claim 1 wherein the stopping value is one
7. The process of claim 1 wherein the stopping value is zero.
8. A decoder comprising an iterative decode function, which terminates as a function of a number of errors corrected between subsequent iterations of the decode function.
9. The decoder of claim 8 wherein the decode function is adapted to receive a sequence of multiple bit data blocks and:
(a) iteratively decoding the data block according to the iterative decode function;
(b) identify a number of the bits in the data block that are altered with each iteration at step (a); and
(c) terminate step (a) and output a decoded data block when the number of bits altered reaches a stopping value.
10. The decoder of claim 9 wherein the decode function is adapted to generate with each iteration of step (a), a signed value for each bit of the data block; and, after each iteration, compare the sign of each bit of the data block with the sign of a respective bit of the data block from an immediately prior iteration.
11. The decoder of claim 10 wherein the decode function generates, for each iteration, a soft output, which comprises the signed values for the data block and respective likelihoods that the signed values are correct.
12. The decoder of claim 9 wherein in the stopping value is in a range from zero to two.
13. A data storage device, comprising:
a storage medium;
a write channel coupled to communicate with the storage medium; and
a read channel coupled to communicate with the storage medium and comprising a decoder that comprises an iterative decode function, which terminates as a function of a number of errors corrected between subsequent iterations of the decode function.
14. The data storage device of claim 13 wherein the data comprises a sequence of multiple bit data blocks, and wherein the decoder is configured to:
iteratively decode each data block in the data blocks;
identify a number of errors corrected in each iteration; and
terminate the iterative decoding if the number of errors exceeds a stopping value.
15. The data storage device of claim 14 wherein the decoder identifies the number of errors corrected in each iteration by determining a number of bits in the data block that are altered at each iteration.
16. The data storage device of claim 15 wherein the decoder generates a signed value for each bit of each data block and compares the sign of each bit of the data block with the sign of a corresponding data bit from an immediately prior iteration.
17. The data storage device of claim 16 wherein the decoder generates a soft output, which comprises the signed values for the data block and respective likelihoods that the signed values are correct.