Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
GameSource/IncidentalSounds.c
/* |
This file contains just a little code that uses the xthing timer |
to play sounds every once in a while. |
*/ |
#include "ZAM.h" |
#include "GameSounds.h" |
#include "TankSprite.h" |
#include <Math.h> |
#include "ZAMProtos.h" |
xthing gIncidentalSoundTask; |
static gLastSound; |
Boolean IncidentalSoundTask(xthing *xtp, long ignore) |
{ |
short x; |
short soundID = 0; |
x = abs(Random() % 7); |
if(x == 1) |
if(gLastSound == kIncidental1) |
soundID = kIncidental3; |
else |
soundID = kIncidental1; |
else if (x == 2) |
if(gLastSound == kIncidental2) |
soundID = kIncidental1; |
else |
soundID = kIncidental2; |
else if (x == 3) |
if(gLastSound == kIncidental3) |
soundID = kIncidental4; |
else |
soundID = kIncidental3; |
else if (x == 4) |
if(gLastSound == kIncidental4) |
soundID = kIncidental5; |
else |
soundID = kIncidental4; |
else if (x == 5) |
if(gLastSound == kIncidental5) |
soundID = kIncidental2; |
else |
soundID = kIncidental5; |
if(soundID != 0) { |
gLastSound = soundID; |
(void)PlaySndAsynchChannel(gLastSound, kMusicChan, kStdPriority); |
} |
/* play next sound in a random amount of time, from 5 to 30 seconds from now */ |
xtp->interval = ( (Random() & 0x7FFFF) % 25000) + 5000; |
return true; |
} |
void StartIncidentalSounds(void) |
{ |
gLastSound = 0; |
(void)StartXThing(&gIncidentalSoundTask, 30000, |
(updateProc)IncidentalSoundTask, 0L); |
} |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14