A storage medium storing an application program, said application program is executed by a computer (40, 42) of an information processing apparatus controlling a throwing action of an object by a player object within a virtual space on the basis of a gyro signal output from a gyro sensor for detecting a status including at least one of a position and an attitude of a single input device to function as, an acquiring means (40, S5) for acquiring said gyro signal output from said gyro sensor, a gyro magnitude storing means (40, S5, S13) for sequentially storing magnitude data corresponding to the magnitude of said gyro signal in a storing means (42e, 46, 502), a first motion controlling means (40, S15) for controlling said object such that it performs a first motion within said virtual space on the basis of said gyro signal acquired by said acquiring means (40, S5), a condition determining means (40, S21, S61, S63, S73) for determining whether or not to invert a sign of information relative to a magnitude of said gyro signal acquired by said acquiring means (40, S5) by determining if the object is on a predetermined side of the player object within the virtual space, and for determining the information relative to the magnitude of said gyro signal satisfies a predetermined condition, during when said object is controlled to perform said first motion (40, S15), wherein said condition determining means (40, S21, S63, S73) further includes a first gyro magnitude determining means (40, S63) for determining whether or not the magnitude of the gyro signal calculated by a gyro magnitude calculating means (40, S5) is above a first predetermined value, an extreme calculating means (40, S57-S71) for calculating, on the basis of magnitudes of a plurality of gyro signals indicated by the magnitude data stored in said storing means (42e, 46, 502), an extreme of the magnitudes of said gyro signals and, a second gyro magnitude determining means (40, S73) for determining whether or not the extreme of the magnitude of the gyro signal calculated by said extreme calculating means (40, S57-S71) is above a second predetermined value, and a second motion controlling means (40, S29) for controlling said object such that it performs a second motion different from said first motion, within said virtual space on the basis of said gyro signal in a case that said first gyro magnitude determining means (40, S63) determines that the magnitude of said gyro signal is above said first predetermined value; and in a case that said second gyro magnitude determining means (40, S73) determines that said extreme is above said second predetermined value. an acquiring means (40, S5) for acquiring said gyro signal output from said gyro sensor, a gyro magnitude storing means (40, S5, S13) for sequentially storing magnitude data corresponding to the magnitude of said gyro signal in a storing means (42e, 46, 502), a first motion controlling means (40, S15) for controlling said object such that it performs a first motion within said virtual space on the basis of said gyro signal acquired by said acquiring means (40, S5), a condition determining means (40, S21, S61, S63, S73) for determining whether or not to invert a sign of information relative to a magnitude of said gyro signal acquired by said acquiring means (40, S5) by determining if the object is on a predetermined side of the player object within the virtual space, and for determining the information relative to the magnitude of said gyro signal satisfies a predetermined condition, during when said object is controlled to perform said first motion (40, S15), wherein said condition determining means (40, S21, S63, S73) further includes a first gyro magnitude determining means (40, S63) for determining whether or not the magnitude of the gyro signal calculated by a gyro magnitude calculating means (40, S5) is above a first predetermined value, an extreme calculating means (40, S57-S71) for calculating, on the basis of magnitudes of a plurality of gyro signals indicated by the magnitude data stored in said storing means (42e, 46, 502), an extreme of the magnitudes of said gyro signals and, a second gyro magnitude determining means (40, S73) for determining whether or not the extreme of the magnitude of the gyro signal calculated by said extreme calculating means (40, S57-S71) is above a second predetermined value, and a first gyro magnitude determining means (40, S63) for determining whether or not the magnitude of the gyro signal calculated by a gyro magnitude calculating means (40, S5) is above a first predetermined value, an extreme calculating means (40, S57-S71) for calculating, on the basis of magnitudes of a plurality of gyro signals indicated by the magnitude data stored in said storing means (42e, 46, 502), an extreme of the magnitudes of said gyro signals and, a second gyro magnitude determining means (40, S73) for determining whether or not the extreme of the magnitude of the gyro signal calculated by said extreme calculating means (40, S57-S71) is above a second predetermined value, and a second motion controlling means (40, S29) for controlling said object such that it performs a second motion different from said first motion, within said virtual space on the basis of said gyro signal in a case that said first gyro magnitude determining means (40, S63) determines that the magnitude of said gyro signal is above said first predetermined value; and in a case that said second gyro magnitude determining means (40, S73) determines that said extreme is above said second predetermined value.