Abstract:
An apparatus and method for providing a touch operation is provided. The apparatus includes a display to display an image, a coordinate input to input a coordinate on a display screen of the display, and a processor to execute a process. The process including determining first input detected as a first specifying operation specifying an area on a display screen. The process also includes determining, when a second input is detected and the first input is continuously detected, the first and the second inputs as a second specifying operation. Also, the process includes determining, when one of the first and the second inputs is discontinued after determining the second specifying operation, a continuing and remaining input as the first specifying operation which treats the continuing and remaining input as the first input.

Description:
[0001]    This is a continuation application of U.S. patent application Ser. No. 13/748,937, filed Jan. 24, 2013, which claims priority to Japanese Application No. 2012-117972, filed May 23, 2012. The disclosure of these documents, including the specifications, drawings, and claims, are incorporated herein by reference in their entirety. 
     
    
     TECHNICAL FIELD 
       [0002]    The present invention relates to an information processing apparatus, a method for information processing, and a game apparatus which can specify an area on a display screen. More specifically, the present invention relates to, for example, an information processing apparatus which can perform processing of selecting one or a plurality of objects included in, for example, a specified area by specifying the area on a display area. 
       BACKGROUND ART 
       [0003]    Conventionally, a technique of specifying a rectangular area by sliding an input position on a display screen using a pointing device such as a touch screen and a mouse pointer is well known. Thus, by specifying a rectangular area on a display screen, it is possible to select one or a plurality of objects included in the specified area, or to enlarge, cut or edit an image in the specified area. According to such a conventional technique, a pointing device generally performs a touch input (click input) of one point on a display screen, slides (swipes) a touch position while continuing the touch input on the screen, and then releases the touch input to specify a rectangular area a diagonal line of which is a line segment connecting a first touch position and a last touch position. 
         [0004]    Further, Patent Literature 1 discloses, for example, a technique of using a plurality of objects on a screen using a touch panel display. According to the technique disclosed in Patent Literature 1, a touch state is detected when touch control of the touch panel display arranged overlaid in front of a monitor which can display a plurality of objects is performed, a size of a selection area which defines a range to select objects is determined according to the detected touch state, the selection area is set based on the touch position, and objects at least part of which overlap the set selection area are used as selection candidates. 
       CITATION LIST 
     Patent Literature 
       [0005]    Patent Literature 1: JP 2010-20608 A 
       SUMMARY OF INVENTION 
     Technical Problem 
       [0006]    By the way, in recent years, touch panel displays can be made larger, and usage thereof is diversifying. For example, a game apparatus is also being developed which displays a game image on a touch panel display and enables a user to perform an inputting operation related to game progress by performing touch control of a touch panel by the finger. Particularly, by mounting a large touch panel display on a game apparatus and executing an action game, it is possible to provide a game of realistic sensation to users. 
         [0007]    When an action game is provided using such a large touch panel display, users need to incessantly perform touch control. A method of touch control of a touch panel display includes, for example, an operation of touching one point of a screen of the touch panel display, an operation of tracing the screen by the finger or an operation of tapping the screen by the finger. The operations are assigned different commands (instructions), and a user advances a game by selecting these operating methods and repeatedly inputting various commands. Particularly, according to a game apparatus which advances a game by selecting a plurality of objects displayed on a display screen, upon selection of an object, if a user desires to select one object, the user touches one point on the screen which displays this object and, if the user selects a plurality of objects, the user touches the screen which displays the respective objects. 
         [0008]    Meanwhile, when the user desires to select multiple objects from the objects displayed on the screen, touching the objects which the user desires to select one by one is troublesome and undermines operability of a game. Hence, a technique of, when a touch state of one point on a touch panel display continues, determining a selection area based on a trace on the screen on which a user&#39;s finger slides and selecting an object included in this selection area is also proposed. 
         [0009]    However, according to the technique disclosed in Patent Literature 1, not only an operation of selecting one object but also an operation of selecting a plurality of objects are basically performed based on a touch state of one finger. Thus, the operation of selecting one object and the operation of selecting a plurality of objects are distinguished based only on whether or not a touch state of one finger continues, and therefore there is a problem that users are easily to make mistakes of touch control. That is, if that a touch state on the touch panel display continues is detected by mistake irrespectively of a user&#39;s intension of selecting one object, there is a problem that unintentional another object is selected. By contrast with this, if that a touch state on the touch panel display continues is not detected by mistake irrespectively of a user&#39;s intension of selecting a plurality of objects, there is a problem that only one object is selected. Further, when an operation of tracing a screen of a touch panel display by one finger (an operation of sliding the finger) is assigned another command, a user is more likely to make an error operation. 
         [0010]    Hence, a technique is currently demanded which can prevent a user&#39;s error operation by effectively distinguishing an inputting operation of specifying an area on a display screen from a touching or click inputting operation of specifying one point and an operation of performing sliding while continuing inputting one point. Particularly, when a game which requires an operation of incessantly touching a large touch panel display is assumed, a technique is demanded which relates to an inputting operation of easily specifying a wide range of an area on the display screen by one hand. 
       Solution to Problem 
       [0011]    Hence, the inventors of the present invention obtained knowledge as a result of devoted study of means for solving the above problem of the conventional invention that, by fixing a predetermined area on the display screen based on an intermediate coordinate calculated from coordinates of two points simultaneously inputted first to a coordinate input unit and an intermediate coordinate calculated from coordinates of two points simultaneously inputted last to the coordinate input unit, it is possible to effectively distinguish an inputting operation of specifying an area on the display screen from a touching or click inputting operation of specifying one point and an operation of performing sliding while continuing inputting one point. Moreover, the inventors obtained knowledge that the above operating method can easily specify a wide range of an area on the display screen by one hand. Further, the inventors of the present invention reached to solving the problem of the conventional technique based on the above knowledge, and made the present invention. 
         [0012]    More specifically, the present invention employs the following configuration. 
         [0013]    A first aspect of the present invention relates to an information processing apparatus. 
         [0014]    The information processing apparatus according to the present invention has: a display unit  1  which can display an image; a coordinate input unit  2  which receives an input of a coordinate on a display screen of the display unit  1 ; and an area specifying unit  3  which specifies an area R on the display screen of the display unit  1  based on the coordinate inputted to the coordinate input unit  2 . 
         [0015]    The area specifying unit  3  first determines a coordinate of a first intermediate point M 1  calculated from coordinates of first two points based on the coordinates of the first two points simultaneously inputted to the coordinate input unit. 
         [0016]    Further, the area specifying unit  3  determines a coordinate of a second intermediate point M 2  calculated from coordinates of last two points based on the coordinates of the last two points detected immediately before coordinates of two points stop being simultaneously inputted. 
         [0017]    Furthermore, the area specifying unit  3  fixes the area R on the display screen of the display unit  1  based on the coordinate of the first intermediate point M 1  and the coordinate of the second intermediate point M 2 . 
         [0018]    According to the above configuration, by calculating a first intermediate coordinate of one point from the coordinates of the two points simultaneously inputted first and a second intermediate coordinate from the coordinates of the two points simultaneously inputted last, the information processing apparatus according to the present invention defines the area on the display screen based on the first intermediate coordinate and the second intermediate coordinate. Thus, the present invention requires that an inputting operation of specifying an area on the display screen is an operation of simultaneously inputting coordinates of two points to the coordinate input unit, so that it is possible to effectively distinguish an inputting operation of specifying the area on the display screen from a touching or click inputting operation of specifying, for example, one point and an operation of performing sliding while continuing inputting one point. Consequently, according to the present invention, it is possible to prevent a user&#39;s error operation. 
         [0019]    Further, when, for example, a touch panel display is assumed, the present invention can obtain the first intermediate coordinate from touch positions of two fingers, obtain a second intermediate coordinate from touch positions released after the two fingers slide, and define the area on the display screen based on these first intermediate coordinate and second intermediate coordinate, so that the user can easily specify a wide range of an area on the display screen by one hand. 
         [0020]    Thus, the present invention proposes a new operating method of the information processing apparatus which has the display unit and a coordinate input unit. According to the present invention, it is possible to improve operability of the information processing apparatus. 
         [0021]    In the information processing apparatus according to the present invention, the display unit  1  may be able to display a plurality of objects O on the display screen. In this case, the information processing apparatus according to the present invention preferably further has an object selecting unit  4  which selects one or the plurality of objects O at least part of which is included in the area R specified by the area specifying unit  3 . 
         [0022]    In view of the above configuration, usage of specifying an area on the display screen by means of the area specifying unit according to the present invention is selecting one or a plurality of objects included in the specified area. To select one object displayed on the screen, for example, a portion at which a desired object is displayed needs to be touched or clicked and inputted by a pointing device as conventionally performed. Further, to select a plurality of objects displayed on the screen, a predetermined area needs to be determined based on the first intermediate coordinate and the second coordinate according to the operating method of the present invention to include a desired object in this predetermined area. By this means, the user can easily distinguish an operation of selecting one object from an operation of selecting a plurality of objects. 
         [0023]    In the information processing apparatus according to the present invention, the display unit  1  and the coordinate input unit  2  preferably form a touch panel display  10  with the coordinate input unit  2  overlaid in front of the display unit  1 . The touch panel display  10  is an apparatus which detects a point on the coordinate input unit  2  which the user&#39;s hand and finger contacts as a coordinate on the screen of the display unit  1 . 
         [0024]    In view of the above configuration, by forming the touch panel display using the display unit and the coordinate input unit, the user can specify a predetermined area on the display area by an intuitive operation. 
         [0025]    In the present invention, the area R may be, for example, a polygonal area a diagonal line of which is a line segment connecting the first intermediate point M 1  and the second intermediate point M 2 , a circular area a diameter of which is the line segment connecting the first intermediate point M 1  and the second intermediate point M 2 , and an elliptical area a major axis or a minor axis of which is the line segment connecting the first intermediate point Ml and the second intermediate point M 2 . 
         [0026]    A second aspect of the present invention relates to a method for information processing executed by the information processing apparatus according to the first aspect. 
         [0027]    That is, the method for information processing according to the present invention specifies an area on a display screen of the display unit  1  based on a coordinate detected by the coordinate input unit  2  which receives an input of the coordinate on the display screen of the display unit  1 . 
         [0028]    The method for information processing according to the present invention first performs a step of determining a coordinate of the first intermediate point MI calculated from coordinates of first two points based on the coordinates of the first two points simultaneously inputted to the coordinate input unit  2 . 
         [0029]    Next, the method for information processing according to the present invention performs a step of determining a coordinate of the second intermediate point M 2  calculated from coordinates of last two points based on the coordinates of the last two points detected immediately before coordinates of two points stop being simultaneously inputted. 
         [0030]    Further, the method for information processing according to the present invention performs a step of defining the area R on the display screen of the display unit  1  based on the coordinate of the first intermediate point M 1  and the coordinate of the second intermediate point M 2 . 
         [0031]    A third aspect of the present invention relates to a game apparatus. 
         [0032]    A game apparatus according to the present invention has: a touch panel display  100 ; a card reader  200 ; and a game body  300  which advances a game by displaying information read by the card reader  200  and displaying the information on the touch panel  100 . 
         [0033]    The touch panel display  100  has: a display  110  which can display an image; and a touch screen  120  which is overlaid in front of the display  110  and through which a coordinate on a display screen is inputted. 
         [0034]    The card reader  200  has: a panel  210  on which a card with a code having predetermined card information printed thereon is set; and an image sensor  230  which reads the code of the card set on the panel  210  and detects the card information. 
         [0035]    Further, the game body  300  has: a game information memory unit  380  which stores information related to an object O in association with the card information; an image processing unit  330  which reads the information related to the object O from the game information memory unit  380  based on the card information detected by the image sensor  230  of the card reader  200 , and performs control of displaying an image of the read object O on the display  110  of the touch panel display  100 ; and a game processing unit  320 . 
         [0036]    The game processing unit  320  first determines a coordinate of the first intermediate point M 1  calculated from coordinates of first two points based on the coordinates of the first two points simultaneously inputted to the touch screen  120  of the touch panel display  100 . Further, the game processing unit  320  determines a coordinate of the second intermediate point M 2  calculated from coordinates of last two points based on the coordinates of the last two points detected immediately before coordinates of two points stop being simultaneously inputted. Furthermore, the game processing unit  320  specifies the area R on the display screen of the display  110  based on the coordinate of the first intermediate point M 1  and the coordinate of the second intermediate point M 2 . Still further, the game processing unit  320  selects one or a plurality of objects (O) an image of which is displayed such that at least part of one or the plurality of objects is included in the specified area R to advance a game. 
         [0037]    In view of the above configuration, the game apparatus according to the present invention has the card reader and the touch panel mounted thereon, and advances a game by combining these operations. For example, a user of the game operates by one hand a card set on the card reader to display one or a plurality of objects on the touch panel display, and performs touch control of the touch panel display by the other hand to select the displayed object. Thus, the game apparatus which requires selection of an object by operating the touch panel display by one hand can improve operability of games by adopting the above object selecting operation. 
       Advantageous Effects of Invention 
       [0038]    According to the above configuration, by calculating a first intermediate coordinate of one point from the coordinates of the two points simultaneously inputted first and a second intermediate coordinate from the coordinates of the two points simultaneously inputted last, the area on the display screen is defined based on the first intermediate coordinate and the second intermediate coordinate. Thus, the present invention requires that the inputting operation of specifying the area on the display screen is an operation of simultaneously inputting coordinates of two points to a coordinate input unit. Consequently, the present invention can effectively distinguish an inputting operation of specifying the area on the display screen from a touching or click inputting operation of specifying one point and an operation of performing sliding while continuing inputting one point. 
         [0039]    Further, when, for example, a touch panel display is assumed, the present invention can obtain the first intermediate coordinate from touch positions of two fingers, obtain a second intermediate coordinate from touch positions released after the two fingers slide, and define the area on the display screen based on these first intermediate coordinate and second intermediate coordinate. Consequently, according to the present invention, the user can easily specify a wide range of an area on the display screen by one hand. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0040]      FIG. 1  is a functional block diagram illustrating an information processing apparatus according to the present invention. 
           [0041]      FIG. 2  illustrates a flow of processing executed by the information processing apparatus according to the present invention. 
           [0042]      FIG. 3  is a schematic diagram schematically illustrating an object selecting operation. 
           [0043]      FIG. 4  illustrates an example of a first intermediate point and a second intermediate point calculated from two coordinates. 
           [0044]      FIGS. 5( a ), 5( b ) and 5( c )  illustrate an example of an area calculated from the coordinates of the first intermediate point and the second intermediate point. 
           [0045]      FIG. 6  is a block diagram illustrating a configuration example of a game apparatus according to the present invention. 
           [0046]      FIG. 7  is a perspective view illustrating an example of an outlook of the game apparatus according to the present invention. 
           [0047]      FIG. 8  schematically illustrates a card reader on which a plurality of cards are set. 
           [0048]      FIG. 9  is a perspective view illustrating an example of the outlook of the game apparatus according to the present invention. 
           [0049]      FIGS. 10( a ) and 10( b )  are a view for describing an example of a game executed by the game apparatus according to the present invention. 
           [0050]      FIGS. 11( a ) and 11( b )  are a view for describing an example of a game executed by the game apparatus according to the present invention. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0051]    An embodiment for implementing the present invention will be described below with reference to the drawings. The present invention is by no means limited to the embodiment described below, and incorporates embodiments obtained by adequately modifying the following embodiment in a range obvious for one of ordinary skill in art. 
         [0052]    (1. Information Processing Apparatus and Method for Information Processing) 
         [0053]    First, a basic configuration of an information processing apparatus according to the present invention will be described. The information processing apparatus according to the present invention can specify a predetermined area on a display screen, and perform various information processing of the specified predetermined area. For example, the information processing apparatus according to the present invention can select one or a plurality of objects included in the predetermined area of the specified display screen and move a position of the selected object, that is, give an arbitrary command to the selected object. Further, for example, the information processing apparatus according to the present invention can perform editing processing of, for example, specifying an image included in the predetermined area on the display screen and enlarging and displaying the image in the area or cutting the image in the area. However, use of the predetermined area specified by the present invention is by no means limited to these. 
         [0054]    The information processing according to the present invention will be described below using an embodiment as an example where one or a plurality of objects included in the specified predetermined area on the display screen are selected. 
         [0055]      FIG. 1  is a block diagram illustrating a basic functional configuration of the information processing apparatus according to the present invention. As illustrated in  FIG. 1 , the information processing apparatus according to the present invention has a touch panel display  10 , a control unit  20  and a memory unit  30 . 
         [0056]    The touch panel display  10  is configured to display various items of image data as an image which a user can view, and detect a coordinate which the user touched on a display screen. More specifically, the touch panel display  10  is formed by disposing a coordinate input unit  2  formed using a transparent material, in front of a display unit  1  which can display images. The display unit  1  is a display apparatus such as a LCD (Liquid Crystal Display) or an OELD (Organic Electro Luminescence Display). The display unit  1  outputs and displays various pieces of information which the user requires to use the information processing apparatus, as a still image or a movie according to an input signal from the control unit  20 . Further, the coordinate input unit  2  can detect that the user&#39;s hand or finger contact according to a known electrostatic capacitance method, electromagnetic induction method, infrared scan method, resistance film method or ultrasonic surface acoustic wave method, and obtain coordinate information. A positional relationship between the display unit  1  and the coordinate input unit  2  is mutually linked, and the coordinate input unit  2  can obtain coordinate information about a touch position on a display screen displayed on the display unit  1 . By this means, the coordinate input unit  2  can detect contact of the user&#39;s finger, and obtain the information about the coordinate on the screen of the display unit  1  which the user&#39;s finger contacted. The coordinate input unit  2  supports so-called multitouch of, when, for example, the user touches a plurality of points, acquiring information about coordinates of a plurality of these points. 
         [0057]    With the operating method according to the present invention, the user can easily specify a wide range of an area on the display screen by one hand. Consequently, the information processing apparatus according to the present invention can have the comparatively large touch panel display  10  mounted thereon. For example, the touch panel display  10  is preferably displays of  10  inches to  75  inches,  16  inches to 40 inches or 20 inches to 38 inches. 
         [0058]    Meanwhile, in the present invention, the display unit  1  and the coordinate input unit  2  are by no means limited to a display which functions as a touch panel display integrally formed with the display unit  1  and the coordinate input unit  2 . For example, the display unit  1  and the coordinate input unit  2  may function as separate hardware. In this case, a normal display apparatus such as an LCD or an OELD may be used for the display unit  1 . Further, the coordinate input unit  2  may be a pointing device such as a mouse or a touch tablet which is provided separately from the display unit  1 . 
         [0059]    The control unit  20  controls the entire operation of the information processing apparatus by reading and executing a control program stored in the memory unit  30 . The control unit  20  executes a function by means of, for example, a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). The control unit  20  reads information including image data of an object from the memory unit  30 , generates an image of the object and has the touch panel display  10  display the image. Further, the control unit  20  stores coordinate information about the touch position detected by the touch panel display  10 , in the memory unit  30 . The control unit  20  can perform computation of specifying a predetermined area on the display screen based on the coordinate information inputted to the touch panel display  10 . Further, the control unit  20  can decide whether or not an object is selected by analyzing position information of the object displayed on the touch panel display  10  and the coordinate information inputted to the touch panel display  10 . 
         [0060]    As illustrated in  FIG. 1 , the control unit  20  has an area specifying unit  3  and an object selecting unit  4  from the functional view point. The area specifying unit  3  has a function of specifying a selection area on the display screen of the touch panel display  10  according to the control program stored in the memory unit  30 . Further, the object selecting unit  4  has a function of, when the touch position detected by the touch panel display  10  overlaps an object or when the selection area specified by the area specifying unit  3  includes an object, selecting these objects. Details will be described below. 
         [0061]    The memory unit  30  stores various pieces of information including the control program required for processing in the information processing apparatus. The memory unit  30  is realized by a storage apparatus such as a ROM (Read Only Memory) or a RAM (Random Access Memory). The RAM is, for example, a VRAM (Video RAM), a DRAM (Dynamic RAM) or a SRAM (Static RAM). The memory unit  30  has an object memory unit  5  and a coordinate memory unit  6  from a functional view point. The object memory unit  5  stores information including image data (for example, a top coordinate, a top texture coordinate or brightness data of the object) of the object displayed on the touch panel display  10 . The coordinate memory unit  6  stores coordinate information acquired by the coordinate input unit  2  of the touch panel display  10 . The coordinate memory unit  6  stores coordinate information read and written by the control unit  20 , and is realized by, for example, a working area of the RAM. 
         [0062]    Subsequently, a flow of information processing executed by the information processing apparatus according to the present invention will be described with reference to  FIG. 2 . That is, the control unit  20  of the information processing apparatus reads the control program stored in the memory unit  30 , and executes processing illustrated in  FIG. 2  according to the read control program.  FIG. 2  specifically illustrates processing of the control unit  20  of selecting one or a plurality of objects displayed on the touch panel display  10 . Further,  FIG. 3  is a schematic view illustrating processing of object selection executed by the information processing apparatus. 
         [0063]    Step S 1  is a touch input stand-by state in which the coordinate input unit  2  of the touch panel display  10  does not detect a touch input. As illustrated in  FIG. 3 , at this stage, the display unit  1  of the touch panel display  10  displays a plurality of objects O (O 1  to O 5 ) read from the object memory unit  5 . Naturally, the plurality of objects O (O 1  to O 5 ) may be moving on the screen of the display unit  1  or stay still under control of the control unit  20 . Further, for example, a background image may be displayed on the screen of the display unit  1  in addition to the objects O. 
         [0064]    In step S 2 , the coordinate input unit  2  of the touch panel display  10  detects a touch input of a first point. As illustrated in  FIG. 3 , a touch point P 1  of the first point is, for example, a point at which a user&#39;s forefinger contacts the coordinate input unit  2 . When the coordinate input unit  2  detects an input of the touch point P 1  of the first point, the control unit  20  acquires information about a coordinate of the touch point P 1  of the first point, and temporarily stores the acquired coordinate information in the coordinate memory unit  6 . 
         [0065]    In step S 3 , the control unit  20  decides whether or not the touch input of the first point continues, based on the information detected by the coordinate input unit  2 . When it is decided that the touch input of the first point continues, the flow proceeds to step S 4 , and, when it is decided that the touch input of the first point does not continue, the flow proceeds to step S 17 . 
         [0066]    In step S 4 , the control unit  20  decides whether or not a touch input of a second point is performed while the touch input of the first point continues, based on the information detected by the coordinate input unit  2 . As illustrated in  FIG. 3 , a touch point P 2  of the second point is, for example, a point at which the user&#39;s thumb contacts the coordinate input unit  2 . When the coordinate input unit  2  detects an input of the touch point P 2  of the second point, the control unit  20  acquires information about a coordinate of the touch point P 2  of the second point, and temporarily stores the acquired coordinate information in the coordinate memory unit  6 . When it is decided that the touch input of the second point is performed while the touch input of the first point continues, the flow proceeds to step S 5 , and, when it is decided that the touch input of the second point is not performed, the flow proceeds to step S 17 . In addition, in the touch input stand-by state (step S 1 ), when the touch input of the first point and the touch input of the second point are simultaneously detected, processing in steps S 2  to S 4  are simultaneously performed, and the flow proceeds to step S 5 . 
         [0067]    In step S 5 , the control unit  20  reads the information about the coordinate of the touch point P 1  of the first point and the touch point P 2  of the second point from the coordinate memory unit  6 , and calculates the coordinate of a first intermediate point M 1  based on these pieces of coordinate information. In an example illustrated in  FIG. 3 , the first intermediate point M 1  is set to exactly an intermediate point between the touch point P 1  of the first point and the touch point P 2  of the second point. That is, the first intermediate point M 1  is set to a position at which distances to the touch point P 1  of the first point and the touch point P 2  of the second point are equal on a line segment connecting the touch point P 1  of the first point and the touch point P 2  of the second point. Meanwhile, the position to which the first intermediate point M 1  is set is not limited to the above, and may be any position as long as the position can be set based on the information about the coordinate of the touch point P 1  of the first point and the touch point P 2  of the second point. For example, the first intermediate point M 1  may be set to a position at which distances to the touch point P 1  of the first point and the touch point P 2  of the second point are 6:4 on the line segment connecting the touch point P 1  of the first point and the touch point P 2  of the second point. In addition, the ratio of distances to the touch point P 1  of the first point and the touch point P 2  of the second point can be arbitrarily set. In addition, the coordinate of the first intermediate point can be set based on coordinate information of the touch point P 1  of the first point and the touch point P 2  of the second point according to various conditions. 
         [0068]    Further,  FIG. 4  illustrates an example of the first intermediate point M 1  set under another condition. In an example in  FIG. 4 , the first intermediate point M 1  is provided at a position of a top of an isosceles triangle in which the touch point P 1  of the first point and the touch point P 2  of the second point are positioned at base angles. That is, as illustrated in  FIG. 4 , the first intermediate point M 1  is set to a position spaced a height h of the isosceles triangle apart from the line segment connecting the touch point P 1  of the first point and the touch point P 2  of the second point. Thus, by setting the first intermediate point M 1  at a position spaced a predetermined distance h apart from the line segment connecting the touch point P 1  of the first point and the touch point P 2  of the second point, it is possible to provide an advantage that the user can easily view the position of the first intermediate point M 1  displayed on the touch panel display  10 . That is, if the first intermediate point M 1  is set on the line segment connecting the touch point P 1  of the first point and the touch point P 2  of the second point, there is a problem that the first intermediate point M 1  hides behind the user&#39;s hand depending on a viewing angle and is hard to view. In this regard, by setting the first intermediate point M 1  to a position illustrated in  FIG. 4 , it is possible to prevent the first intermediate point M 1  from being hidden behind the user&#39;s hand, so that user can easily learn the position of the first intermediate point M 1 . 
         [0069]    The coordinate of the first intermediate point M 1  calculated in step S 5  is temporarily stored in the coordinate memory unit  6 . When calculation of the coordinate of the first intermediate point M 1  is finished, the flow proceeds to step S 6 . 
         [0070]    In step S 6 , the control unit  20  decides whether or not the touch input of the first point and the touch input of the second point continue, based on information detected by the coordinate input unit  2 . When it is decided that the touch inputs of the first point and the second point continue, the flow proceeds to step S 7 , and, when it is decided that one or both of the touch inputs of the first point and the second point does not continue, the flow proceeds to step S 17 . 
         [0071]    In step S 7 , the control unit  20  decides whether or not the touch inputs of the two points slide in a state where the touch inputs of the first point and the second point continue. That the touch inputs slide means that detected coordinates of the touch inputs are continuously displaced. To sum up, in step S 7 , whether or not the user&#39;s two fingers (for example, the forefinger and the thumb) move tracing on the screen in a state where the user&#39;s two fingers are in contact with the coordinate input unit  2  of the touch panel display  10 . The control unit  20  can decide that the touch inputs of two points slide, based on the coordinate information continuously detected by the coordinate input unit  2 . The coordinate information which is continuously detected when the touch inputs of two points slide is occasionally stored in the coordinate information memory unit  6 . When it is decided that the touch inputs of the two points slide, the flow proceed to step S 8 , and, when it is decided that one or both of the touch inputs of the first point and the second point do not slide, the flow proceeds to step S 17 . 
         [0072]    In step S 8 , the control unit  20  reads from the coordinate information memory unit  6  the coordinate information continuously detected when the touch inputs of the two inputs slide, and occasionally calculates coordinates of second intermediate point candidates based on the information about the coordinates of the touch points of the points. 
         [0073]    The “second intermediate point” is a point calculated from coordinates of last two points based on the coordinates of the last two points detected immediately before the coordinates of the two points stop being simultaneously inputted. The “second intermediate point candidate” is a point which can be the second intermediate point. 
         [0074]    In  FIG. 3 , a reference numeral P 3  refers a touch point (a release point of the forefinger) of a third point detected by the coordinate input unit  2  immediately before the slide input continuing from the touch point P 1  of the first point is released, and a reference numeral P 4  refers to a touch point (a release point of the thumb) of a fourth point detected by the coordinate input unit  2  immediately before the slide input continuing from the touch point P 2  of the second point is released. The coordinate of the “second intermediate point M 2 ” can be calculated from the coordinate of the touch point of the third point and the coordinate of the touch point of the fourth point. Conditions for calculating the coordinate of the second intermediate point M 2  may be the same as the conditions for calculating the coordinate of the first intermediate point M 1 . 
         [0075]    Meanwhile,  FIG. 3  illustrates that a reference numeral P 3 ′ refers to a halfway point at which the slide input is continuing from the touch point P 1  of the first point, and a reference numeral P 4 ′ refers to a halfway point at which the slide input is continuing from the touch point P 2  of the second point. There are a plurality of these halfway points (P 3 ′ and P 4 ′), and, when slide inputs continue, the coordinates of the halfway points (P 3 ′ and P 4 ′) are continuously stored in the coordinate information memory unit  6 . Coordinates of the “second intermediate point candidates M 2 ′” are continuously calculated based on these halfway points (P 3 ′ and P 4 ′). Conditions for calculating the coordinate of the second intermediate point M 2 ′ are the same as the conditions for calculating the coordinate of the second intermediate point M 2 . The calculated coordinates of the second intermediate point candidates M 2 ′ are occasionally stored in the coordinate memory unit  6 . When the coordinates of the second intermediate point candidates M 2 ′ are calculated, the flow proceeds to step S 9 . 
         [0076]    In step S 9 , the area specifying unit  3  of the control unit  20  calculates selection area candidates A′ based on the above-described coordinate of the first intermediate point M 1  and coordinates of the second intermediate point candidates M 2 ′. The selection area candidate A′ is an area which can be a selection area A described below. A selection area candidate R′ is a rectangular area a diagonal line of which is, for example, a line segment connecting the first intermediate point M 1  and the second intermediate point candidate M 2 ′. A shape and an area of the selection area candidate R′ change when touch inputs of two points slide and the coordinate of the second intermediate point candidate M 2 ′ changes. Hence, the selection area candidates R′ are continuously calculated according to changes in the coordinates of the second intermediate point candidates M 2 ′. When the selection area candidates R′ are calculated, the flow proceeds to step S 10 . 
         [0077]    In step S 10 , the control unit  20  displays the selection area candidates R′ calculated in step S 9 , on the touch panel display  10 . As described above, the selection area candidates R′ are continuously calculated, and displayed on the touch panel display  10  every time the selection area candidate R′ is calculated. By this means, the user can check the selection area candidates R′ from the display of the touch panel display  10 , and can adjust a touch position such that an object which the user desires to select is included in the selection area candidates R′. When the selection area candidates R′ are displayed, the flow proceeds to step S 11 . 
         [0078]    In step S 11 , the control unit  20  decides whether or not slide inputs continuing from the touch point P 1  of the first point and the touch point P 2  of the second point are released. That is, the control unit  20  may decide that the slide inputs are released when the coordinate input unit  2  no longer detects touch inputs continuing from the touch point P 1  of the first point and the touch point P 2  of the second point. When it is decided that the slide inputs are released, the flow proceeds to step S 12 . On the other hand, when it is decided that the slide inputs are continuing without being released, processing in steps S 8  to S 10  are repeated until release of the slide inputs is detected. 
         [0079]    In step S 12 , the control unit  20  decides the coordinate of the second intermediate point M 2 . That is, as illustrated in  FIG. 3 , the control unit  20  acknowledges points detected by the coordinate input unit  2  immediately before the slide inputs are released in step S 11  as the touch point P 3  of the third point and the touch point P 4  of the fourth point. In addition, the touch point P 3  of the third point is a touch point detected by the coordinate input unit  6  immediately before the slide input continuing from the touch point P 1  of the first point is released. Further, the touch point P 4  of the fourth point is a touch point detected by the coordinate input unit  6  immediately before the slide input continuing from the touch point P 2  of the second point is released. Furthermore, the control unit  20  calculates the coordinate of the second intermediate point M 2  based on the coordinate of the touch point P 3  of the third point and the coordinate of the touch point P 4  of the fourth point. Conditions for calculating the coordinate of the second intermediate point M 2  may be the same as the conditions for calculating the coordinate of the first intermediate point M 1 . The coordinate of the second intermediate point M 2  is stored in the coordinate memory unit  6 . When the coordinate of the second intermediate point M 2  is calculated, the flow proceeds to step S 13 . 
         [0080]    In step S 13 , the area specifying unit  3  of the control unit  20  defines a selection area R on the display screen of the touch panel display  10  based on the above coordinate of the first intermediate point M 1  and coordinate of the second intermediate point M 2 . In an example illustrated in  FIG. 3 , the selection area R is a rectangular (square) area a diagonal line of which is a line segment D connecting the coordinate of the first intermediate point M 1  and the second intermediate point M 2  and a periphery of which is defined by two sides parallel to a Y axis of the display screen and two sides parallel to the X axis. When the selection area R is specified, the coordinate of each top of the shape of the selection area R is stored in the memory unit  30 . 
         [0081]    Meanwhile, the shape of the selection area R is not limited to the above, and may have a shape determined based on coordinates of two points of the first intermediate point M 1  and the second intermediate point M 2 .  FIG. 5  illustrates an example of the shape of the selection area R which can be determined based on the coordinates of the two points of the first intermediate point MI and the second intermediate point M 2 . 
         [0082]    In an example illustrated in  FIG. 5( a ) , the selection area R is a polygonal area a diagonal line of which is the line segment D connecting the coordinate of the first intermediate point M 1  and the second intermediate point M 2 . More specifically, in the example in  FIG. 5( a ) , a selection area A has a hexagonal shape a diagonal line of which is the line segment D connecting the coordinates of the first intermediate point M 1  and the second intermediate point M 2 , and in which a side extending from the first intermediate point M 1  in the X axis direction and a side extending from the second intermediate point M 2  in the X axis direction are parallel. 
         [0083]    Further, in an example illustrated in  FIG. 5( b ) , the selection area R is a perfect circular area a diameter of which is the line segment D connecting the coordinate of the first intermediate point M 1  and the second intermediate point M 2 . 
         [0084]    Furthermore, in an example illustrated in  FIG. 5( c ) , the selection area R is an elliptical area a major axis of which is the line segment D connecting the coordinates of the first intermediate point M 1  and the second intermediate point M 2 . In this case, the length of a minor axis of the elliptical area may be a fixed value, or a value proportional to the major axis. Further, although not illustrated, the selection area R may be an elliptical area a minor axis of which is the line segment D connecting the coordinates of the first intermediate point M 1  and the second intermediate point M 2 . 
         [0085]    Thus, the shape of the selection area R can be adequately set according to use thereof. 
         [0086]    In step S 14 , the control unit  20  displays the defined selection area R on the touch panel display  10 . By this means, the user can check the selection area R based on the display on the touch panel display  10 . 
         [0087]    In step S 15 , the object selecting unit  4  of the control unit  20  decides whether or not there is an object in the selection area R on the display screen. Positions at which there is a plurality of objects O displayed on the screen are learned by the control unit  20 . Consequently, by referring to the coordinate of each top of the shape of the selection area R on the display screen and the coordinates at which there are the objects O, it is possible to decide whether or not the objects O are included in the selection area R. In the example illustrated in  FIG. 3 , objects O 1  to O 5  are displayed on the screen of the touch panel display  10 . Among these objects, the objects O 1  to O 3  are entirely or partially included in the selection area R. On the other hand, the objects O 4  and O 5  are entirely positioned outside the selection area R. Hence, the object selecting unit  4  of the control unit  20  decides that the objects O 1  to O 3  among a plurality of objects O 1  to O 5  are included in the selection area R. When there are objects in the selection area R on the display screen, the flow proceeds to step S 16 . 
         [0088]    Meanwhile, when there is not any object in the selection area R, the flow returns to step S 1  and a touch input stand-by state starts again. 
         [0089]    In step S 16 , the object selecting unit  4  of the control unit  20  selects one or a plurality of objects which are decided to be included in the selection area R. Information (for example, an identification number of each object) related to the selected objects is temporarily stored in a working area of the memory unit  30 . 
         [0090]    Further, as illustrated in  FIG. 2 , when the touch input of the second point is not performed while the touch input of the first point continues or, even though the touch input of the second point is performed, a simultaneous slide input of the two points is not performed, the flow proceeds to step S 17 . In this case, in step S 17 , whether or not an object on the display screen is positioned at the touch point P 1  of the first point is decided as conventionally performed. Meanwhile, the coordinates of the touch point P 1  of the first point and the coordinate at which there is the object on the display screen are referred to and, when both of the coordinates match, the flow proceeds to step S 16 . 
         [0091]    In step S 16 , the object selecting unit  4  of the control unit  20  selects one object the coordinate of which matches with the touch point P 1  of the first point. The information related to the selected object is temporarily stored in the working area of the memory unit  30 . 
         [0092]    As described above, the control unit  20  performs processing of selecting one or a plurality of objects of the objects displayed on the touch panel display  10 . When the control unit  20  selects an object, by performing a drag operation in a state where the object is selected, for example, it is possible to perform various known information processing of, for example, moving the position of the object on the display screen. 
         [0093]    (2. Game Apparatus) 
         [0094]    Next, a game apparatus according to the embodiment of the present invention will be described. The game apparatus according to the present invention basically has a touch panel display. Further, the game apparatus can advance a game by selecting one or a plurality of objects displayed on the touch panel display according to the above method, and giving various commands to the selected objects. 
         [0095]    [Configuration Example of Game Apparatus] 
         [0096]      FIG. 6  is a block diagram illustrating a configuration example of the game apparatus. The embodiment illustrated by this block diagram can be suitably used for an arcade game apparatus in particular.  FIG. 7  is a perspective view illustrating an example of an outlook of a housing of the game apparatus. 
         [0097]    As illustrated in  FIG. 6 , the game apparatus has the touch panel display  100 , a card reader  200  and a game body  300 . The touch panel display  100  is configured to display various items of image data as an image which the user can view, and detect the coordinates which the user touches on the display screen. Further, when a card with a predetermined identification code printed thereon is set on the card reader  200 , the card reader  200  is configured to read the identification code recorded in the card and acquire unique card information of the card. Furthermore, the game body  300  controls the entire function of the game apparatus. Particularly, the game body  300  can display an object on the touch panel display  100  based on the information read by the card reader  200 , and advance a game based on a card operation with respect to the card reader  200  and touch control with respect to the touch panel display  100 . 
         [0098]    As illustrated in  FIG. 6 , the touch panel display  100  has the display  110  and the touch screen  120 . The touch panel display  100  is formed by disposing the touch screen  120  formed using a transparent material, in front of the display  100  which can display images. The display  110  is a display apparatus such as a LCD (Liquid Crystal Display) or an OELD (Organic Electro Luminescence Display). The display  110  outputs and displays various pieces of information which the user requires to use the information processing apparatus, as a still image or a movie according to an input signal from the game body  300 . Further, the touch screen  120  can detect contact of the user&#39;s hand or finger according to a known electrostatic capacitance method, electromagnetic induction method, infrared scan method, resistance film method or ultrasonic surface acoustic wave method, and obtain information about the coordinate of the touch position. The positional relationship between the display  110  and the touch screen  120  is mutually linked, and the touch screen  120  can acquire information about the coordinate of a touch position on the display screen displayed on the display  110 . By this means, the touch screen  120  can detect contact of the user&#39;s finger, and obtain the information about the coordinate on the screen of the display  110  which the user&#39;s finger contacted. The coordinate information acquired by the touch screen  120  is stored in a temporary memory unit  370  of the game body  300 . Further, the touch screen  120  supports so-called multitouch of, when, for example, the user touches a plurality of points, acquiring information about coordinates of a plurality of these points. Furthermore, the game apparatus according to the present invention preferably has the comparatively large touch panel display  100  mounted thereon. For example, the touch panel display  100  is preferably displays of 10 inches to 75 inches, 16 inches to 40 inches or 20 inches to 38 inches. 
         [0099]    As illustrated in  FIG. 6 , the card reader  200  is an apparatus which can capture an image of an identification card recorded in a card C, and has a panel  210 , a light source  220  and an image sensor  230 . For example, an illustration of an object used in a game is printed on the surface of the card C, and an identification code for identifying the object printed on the surface is recorded on the back surface of the card C. Further, for example, an identification code is printed on the back surface of the card C using an ink which cannot be viewed by means of visible light, and a pattern printed using black and white appear when specific invisible light is radiated on the card. The identification code is printed using a special ink which absorbs invisible light such as infrared ray and, when infrared ray is radiated on the back surface of the card C, the invisible light radiated on a portion except the black portion of the identification code is reflected. For example, the identification code of the card C has at least an identification number of an object drawn in the card and information related to, for example, an orientation of the cord recorded therein. 
         [0100]    The panel  210  is provided on the upper surface of the card reader  200 , and a plurality of cards C can be set on the panel  210 . Further, inside the housing of the game apparatus, for example, a light source  220  which radiates infrared ray (invisible light) on the back surface of the card C set on the panel  210 , and an image sensor  230  which acquires the infrared ray reflected from the back surface of the card C set on the panel  210  and captures an image of a pattern of card data recorded in the card C are provided. The light source  220  is, for example, a light emitting diode (LED) which emits invisible light such as infrared ray or ultraviolet ray which is invisible to the eyes. The image sensor  230  is, for example, an image capturing element which captures an image of an identification code by means of infrared ray which is reflected on the back surface of the card C and is incident on the card reader  200 . Further, the card reader  200  can acquire unique card information of the card C by analyzing this identification code. The card information acquired by the card reader  200  is transmitted to a processing unit  310  of the game body  300 , and stored in the temporary memory unit  270 . 
         [0101]    The identification code of the card C has at least an identification number of an object drawn in the card and information related to, for example, an orientation of the card recorded therein. Hence, by referring to an object table stored in the game information memory unit  380  or the temporary memory unit  270  based on the card information acquired from the card reader  200 , the processing unit  310  of the game body  300  can learn a status, a type, a name and an attribute of the object recorded in the card C and, moreover, the characteristics of the object matching the orientation or the position of the card C. An example of an object is a game character. Further, the image sensor  230  of the card reader  200  detects the position at which infrared ray light is reflected from the back surface of the card C, so that the processing unit  310  of the game body  300  can calculate the position at which the card C is set on the panel  210  as coordinate information. Furthermore, the image sensor  230  continuously detects reflection positions of infrared ray, so that it is possible to obtain information that the card C set on the panel  210  moves from a certain position to another position. 
         [0102]    Still further, as illustrated in  FIG. 8 , the panel  210  of the card reader  200  is preferably partitioned into a plurality of areas. The number of partitions of the panel  210  is, for example, 2 to 10. In an example illustrated in  FIG. 8 , the panel  210  of the card reader  200  is divided into two of an offensive area A 1  (first area) and a defensive area A 2  (second area). These areas are partitioned according to the coordinate of the panel, and each card C can slide in the offensive area A 1  and the defensive area A 2 . By acquiring the position of each card C on the panel  210  as coordinate information, the processing unit  310  of the game body  300  can decide which one of the offensive area A 1  and the defensive area A 2  the position of each card C belongs to. 
         [0103]    Further, as illustrated in  FIG. 8 , the rectangular card C can be set vertically or horizontally on the panel  210  of the card reader  200 , and the processing unit  310  of the game body  300  can decide whether the card C is set vertically or horizontally, based on detection information from the card reader  200 . For example, an identification code is printed on the back surface of the card C. This identification code includes information related to the orientation of the card. Consequently, the processing unit  310  of the game body  300  can decide whether the card C is set vertically or horizontally by reading the identification code by means of the card reader  200  and analyzing the orientation of the card C based on the read identification code. 
         [0104]    The game body  300  has the processing unit  310 , and reads and executes a game program and controls an entire operation of the game apparatus according to the game program. As illustrated in  FIG. 6 , the game body  300  has the following configuration. 
         [0105]    The processing unit  310  performs various processing such as control of the entire system, an instruction to give a command to each block in the system, game processing, image processing and audio processing. The function of the processing unit  310  can be realized by hardware such as various processors (for example, a CPU or a DSP) or an ASIC (for example, a gate array), or a given program (game program). 
         [0106]    The processing unit  310  may include a game processing unit  320 , an image processing unit  330  and an audio processing unit  350 . More specifically, the processing unit  310  includes a main processor, a coprocessor, a geometry processor, a drawing processor, a data processing processor, and a four arithmetic operation circuit or a generalized arithmetic operation circuit. These processors and circuit are adequately coupled through a bus, and can transmit and receive signals. Further, the processing unit  310  may have a data extension processor for extending compressed information. 
         [0107]    The game processing unit  320  performs various processing such as processing of displaying an object on the display  110  based on card information acquired by the card reader  200 , processing of scrolling the position of a view point (the position of a virtual camera) or an angle of view (a rotation angle of the virtual camera) on the display  110 , processing of arranging an object such as a map object in object space, processing of selecting an object, processing of moving the object (motion processing), processing of calculating the position or the rotation angle of the object (the rotation angle around an X, Y or Z axis), processing of receiving coins (price), processing of setting various modes, processing of advancing a game, processing of setting a selection screen, hit check processing, processing of computing a game result (achievement or score), processing of allowing a plurality of players to play a game in common game space or game-over processing, based on input data from the touch screen  120 , the card reader  200  and the operating unit  360  and personal data, stored data and a game program from a mobile information storage apparatus  392 . 
         [0108]    The image processing unit  330  performs various image processing according to, for example, an instruction from the game processing unit  320 . The game processing unit  320  reads image information of an object and game space from the game information memory unit  380  based on information about the position of a view point and an angle of view, and writes the read image information in the temporary memory unit  370 . The game processing unit  320  supplies scroll data for moving the view point to the image processing unit  330 . The image processing unit  330  reads image information per frame from the temporary memory unit  370  based on given scroll data, and has the display  110  display images of the object and the game space according to the read image information. By this means, the display  110  displays the object and the game space based on the view point. Further, the image processing unit  330  moves the view point in the game space according to the coordinate inputted to the touch screen  120 . Furthermore, the image processing unit  330  reads frames from the temporary memory unit  370  based on the information about the moving view point, and has the display  110  to display the read image. Thus, by scrolling the view point in the game space, the display screen transitions. 
         [0109]    Further, the image processing unit  330  reads the card information acquired from the temporary memory unit  370  by the card reader  200 , and refers to the object table stored in a game information memory unit  380  based on this card information. Furthermore, the image processing unit  330  reads image data of the object associated with the card information from the temporary memory unit  370  or the game information memory unit  380  based on link information stored in the object table. Still further, the image processing unit  330  generates the object in the game space according to the image data of the read object, and has the display  110  to display the object. 
         [0110]    The game processing unit  320  controls a behavior of the object which appears in the game space, based on the information about the coordinate inputted to the touch screen  120 , the orientation or the position of the card set on the card reader  200  and other operation information from the operating unit  260  (a lever, button or a controller). For example, the game processing unit  320  refers to the coordinate information of the object displayed on the display  110  and the coordinate information inputted to the display  110 , and decides whether or not the user touches the object. That is, the game processing unit  320  decides that the user touched and selected the object when position information inputted to the touch screen  120  and position information of the object match. Further, when an operation or an instruction is given to the selected object, processing matching a game program is performed according to the operation or the instruction. 
         [0111]    Furthermore, the game processing unit  320  preferably performs selection processing unique to the present invention when the object displayed on the display  110  of the touch panel display  100  is selected. That is, the game processing unit  320  determines the coordinate of the first intermediate point calculated from coordinates of first two points based on the coordinates of the first two points simultaneously inputted to the touch screen  120  of the touch panel display  100 . Further, the game processing unit  320  determines the coordinate of the second intermediate point calculated from coordinates of last two points based on the coordinates of the last two points detected immediately before the two coordinates of the two points stop being simultaneously inputted. Furthermore, the game processing unit  320  specifies an area on the display screen of the display  110  based on the coordinate of the first intermediate point and the coordinate of the second intermediate point, and selects one or a plurality of objects images of which are displayed such that at least part of the objects are included in the specified area. Still further, when the operation or the instruction is given to the selected object, the game processing unit  320  performs processing matching a game program according to the operation or the instruction. When, for example, one or a plurality of objects are selected according to the input operation with respect to the touch screen  120  and then different coordinate information is inputted to the touch screen  120  again, the game processing unit  320  performs control of moving one or a plurality of selected objects to the coordinate information inputted again. Thus, the game processing unit  320  preferably advances a game by linking the card information acquired by the card reader  200  and the coordinate information inputted to the touch screen  120 . 
         [0112]    The audio processing unit  250  emits various sounds according to, for example, an instruction from the game processing unit  320 . 
         [0113]    Functions of the game processing unit  320 , the image processing unit  330  and the audio processing unit  350  may all be realized by hardware or may all be realized by programs. Alternatively, these functions may be realized by both of the hardware and the programs. 
         [0114]    As illustrated in  FIG. 6 , for example, the image processing unit  330  may have a geometry processing unit  332  (three-dimensional coordinate computing unit) and a drawing unit  340  (rendering unit). 
         [0115]    The geometry processing unit  332  performs various geometry computations (three-dimensional coordinate computation) such as coordinate transformation, clipping processing, perspective transformation and light source calculation. Further, object data (for example, top coordinate, top texture coordinate or brightness data of the object) for which geometry processing has been performed (perspective transformation has been performed) is stored in a main memory  372  of the temporary memory unit  370  and kept. 
         [0116]    The drawing unit  340  draws the object in a frame buffer  374  based on the object data for which geometry computation has been performed (perspective transformation has been performed) and a texture and the like stored in the texture memory unit  376 . The drawing unit  340  may include, for example, a texture mapping unit  342  and a shading processing unit  344 . More specifically, the drawing unit  340  can be implemented by a drawing processor. The drawing processor is connected to the texture memory unit, various tables, a frame buffer and a VRAM via a bus and the like, and is further connected with the display. 
         [0117]    The texture mapping unit  242  reads an environment texture from the texture memory unit  276 , and maps the read environment texture on the object. 
         [0118]    The shading processing unit  344  performs shading processing with respect to the object. For example, the geometry processing unit  332  performs light source calculation, and calculates brightness (RGB) of each top of the object based on information about the light source for shading processing, an illumination model and a normal vector of each top of the object. The shading processing unit  344  calculates the brightness of each dot of a primitive surface (polygon or curved surface) based on the brightness of each top according to Phong shading or Gouraud shading. 
         [0119]    The geometry processing unit  332  may include a normal vector processing unit  334 . The normal vector processing unit  334  may perform processing of rotating a normal vector of each top of the object (a normal vector on a plane of the object in a broad sense) according to a rotation matrix from a local coordinate system to a world coordinate system. 
         [0120]    The operating unit  360  allows a player to input operation data. The function of the operating unit  360  is realized by, for example, a lever, a button and hardware. Processing information from the operating unit  360  is transmitted to the main processor through a serial interface (I/F) or the bus. 
         [0121]    The game information memory unit  380  stores game programs, objects displayed on the display  110  and information related to image data in game space. The game information memory unit  380  is, for example, a ROM, and is realized by a non-volatile memory such as an optical disk (CD or DVD), a magnetooptical disk (MO), a magnetic disk, a hard disk or a magnetic tape. The processing unit  310  performs various processing based on information stored in this game information memory unit  380 . The game information memory unit  380  stores information (programs or the programs and data) for executing means (a block included in the processing unit  310  in particular) of the present invention (the present embodiment). Part or all of information stored in the game information memory unit  380  may be written to the temporary memory unit  370  when, for example, the system is turned on. 
         [0122]    The information stored in the game information memory unit  380  includes, for example at least two of a program code for performing predetermined processing, image data, audio data, shape data of a display object, table data, list data, information for instructing processing of the present invention and information for performing processing according to the instruction. For example, the table data includes data of an object table which stores a status, a type, a name and an attribute of an object, and characteristics of the object matching the orientation or the position of the card, in association with an identification number of the object. 
         [0123]    The status of the object is information in which, for example, a moving speed, a hit point, offense power and defense power are stored as numerical values. The game processing unit  320  can decide superiority and inferiority of, for example, the moving speed, the hit point and the offense power of each object by referring to the status stored in the object table. Further, the game processing unit  320  can perform various computations for advancing a game based on these numerical values related to the status. For example, the numerical value of the moving speed of each object is comparable, and, by referring to the object table, it is possible to learn which one of a given object and another object has a faster moving speed. Further, by performing predetermined computation processing based on a numerical value of the moving speed of each object, it is possible to calculate a time required for the object to move from a give point to another point in game space. 
         [0124]    Furthermore, the characteristics of the object matching the orientation of the card are data which change according to the orientation of the card set on the panel  210  of the card reader  200 . For example, as to objects related to a given card, the object table stores information which is different when the card is vertically set or horizontally set. For example, when the card is vertically set and horizontally set, the status of the object may change. 
         [0125]    Further, the characteristics of the object matching the position of the card are data which change according to the position at which the card is set on the panel  210  of the card reader  200 . For example, as to objects related to a given card, the object table stores information which is different when the card is positioned in the offensive area A 1  (first area) and when the card is positioned in the defensive area A 2  (second area). For example, when the card is positioned in the offensive area A 1  and when the card is positioned in the defensive area A 2 , the status of the object may change. 
         [0126]    Further, the game information memory unit  380  stores data related to game space. The game space means a world of a game in the game apparatus according to the present invention which is also referred to as a “world”. The data related to the game space includes position information of a target object to be displayed, information related to the type of the target object to be displayed and image data of the target object to be displayed. The target object to be displayed is, for example, a background, a building, a landscape, a plant and an object appearing in a game. This image data is preferably stored as polygon data. The polygon data includes, for example, top coordinate data, color data, texture data and transparency data. The game information memory unit  380  classifies and stores a target object to be displayed according to the orientation of a view point, a position and an area of a player character. 
         [0127]    The audio output unit  390  outputs an audio. The function of the audio output unit  390  can be realized by hardware such as a speaker. An audio output is applied audio processing by a sound processor connected to, for example, the main processor through the bus, and is outputted from the audio output unit such as the speaker. 
         [0128]    The mobile information storage apparatus  392  stores, for example, personal data of a player and saved data. This mobile information storage apparatus  392  may be, for example, a memory card or a mobile game apparatus. A function of the mobile information storage apparatus  392  can be achieved by known storage means such as a memory card, a flash memory, a hard disk or a USB memory. Meanwhile, the mobile information storage apparatus  392  is not a necessary configuration, and may be implemented when a player needs to be identified. 
         [0129]    The communication unit  394  is an arbitrary unit which performs various controls for performing communication with outside (for example, a host server or another game apparatus). By connecting the game apparatus with a host sever on a network or another game apparatus through the communication unit  394 , it is possible to play a match play or a combination play of a game. The function of the communication unit  394  can be realized by various processors, hardware such as a communication ASIC or a program. Further, a program or data for executing a game apparatus may be distributed from an information storage medium of a host apparatus (server) to the game information memory unit  380  through the network and the communication unit  394 . 
       [Operation Example of Game Apparatus] 
       [0130]    Next, an operation example of the game apparatus employing the above configuration will be described with reference to  FIGS. 9 to 11 . Hereinafter, the system of the game executed by the game apparatus will be described using an example. For example, the game apparatus according to the present invention can play a match game using communication such as the Internet. In this match game, each game user plays a match by having a plurality of objects (game characters) to appear in one game space. In an example of the game described below, the user performs an instruction operation such as appearance, movement, offense and defense of each object through, for example, the touch panel display  100  and the card reader  200  to beat enemy objects (Enemy), conquer a tower and break a stone. 
         [0131]      FIG. 9  conceptually illustrates states of the touch panel display  100  and the card reader  200  when a game is actually played using the game apparatus according to the present invention. The user sets desired cards C 1  to C 7  on the card reader  200 . The identification code is printed on the back surface of each of the cards C 1  to C 7 . When reading the identification code of each of the cards C 1  to C 7 , the card reader  200  analyzes card information based on the identification code, and transmits card information to the processing unit  310  of the game apparatus. Further, the card reader  200  can learn the orientation and the position of each of the cards C 1  to C 7 . In an example illustrated in  FIG. 9 , on the card reader  200 , the cards C 1 , C 2 , C 5  and C 6  are vertically set, and the cards C 3 , C 4  and C 7  are horizontally set. Further, in the example illustrated in  FIG. 9 , on the card reader  200 , the cards C 1 , C 4  and C 6  are positioned in the offensive area A 1 , and the cards C 2 , C 3 , C 5  and C 7  are positioned in the defensive area A 2 . Information detected by the card reader  200  is transmitted to the processing unit  310 , and the processing unit  310  refers to the object table stored in the game information memory unit  380  (or the temporary memory unit  370 ) based on the card information and information about, for example, the orientation of the card and the position of the card, and reads information (for example, image data and a status) about the object associated with the card information. The processing unit  310  has the touch panel display  100  display images based on the read image data. For example, the touch panel display  100  displays the images of the cards in a lower area of the touch panel display  100 . The images of the cards displayed on the touch panel display  100  match an arrangement order of each of the cards C 1  to C 7  set on the card reader  200  and the orientation of each of the cards C 1  to C 7 . Thus, by displaying the image of each of the cards C 1  to C 7  set on the card reader  200 , on part of the touch panel display  100 , the user can learn an arrangement and the orientation of each of the cards C 1  to C 7  by viewing the touch panel display  100  without visually checking the card reader  200 . In addition, touch panel display  100  can display information regarding positions of each of the cards Cl to C 7  set on the card reader  200  (for example, the card is positioned on the offensive area A 1  or the defensive area A 2 ). 
         [0132]    In the example illustrated in  FIG. 9 , the objects (game characters) O 1  to O 6  associated with the cards C 1  to C 6  are displayed on the display screen of the touch panel display  100 . Each object has a unique status, a type, a name, an attribute and object characteristics matching the orientation or the position of the card. The status of the object is information in which, for example, a moving speed, a hit point, offense power and defense power are stored as numerical values. These pieces of information are stored in the object table in association with identification information of each object. While it is possible to set objects the cards of which are vertically arranged to carry out normal offenses, it is possible to set objects the cards of which are horizontally arranged to carry out special offenses. Further, while it is possible to make a setting to increase numerical values of offence power of the objects the cards of which are positioned in the offensive area A 1 , it is possible to make a setting to increase numerical values of defense power of objects the cards of which are positioned in the defensive area A 2 . Furthermore, in the example illustrated in  FIG. 9 , the object (O 7 ) associated with the card C 7  is not displayed on the touch panel display  100 . To allow the object (O 7 ) to appear in game space, the image of the card C 7  displayed on the touch panel display  100  is touched, and the image of the card C 7  is dragged to the position at which a call gate is displayed. When the image of the card C 7  is dropped at the position at which a call gate is displayed, the object (O 7 ) associated with the card C 7  appears in game space, and is displayed on the touch panel display  100 . In addition, positional coordinates of the call gate in the game space are stored in the game information memory unit  380  or the temporary memory unit  370 , and the game processing unit  320  get grip on the position of the call gate. 
         [0133]      FIG. 10  illustrates an example of an operation of moving objects displayed on the touch panel display  100 . When the user touches the touch panel display  100 , the touch panel display  100  obtains the coordinate of the touch position. The processing unit  310  refers to the coordinate of the touch position and the coordinate at which the object is displayed, and decides whether or not the coordinate of the touch position and the coordinate at which the object is displayed match. When the touch position and the position of the object match, the processing unit  310  learns that the object is selected. In an example in  FIG. 10( a ) , the object O 4  is selected. Further, when the user touches the display screen of the touch panel display  100  in a state where the object O 4  is selected, the processing unit  310  stores the coordinate of the touch position in the temporary memory unit. Particularly, when the user touches a plurality of points in a state where the object  4  is selected, the processing unit  310  stores the coordinates of the touch positions in the temporary memory unit together with information about the touch order. Further, the processing unit  310  performs processing of moving the object O 4  touched and selected by the user to a point which the user touches next. The moving speed varies per object. Then, the processing unit  310  reads a numerical value of the moving speed related to the object O 4  from the object table. Further, the object  04  is moved from the first point to a moving destination point based on the numerical value of the read moving speed. Furthermore, when a plurality of points is touched, the selected object O 4  is sequentially moved to each point according to the order. In addition, when the moving object O 4  encounters an enemy object during movement or arrives at a tower, processing of playing a match with the enemy object or processing of conquering the tower only need to be performed similar to the known game system. 
         [0134]    Meanwhile, when the user wishes to simultaneously move a plurality of objects, an operation of touching and selecting objects one by one and moving the objects according to the method illustrated in  FIGS. 10( a ) and 10( b )  require that all objects need to be touched and selected one by one, and becomes complicated. Further, as described above, the moving speed varies per each object. Hence, even when the user wishes to move a plurality of objects to the same point, a timing when each object arrives at the specified point varies according to the moving speed of the object. 
         [0135]    Hence, as illustrated  FIGS. 11( a ) and 11( b ) , the game system can collectively select a plurality of objects on the display screen, and can form a party of the selected objects.  FIG. 11( a )  illustrates an example of an operation of collectively selecting a plurality of objects O 1  to O 7 . In addition, the operation illustrated in  FIG. 11( a )  is basically the same as the operation illustrated in  FIG. 3 . The processing unit  310  determines the coordinate of the first intermediate point M 1  calculated from coordinates of the first two points P 1  and P 2  based on the coordinates of the first two points P 1  and P 2  simultaneously inputted to the touch panel display  100  by the user. Further, the processing unit  310  determines the coordinate M 2  of the second intermediate point calculated from coordinates of the last points P 3  and P 4  based on the coordinates of the last two points P 3  and P 4  detected immediately before the coordinates of the two points are dragged by the user and stop being simultaneously inputted. Furthermore, the processing unit  310  specifies a rectangular area on the display screen of the touch panel display  100  based on the coordinate of the first intermediate point M 1  and the coordinate M 2  of the second intermediate point. Still further, a plurality of displayed objects O 1  to O 7  is selected such that at least part of the objects is included in the specified rectangular area. The selected objects O 1  to O 7  are stored in the temporary memory unit in association with objects which form a party. 
         [0136]      FIG. 11( b )  illustrates an example where a plurality of selected objects O 1  to O 7  forms a party. As illustrated in  FIG. 11( b ) , a plurality of collectively selected objects O 1  to O 7  gather at one site and form a party. Further, the processing unit  310  performs processing of moving the party formed by a user&#39;s operation to a point touched next. That is, the objects O 1  to O 7  form the party and move in a massing state. In this case, the moving speed of each object which forms the party is different from each other. Then, the processing unit  310  reads from the object table a numerical value of the moving speed of each object which forms a party, and calculates the moving speed of the party based on the numerical value of the read moving speed of each object. For example, the processing unit  310  only needs to calculate the slowest moving speed (the lowest numerical value) of each object which forms a party as the moving speed of the entire party. Further, the processing unit  310  may use an average value of moving speeds of a plurality of objects which form the party as the moving speed of the entire party. Furthermore, the processing unit  310  can also use the fastest moving speed (the highest numerical value) of each object which forms the party as the moving speed of the entire party. The party of the object moves to the specified point at the moving speed matching the value of the moving speed calculated by the processing unit  310 . When a plurality of points is specified, the processing unit  310  moves the party of the objects sequentially to each point according to the specified order. When the moving party of the objects encounters an enemy object during movement or arrives at a tower, processing of playing a match with an enemy object or processing of conquering a tower only needs to be performed similar to a known game system. 
         [0137]    A characteristic system of the game executed by the game apparatus according to the present invention has been mainly described above. A known game apparatus which has a card reader or a known game apparatus which has a touch panel display can be adequately applied to other game processing. 
       INDUSTRIAL APPLICABILITY 
       [0138]    The present invention can be suitably used in, for example, a computer industry and a game industry. 
       REFERENCE SIGNS LIST 
       [0000]    
       
           1  Display unit 
           2  Coordinate input unit 
           3  Area specifying unit 
           4  Object selecting unit 
           5  Object memory unit 
           6  Coordinate memory unit 
           10  Touch panel display 
           29  Control unit 
           30  Memory unit 
         M 1  First intermediate point 
         M 2  Second intermediate point 
         P 1  Touch point of first point 
         P 2  Touch point of second point 
         P 3  Touch point of third point 
         P 4  Touch point of fourth point 
         R Area 
         O Object