* もの ** 操作キャラクタ(画像) *** 主人公(ゲマ) *** 仲間(予定では2人) ** 背景 ** 障害物(オブジェクト) ** 移動ポイント(オブジェクト) ** NPC(オブジェクト) ** 宝箱(オブジェクト) * 操作 ** 十字キーによる操作 *** 十字キーを押すと、押した方向に主人公が *** その向きに歩いているように移動する. *** また、仲間は主人公の後をついてくるように移動する. ** オブジェクトについて *** オブジェクトの方を向いて、Enterキー(仮)などのキーを押すとイベントが起こる *** 障害物は十字キーを押しても通ることができない *** 移動ポイントでは、マップを違うが画像に切り替え *** NPCとの会話イベント→http://wiki.cis.iwate-u.ac.jp/~wiki/csd/group.cgi/2014/?p=gr09%3A%3A%E4%BC%9A%E8%A9%B1%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E7%94%BB%E9%9D%A2{gr09::会話イベント画面} *** 宝箱は、アイテムなどが手に入る !!map.h

#pragma once

/********************************
 ****                         ***   
 ****   マクロ宣言            ***
 ****                         ***
 ********************************/
#define MAP_NUM         6           // マップの数
#define CHARA_CHIP      16          // キャラチップ用画像分割数
#define CHARA_NUM       3           // キャラクタのナンバー

#define CHIP_SIZE   32          // マップチップ一つのドットサイズ

#define MAP_WIDTH_MAX   40          // マップの最大幅
#define MAP_HEIGHT_MAX  40          // マップの最大縦長さ

#define MOVE_FRAME      32          // 移動にかけるフレーム数
#define CHIP_WIDTH      32
#define CHIP_HEIGHT     32
#define WALK_SPEED      4           //歩く速度


/********************************
 ****                         ***   
 ****   構造体宣言            *** 
 ****                         ***
 ********************************/

// マップの構造体
typedef struct 
{
    // マップの幅
    int Width ;

    // マップの高さ
    int Height ;

    // マップデータ二次元配列
    int Data[ MAP_HEIGHT_MAX ][ MAP_WIDTH_MAX ] ;
} MAPDATA;

//表示キャラ用構造体
typedef struct{
    int x,              //現在位置X座標
        y,              //現在位置Y座標
		img[CHARA_CHIP],//表示キャラ画像ポインタ
        muki,           //キャラの向きフラグ
        move_flag,      //移動フラグ  0:停止中 1:移動中
        map_no;         //現在いるマップのナンバー
}Chara_img;


/********************************
 ****                         ***   
 ****   グローバル変数宣言    ***
 ****                         ***
 ********************************/

MAPDATA MapData[];
/*
 *mapdata.cpp
 *
 *MAP_NUMBER
 *
 *0.特殊処理用
 *1.1F
 *2.1F男子トイレ
 *3.2F
 *4.205教室
 *
 */

extern Chara_img Player;
extern char Key[];
/*
 * main.cpp
 */
extern int Mapchip[];
extern int Npcchip[];
extern int Itembox[];


/********************************
 ****                         ***   
 ****   プロトタイプ宣言      ***
 ****                         ***
 ********************************/



void GraphDraw( int ScrollX, int ScrollY);
/*
****mapdraw.cpp
*   引数
*   1.int ScrollX   ...スクロール量X
*   2.int ScrollY   ...スクロール量Y
*   3.int MapNum    ...使用マップナンバー
*
* マップとキャラクター表示関数
*/

int IsAbleToGo(int MoveY, int MoveX);
/*
****mapdraw.cpp
*   引数
*	1.int MoveY		...移動量Y
*	2.int MoveX		...移動量X
*	3.int MapNum	...使用マップナンバー
*
*	戻り値		...0(移動可能)
*				...1(移動不可)
*
* キャラクター移動可能判定用関数
*/

void MapEvent(int Flag);
/*
****mapdraw.cpp
*	引数
*	1.int Frag	...イベント管理フラグ(20以上の整数を使用する)
*                   数字はMapDataの二次配列の中身の数字とリンクしている。
*
*/

void Graph_load(); //chipの読み込み