// ====================================================================
//            JAVA APPLET PROGRAM BASE SOURCE     BakuretuKen          
// ====================================================================

import java.applet.Applet;
import java.awt.*;
import java.net.*;
import java.awt.image.*;
import java.util.StringTokenizer;
import java.net.MalformedURLException;
import java.io.*;

// ===============================================================

public class MapPaint extends Applet {
	
	// グローバル変数
	
	// 背景イメージ
	Image haikei[];
	//その他
	Image player1, player2;
	// MAPデータ
	int map[][];
	
	// -----------------------------------------------------------
	public void init() {  // 初期処理
		
		// 背景配列の初期化
		haikei = new Image[6];
		
		haikei[0] = getImage(getDocumentBase(), "back00.gif");
		haikei[1] = getImage(getDocumentBase(), "back01.gif");
		haikei[2] = getImage(getDocumentBase(), "back02.gif");
		haikei[3] = getImage(getDocumentBase(), "back03.gif");
		haikei[4] = getImage(getDocumentBase(), "back04.gif");
		haikei[5] = getImage(getDocumentBase(), "back05.gif");
		player1   = getImage(getDocumentBase(), "kuma01.gif");
		player2   = getImage(getDocumentBase(), "kuma02.gif");
		
		// マップ配列の初期化
		map = new int[300][300];
		// ランダムで 300 x 300 のマップを作る
		for (int yy=0; yy<300; yy++){
			for (int xx=0; xx<300; xx++){
				map[xx][yy] = (int) (4 * Math.random());// ランダム
			}
		}
		
	} // init()
	
	// -----------------------------------------------------------
	public void paint(Graphics g) {  // 作画処理
		
		int no, mx, my;
		
		// 背景を作画
		for ( my=0; my<9; my++) {
			for ( mx=0; mx<9; mx++) {
				no = map[mx][my];
				g.drawImage( haikei[no], mx*40, my*40, this);
			}
		}
		// キャラを中央に作画
		g.drawImage( player1, 4*40, 4*40, this);
		
	} // paint()
	
	// -----------------------------------------------------------
	public void update(Graphics g) {  // 再作画処理
		paint( g );
	} // update()
	
	// -----------------------------------------------------------
	public boolean mouseDown(Event e, int x, int y) {  // マウスダウン
		
		return true;
	} // mouseDown()
	
	// -----------------------------------------------------------
	public boolean mouseUp(Event e, int x, int y) {  // マウスアップ
		
		return true;
	} // mouseUp()
	
	// -----------------------------------------------------------
	public boolean mouseDrag(Event e, int x, int y) { //  マウス移動
		
		return true;
	} // mouseDrag()

// ===============================================================
}  // End of Class

