puzzle.h 1.03 KB
/*
 *  NINTENDO64 SAMPLE PROGRAM
 *
 *  FILE : puzzle.h
 *
 *  Copyright (C) 1997, NINTENDO Co,Ltd.
 */


#define  RANDOM_COUNT  200  /* パズルランダマイズ回数 */

#define  JINGLE_COUNT  360  /* 完成画面反転表示フレーム数 */
#define  JINGLE_DELTA   30  /* 画面反転間隔               */


/* パズル構造体 */
typedef  struct  {

  u8  complete_flag;  /* パズル完成フラグ */

  u16   move_counter;  /* タイル移動用カウンタ */

  u16   celebrate_counter;  /* 完成カウンタ */

  u8  blank_tile_id;        /* ダミータイルの位置             */
  s8  movable_tile_id[4];   /* 移動可能なタイルの位置         */
  s8  current_tile_id;      /* カーソルの指しているタイル位置 */

  u16  *checkbox_x;
  u16  *checkbox_y;

}  PUZZLE_STATE;


/* パズル構造体の初期化 */
void puzzleInit(PUZZLE_STATE *);

/* パズル構造体の更新 */
void  puzzleUpdate(PUZZLE_STATE *, CURSOR_STATE *, TILE_STATE *, u8);

/* パズルのランダム化 */
void  puzzleRandom(PUZZLE_STATE *, TILE_STATE *);

/* カーソル位置のチェック */
void  puzzleCheck(PUZZLE_STATE *, CURSOR_STATE *, TILE_STATE *);