1 /* ----====----====----====----====----====----====----====----====----====----
4 JewelToy is a simple game played against the clock.
5 Copyright (C) 2001 Giles Williams
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 ----====----====----====----====----====----====----====----====----====---- */
22 #import <Cocoa/Cocoa.h>
23 #import <Foundation/Foundation.h>
25 #define GEMSTATE_RESTING 1
26 #define GEMSTATE_FADING 2
27 #define GEMSTATE_FALLING 3
28 #define GEMSTATE_SHAKING 4
29 #define GEMSTATE_ERUPTING 5
30 #define GEMSTATE_MOVING 6
34 #define GEMSTATE_SHIVERING 7
37 #define FADE_STEPS 8.0
39 #define GEM_ERUPT_DELAY 45
42 // Open GL Z value for gems
44 #define GEM_SPRITE_Z -0.25
49 @interface Gem
: NSObject
68 NSPoint positionOnScreen
, positionOnBoard
;
74 + (Gem
*) gemWithNumber
:(int) d andImage
:(NSImage
*)img
;
75 + (Gem
*) gemWithNumber
:(int) d andSprite
:(OpenGLSprite
*)aSprite
;
87 - (void) setGemType
:(int) d
;
90 - (void) setImage
:(NSImage
*) value
;
93 - (OpenGLSprite
*) sprite
;
94 - (void) setSprite
:(OpenGLSprite
*) value
;
98 - (void) setState
:(int) value
;
100 - (int) animationCounter
;
101 - (void) setAnimationCounter
:(int) value
;
103 - (NSPoint
) positionOnScreen
;
104 - (void) setPositionOnScreen
:(int) valx
:(int) valy
;
105 - (void) setVelocity
:(int) valx
:(int) valy
:(int) steps
;
107 - (NSPoint
) positionOnBoard
;
108 - (void) setPositionOnBoard
:(int) valx
:(int) valy
;
110 - (void) setSoundsTink
:(NSSound
*) tinkSound Sploink
:(NSSound
*) sploinkSound
;