戦場(職場)まで2.5マイル

だいたい4キロくらい
ぷらぷらと散歩コース的にあるいて40分〜50分
川沿いに多少の遊歩道があるところもあるので意外と楽しい。

前の記事でマフラー欲しいと書いたが

新しいバイクも欲しい。
気になっているのは原付2種のグロムとKSR PRO。
あとは今日はせっかく歩いて出勤したのに帰りは雨。

確かに今日は出かけたときに傘を持っている子が多かったわけだ。。。。

この日の歩数は13760歩で9.9キロくらい

もう3月だよっ!

あっという間に年が明けてもう三月。
花粉舞い散るこの季節。ふぇっくしー。

気温のほうも少し上がってきたので少しだけバイクでお散歩。
ばーっとバイパスを進んで片道1時間程度で往復2時間。
あまり行くタイミングがなかったお墓参りにこっそり行ってきました。

今月からの目標として10キロほど体重を絞ってGSRのマフラーを買い替えようと思う!(今年の目標

Dolemメモ

<?php print_r($PostClass->get('ply.skill.skill_name'));?>

連想配列の中身の取り出し方はドット区切り

モデルでのレイアウトの変更

		if( $GetClass->get('mode') == 'edit' ){ //エディットモードなら
			$unit_id = $GetClass->get('unit_id');
			if($conn) {	//コネクトできたら unitを取得
				$table = 'unit';
				$column = array(
					'*',
				);
				$condition = 'WHERE id >= '.sql_eN($unit_id);
				$units =db_select($table, $column, $condition);
				$this->set('unit', $units);
			}else {
				die('db error ');
			}//コネクトできたら
		}

	function disp() {
		$GetClass = GetClass::newInstance();
		if( $GetClass->get('mode') == 'add' ){
			$layout 		= VIEW_DIR_PATH. '/'.general('c').'/layout/add.php';
		}else if( $GetClass->get('mode') == 'list' ){
			$layout 		= VIEW_DIR_PATH. '/'.general('c').'/layout/list.php';
		}else if( $GetClass->get('mode') == 'edit' ){
			$layout 		= VIEW_DIR_PATH. '/'.general('c').'/layout/edit.php';
		}else if( $GetClass->get('mode') == 'result' ){
			$layout 		= VIEW_DIR_PATH. '/'.general('c').'/layout/result.php';
		}else if( $GetClass->get('mode') == 'map' ){
			$layout 		= VIEW_DIR_PATH. '/'.general('c').'/layout/map.php';
		}else{
			$layout 		= VIEW_DIR_PATH. '/'.general('c').'/layout/index.php';
		}
		include($layout);
		return true;
	}// end function
$chk = true; 
if($chk) $chk = db_query('BEGIN'); 
 
if($chk){ 
    $sTableName = 'blog_data'; 
    $aryColumn = array( 
        'history_date'     => CSqlS($PostClass->get('history_date_y').'-'.$PostClass->get('history_date_m').'-'.$PostClass->get('history_date_d').' '.$PostClass->get('history_date_h').':'.$PostClass->get('history_date_i')), 
        'title'         => CSqlS($PostClass->get('title')), 
        'body'             => CSqlS($PostClass->get('body')), 
        'category_id'     => CSqlN($PostClass->get('category_id')), 
        'up_date'         => CSqlS(my_date('Y/m/d H:i:s')), 
    ); 
    $sCondition = ' WHERE id ='.CSqlN($GetClass->get('hid')); 
    $chk = db_update($sTableName, $aryColumn, $sCondition); 
}// end if 
 
if($chk) $chk = db_query('COMMIT'); 
echo $chk;

http://yarupon.blog134.fc2.com/blog-entry-5727.html

簡易マップをつくってみよう!

<table id="map_table">
<?php
$cards = array();
$cd = 1;//カードカウント用
$alfa = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","S","T","U","V","W","X","Y","Z");
for($i=1;$i<=4;$i++){
for($k=1;$k<=13;$k++){
	switch($i){
		case 1 : $card_type = '&#9829;'; break;
		case 2 : $card_type = '&#9830;'; break;
		case 3 : $card_type = '&#9824;'; break;
		case 4 : $card_type = '&#9827;'; break;
	}
	$cards[] = $card_type.'/'.$k;
}
}
//MAPオブジェクト追加
for($y=1;$y<=10;$y++){
	$cards[] = '山';
}
for($y=1;$y<=3;$y++){
	$cards[] = '泉';
}
$cards[] .= 'j'; //ジョーカー追加
shuffle($cards);
//テーブルの列と行
$td = 8;
$tr =6;
echo "<thead>\n<tr>\n";
for($j=1;$j<=$td;){
	if($j==1){
		echo '<th>・</th>';
	}else{
		echo '<th>'.$alfa[$j-2].'</th>';
	}
	$j++;
}
echo "</tr>\n</thead>";
?>
<?php for($i=1; $i<=(($tr-1)*$td); $i++):?>
<?php if(($i%$td)==1) echo "\n<tr>\n";?>
	<?php if(($i%$td)==1){
		echo "<th>";
	}else{
		echo "<td>";
	}?>
<?php
	if(($i%$td)==1){
		echo floor($i/$td)+1;
	}else{
		//echo '■';
		echo '<p>'.$cards[$cd].'</p>';
		$cd++;
	}
?>
<?php if(($i%$td)==1){
	echo "</th>\n";
}else{
	echo "</td>\n";
}?>
<?php if(($i%$td)==0) echo "</tr>\n";?>
<?php endfor;?>
</table>

<div id="map_text">
<?php
//列頭のみfor文の回数を1回すくなく。 $j=2となっている。
echo '.┃・┃';
for($j=2;$j<=$td;$j++){
echo ".".$alfa[$j-2].'┃';
}
echo "<br>\n";
echo '.╋';
for($j=1;$j<=$td;$j++){
	echo "━╋";
}
echo "<br>\n";
?>
<?php
$cd = 1;
for($i=1; $i<=(($tr-1)*$td); $i++):?>
<?php
	$line = floor($i/$td)+1;
		if($i==1){
			echo ".┃.";
			echo floor($i/$td)+1;
			echo "┃";
			$j=0;
		}elseif(($i%$td)==1){
			echo "<br>\n.┃.";
			echo floor($i/$td)+1;
			echo "┃";
			$j=0;
		}else{
			if($cards[$cd]=="山"||$cards[$cd]=="泉"){
				echo '<span class="map_obj">'.$cards[$cd].'</span>┃';
			}else{
				echo '<span class="card_front">■</span><span class="card_text hide">'.$line.':'.$alfa[$j].'|'.$cards[$cd].'</span><span class="card_back">□</span>┃';
			}
			$cd++;
			$j++;
		}
?>
<?php
	if(($i%$td)==0){
		echo "<br>\n.╋";
		for($j=1;$j<=$td;$j++) echo "━╋";
	}
?>
<?php endfor;?>
jQuery(document).ready(function(){
$('#map_text .card_front').click(function(){
	var card_text = $(this).next('span.card_text').text();
		$(this).hide(10,function(){
				$(this).next().next('span.card_back').show();
		});
		$('#history').append("<li>"+card_text+"</li>");
});

});

実行するとこんな感じ
.┃・┃.A┃.B┃.C┃.D┃.E┃.F┃.G┃
.╋━╋━╋━╋━╋━╋━╋━╋━╋
.┃.1┃■┃■┃山┃■┃■┃■┃泉┃
.╋━╋━╋━╋━╋━╋━╋━╋━╋
.┃.2┃■┃■┃■┃山┃■┃■┃山┃
.╋━╋━╋━╋━╋━╋━╋━╋━╋
.┃.3┃■┃山┃■┃山┃■┃■┃■┃
.╋━╋━╋━╋━╋━╋━╋━╋━╋
.┃.4┃■┃■┃■┃■┃泉┃■┃■┃
.╋━╋━╋━╋━╋━╋━╋━╋━╋
.┃.5┃■┃■┃■┃山┃山┃■┃■┃
.╋━╋━╋━╋━╋━╋━╋━╋━╋

がんばった。

ttp://yaruonichijou.blog.fc2.com/blog-entry-5092.html

	'skill' => array(
		'skill_name' => 'dice_attack',
		'skill_text' => '文章',
		'skill_type' => 'attack_add_bonus', //攻撃ボーナス値に加算
		'skill_rate' => '20', //20%で発動
		'skill_damege_range' => '100', //1d100を加算
	),

	'skill' => array(
		'skill_name' => 'dice_attack',
		'skill_text' => '文章',
		'skill_type' => 'attack_multiply_total', // $array['turn'.$i]['ply_atk']['total']に乗算する
		'skill_rate' => '20', //20%で発動
		'skill_damege_range' => '150', // %
	),

	'skill' => array(
		'skill_name' => 'dice_attack',
		'skill_text' => '文章',
		'skill_type' => 'attack_add_dice', //ダイスを追加
		'skill_rate' => '20', //20%で発動
		'skill_damege_range' => '5', //ダイスを5追加
	),
$ply = array(
	'AI' => array(
		'action' => 'attack',
	),
	'skill' => array(
		'skill_name' => 'dice_attack',
		'skill_text' => '文章',
		'skill_type' => 'attack_add_bonus', //攻撃ボーナス値に加算
		'skill_rate' => '20', //20%で発動
		'skill_damege_range' => '100', //1d100を加算
	),
	'initiative' => array(
		'ini_dice' => 2,
		'ini_range' => 6,
		'ini_bonus' => 4,
	),
	'unit_type' => 'fire',
	'stats' => array(
		'atk_dice' => 2,
		'atk_range' => 6,
		'atk_bonus' => 4,
		'def_dice' => 1,
		'def_range' => 6,
		'def_bonus' => 4,
		'rec_dice' => 1,
		'rec_range' => 6,
		'rec_bonus' => 4,
		'max_hp' => 40,
	),
	'unit_name' => 'くまま',
);
$emy = array(
	'AI' => array(
		'action' => 'attack',
	),
	'skill' => array(
		'skill_name' => 'dice_attack',
		'skill_text' => '文章',
		'skill_type' => 'attack_multiply_total', // ['total']に乗算する
		'skill_rate' => '20', //20%で発動
		'skill_damege_range' => '150', // %
	),
	'initiative' => array(
		'ini_dice' => 2,
		'ini_range' => 6,
		'ini_bonus' => 4,
	),
	'unit_type' => 'water',
	'stats' => array(
		'atk_dice' => 2,
		'atk_range' => 6,
		'atk_bonus' => 4,
		'def_dice' => 1,
		'def_range' => 6,
		'def_bonus' => 4,
		'rec_dice' => 1,
		'rec_range' => 6,
		'rec_bonus' => 4,
		'max_hp' => 40,
	),
	'unit_name' => 'てげ',
);

//規定戦闘回数
$max_turn = 10;
//全体の配列を作成
$array= array();

//最大HPの取得
$array['ply_max_hp'] = $ply['stats']['max_hp'];
$array['emy_max_hp'] = $emy['stats']['max_hp'];

//属性補正基本
$ply_damege_bonus = 100;
$ply_def_bonus = 100;
$emy_damege_bonus = 100;
$emy_def_bonus = 100;
//属性判定
if($ply['unit_type']='fire'){
	switch($emy['unit_type']){
		case 'wood': $ply_damege_bonus = 125; $ply_def_bonus = 125; $emy_damege_bonus = 75; $emy_def_bonus = 75; break;
		case 'water': $ply_damege_bonus = 75; $ply_def_bonus = 75; $emy_damege_bonus = 125; $emy_def_bonus = 125; break;
	}
}elseif($ply['unit_type']='water'){
	switch($emy['unit_type']){
		case 'fire': $ply_damege_bonus = 125; $ply_def_bonus = 125; $emy_damege_bonus = 75; $emy_def_bonus = 75; break;
		case 'thunder': $ply_damege_bonus = 75; $ply_def_bonus = 75; $emy_damege_bonus = 125; $emy_def_bonus = 125; break;
	}
}elseif($ply['unit_type']='wood'){
	switch($emy['unit_type']){
		case 'thunder': $ply_damege_bonus = 125; $ply_def_bonus = 125; $emy_damege_bonus = 75; $emy_def_bonus = 75; break;
		case 'fire': $ply_damege_bonus = 75; $ply_def_bonus = 75; $emy_damege_bonus = 125; $emy_def_bonus = 125; break;
	}
}elseif($ply['unit_type']='thunder'){
	switch($emy['unit_type']){
		case 'water': $ply_damege_bonus = 125; $ply_def_bonus = 125; $emy_damege_bonus = 75; $emy_def_bonus = 75; break;
		case 'wood': $ply_damege_bonus = 75; $ply_def_bonus = 75; $emy_damege_bonus = 125; $emy_def_bonus = 125; break;
	}
}elseif($ply['unit_type']='dark'){
	switch($emy['unit_type']){
		case 'light': $ply_damege_bonus = 125; $ply_def_bonus = 125; $emy_damege_bonus = 125; $emy_def_bonus = 125; break;
	}
}elseif($ply['unit_type']='light'){
	switch($emy['unit_type']){
		case 'dark': $ply_damege_bonus = 125; $ply_def_bonus = 125; $emy_damege_bonus = 125; $emy_def_bonus = 125; break;
	}
}

//ターン
for($i=1; $i <=$max_turn; $i++){
		//  先制判定
		$array['turn'.$i]['ini'] = ini_role($ply,$emy);
		// プレイヤーの攻撃値
		$array['turn'.$i]['ply_atk'] = dice_role($ply['stats']['atk_dice'],$ply['stats']['atk_range'],$ply['stats']['atk_bonus']);
		// プレイヤーの防御値
		$array['turn'.$i]['ply_def'] = dice_role($ply['stats']['def_dice'],$ply['stats']['def_range'],$ply['stats']['def_bonus']);
		// エネミーの攻撃値
		$array['turn'.$i]['emy_atk'] = dice_role($emy['stats']['atk_dice'],$emy['stats']['atk_range'],$emy['stats']['atk_bonus']);
		// エネミーの防御値
		$array['turn'.$i]['emy_def'] = dice_role($emy['stats']['def_dice'],$emy['stats']['def_range'],$emy['stats']['def_bonus']);
		//1ターン目以外は以前のターンの現在HPを取得
		if($i==1){
				$ply_now_hp = $array['ply_max_hp'];
				$emy_now_hp = $array['emy_max_hp'];
		}else{
				$ply_now_hp = $array['turn'.($i-1)]['ply_now_hp'];
				$emy_now_hp = $array['turn'.($i-1)]['emy_now_hp'];
		}
		// ダメージ計算
		//プレイヤーのダメージがエネミーの防御値を超えているかどうか
		if($array['turn'.$i]['ply_atk']['total'] > $array['turn'.$i]['emy_def']['total']){
				//超えていた場合ダメージ判定
				//発動レート
				$ply_skill_rate = mt_rand(1, 100);
				$array['turn'.$i]['ply_skill_rate']=$ply_skill_rate;
				//スキル発動判定
				if($ply['skill']['skill_rate'] >= $ply_skill_rate){
					switch($ply['skill']['skill_type']){
						case 'attack_add_bonus': //攻撃ボーナス値に加算するタイプ
							$ply_skill_damage = mt_rand(1,$ply['skill']['skill_damege_range']);
							$array['turn'.$i]['ply_atk']['skill_damage'] = $ply_skill_damage;
							$array['turn'.$i]['ply_atk']['total'] = $array['turn'.$i]['ply_atk']['total'] + $ply_skill_damage;
							break;
						case 'attack_multiply_total': //最終トータルに乗算する
							$ply_skill_damage = $ply['skill']['skill_damege_range'];
							$array['turn'.$i]['ply_atk']['skill_damage'] = $ply_skill_damage;
							$array['turn'.$i]['ply_atk']['total'] = floor($array['turn'.$i]['ply_atk']['total']*($ply_skill_damage/100));
							break;
						case 'attack_add_dice': //ダイスを追加
							$ply_skill_damage = $ply['skill']['skill_damege_range'];//追加ダイスの個数
							$ply_skill_damage_total = 0; //追加ダイスのカウント用
							for($j=1;$j<=$ply_skill_damage;$j++){
								$count = mt_rand(1,$ply['stats']['atk_range']);
								$array['turn'.$i]['ply_atk']['skill_damage'][] = $count;
								$ply_skill_damage_total = $ply_skill_damage_total + $count;
							}
							$array['turn'.$i]['ply_atk']['skill_damage_total'] = $ply_skill_damage_total;
							$array['turn'.$i]['ply_atk']['total'] = $array['turn'.$i]['ply_atk']['total']+$ply_skill_damage_total;
							break;
					}
				}
				//最終ダメージ決定
				$ply_total_damage = floor($array['turn'.$i]['ply_atk']['total']*($ply_damege_bonus/100));
				$emy_total_def = floor($array['turn'.$i]['emy_def']['total']*($emy_damege_bonus/100));
				//攻撃値が装甲値を上回った場合
				if( ($ply_total_damage - $emy_total_def)> 0){
					$emy_end_hp = $emy_now_hp - ($ply_total_damage - $emy_total_def);
				}else{
					$emy_end_hp = $emy_now_hp;
				}
				$array['turn'.$i]['ply_total_damage'] = $ply_total_damage;
				$array['turn'.$i]['emy_total_def'] = $emy_total_def;
				$array['turn'.$i]['ply_atk_hit'] = 1; //hit
		}else{
				//超えていない場合
				$emy_end_hp = $emy_now_hp;
				$array['turn'.$i]['ply_atk_hit'] = 0; //miss
		}
		// エネミーターン
		if($array['turn'.$i]['emy_atk']['total'] > $array['turn'.$i]['ply_def']['total']){
				//超えていた場合ダメージ判定
				//スキル発動レート
				$emy_skill_rate = mt_rand(1, 100);
				$array['turn'.$i]['emy_skill_rate']=$emy_skill_rate;
				//スキル発動判定
				if($emy['skill']['skill_rate'] >= $emy_skill_rate){
					switch($emy['skill']['skill_type']){
						case 'attack_add_bonus': //攻撃ボーナス値に加算するタイプ
							$emy_skill_damage = mt_rand(1,$emy['skill']['skill_damege_range']);
							$array['turn'.$i]['emy_atk']['skill_damage'] = $skill_damage;
							$array['turn'.$i]['emy_atk']['total'] = $array['turn'.$i]['emy_atk']['total'] + $emy_skill_damage;
							break;
						case 'attack_multiply_total': //最終トータルに乗算する
							$emy_skill_damage = $emy['skill']['skill_damege_range'];
							$array['turn'.$i]['emy_atk']['skill_damage'] = $emy_skill_damage;
							$array['turn'.$i]['emy_atk']['total'] = floor($array['turn'.$i]['emy_atk']['total']*($emy_skill_damage/100));
							break;
						case 'attack_add_dice': //ダイスを追加
							$emy_skill_damage = $emy['skill']['skill_damege_range'];//追加ダイスの個数
							$emy_skill_damage_total = 0; //追加ダイスのカウント用
							for($j=1;$j<=$emy_skill_damage;$j++){
								$count = mt_rand(1,$emy['stats']['atk_range']);
								$array['turn'.$i]['emy_atk']['skill_damage'][] = $count;
								$emy_skill_damage_total = $emy_skill_damage_total + $count;
							}
							$array['turn'.$i]['emy_atk']['skill_damage_total'] = $emy_skill_damage_total;
							$array['turn'.$i]['emy_atk']['total'] = $array['turn'.$i]['emy_atk']['total']+$emy_skill_damage_total;
							break;
					}
				}
				//最終ダメージ決定
				$emy_total_damage = floor($array['turn'.$i]['emy_atk']['total']*($emy_damege_bonus/100));
				$ply_total_def = floor($array['turn'.$i]['ply_def']['total']*($ply_def_bonus/100));
				//攻撃値が装甲値を上回った場合
				if( ($emy_total_damage - $ply_total_def)> 0){
					$ply_end_hp = $ply_now_hp - ($emy_total_damage - $ply_total_def);
				}else{
					$ply_end_hp = $ply_now_hp;
				}
				$array['turn'.$i]['emy_total_damage'] = $emy_total_damage;
				$array['turn'.$i]['ply_total_def'] = $ply_total_def;
				$array['turn'.$i]['emy_atk_hit'] = 1; //hit
		}else{
				//超えていない場合
				$ply_end_hp = $ply_now_hp;
				$array['turn'.$i]['emy_atk_hit'] = 0; //miss
		}
		// 現在HP
		$array['turn'.$i]['ply_now_hp'] = $ply_end_hp;
		$array['turn'.$i]['emy_now_hp'] = $emy_end_hp;
		//戦闘終了判定
		if($emy_end_hp <= 0){
				$array['victory_flag'] = 1;
				break;
		}elseif($ply_end_hp<=0){
				$array['victory_flag'] = 0;
				break;
		}
}
//規定回数のターンを過ぎて戦闘終了判定がない場合
//配列にvictory_flagのキーがあるかどうか
if(!array_key_exists('victory_flag',$array)){
	//タイムアップフラグ
	if($ply_end_hp>=$emy_end_hp ){
		$array['time_up_flag'] = 1;
	}else{
		$array['time_up_flag'] = 0;
	}
}else{
	// $array['last'] = 'kumaaaaa';
}

print_r($array);

単純戦闘ダイスロール

ttps://www.youtube.com/watch?v=weCHe_J5eAc

$array= array();
//最大HPの取得
$array['ply_max_hp'] = $ply['stats']['max_hp'];
$array['emy_max_hp'] = $emy['stats']['max_hp'];
for($i=1; $i <=10; $i++){
	//	先制判定
	$array['turn'.$i]['ini'] = ini_role($ply,$emy);
	// プレイヤーの攻撃値
	$array['turn'.$i]['ply_atk'] = dice_role($ply['stats']['atk_dice'],$ply['stats']['atk_range'],$ply['stats']['atk_bonus']);
	// プレイヤーの防御値
	$array['turn'.$i]['ply_def'] = dice_role($ply['stats']['def_dice'],$ply['stats']['def_range'],$ply['stats']['def_bonus']);
	// エネミーの攻撃値
	$array['turn'.$i]['emy_atk'] = dice_role($emy['stats']['atk_dice'],$emy['stats']['atk_range'],$emy['stats']['atk_bonus']);
	// エネミーの防御値
	$array['turn'.$i]['emy_def'] = dice_role($emy['stats']['def_dice'],$emy['stats']['def_range'],$emy['stats']['def_bonus']);
	//1ターン目以外は以前のターンの現在HPを取得
	if($i==1){
		$ply_now_hp = $array['ply_max_hp'];
		$emy_now_hp = $array['emy_max_hp'];
	}else{
		$ply_now_hp = $array['turn'.($i-1)]['ply_now_hp'];
		$emy_now_hp = $array['turn'.($i-1)]['emy_now_hp'];
	}
	// ダメージ計算
	//プレイヤーのダメージがエネミーの防御値を超えているかどうか
	if($array['turn'.$i]['ply_atk']['total'] > $array['turn'.$i]['emy_def']['total']){
		//超えていた場合ダメージ判定
		$emy_end_hp = $emy_now_hp - ($array['turn'.$i]['ply_atk']['total'] - $array['turn'.$i]['emy_def']['total']);
		$array['turn'.$i]['ply_atk_hit'] = 1; //hit
	}else{
		//超えていない場合
		$emy_end_hp = $emy_now_hp;
		$array['turn'.$i]['ply_atk_hit'] = 0; //miss
	}
	// エネミーターン
	if($array['turn'.$i]['emy_atk']['total'] > $array['turn'.$i]['ply_def']['total']){
		//超えていた場合ダメージ判定
		$ply_end_hp = $ply_now_hp - ($array['turn'.$i]['emy_atk']['total'] - $array['turn'.$i]['ply_def']['total']);
		$array['turn'.$i]['emy_atk_hit'] = 1; //hit
	}else{
		//超えていない場合
		$ply_end_hp = $ply_now_hp;
		$array['turn'.$i]['emy_atk_hit'] = 0; //miss
	}
	// 現在HP
	$array['turn'.$i]['ply_now_hp'] = $ply_end_hp;
	$array['turn'.$i]['emy_now_hp'] = $emy_end_hp;
	//戦闘終了判定
	if($emy_end_hp <= 0){
		$array['victory_flag'] = 1;
		break;
	}elseif($ply_end_hp<=0){
		$array['victory_flag'] = 0;
		break;
	}
}
print_r($array);

さいころ振るfunction

<?php
function dice_role( $dice , $max_count ){
	$total = 0;
	$array = array();
	$array['dice_type'] = $dice.'D'.$max_count;
	for ($i = 0 ; $i < $dice ; $i++){
		$counts = mt_rand(1, $max_count);
		$array['dice'][] = $counts;
		$total = $total + $counts;
	}
	$array['total'] = $total;
	return $array;
}// end function
?>

↓ボーナス追加及びデフォルト設定

<?php
function dice_role( $dice , $max_count , $bonus = "0"){
	$total = 0;
	$array = array();
	$array['dice_type'] = $dice.'D'.$max_count;
	for ($i = 0 ; $i < $dice ; $i++){
		$counts = mt_rand(1, $max_count);
		$array['dice'][] = $counts;
		$total = $total + $counts;
	}
	$array['bonus'] = $bonus;
	$total = $total + $bonus;
	$array['total'] = $total;
	return $array;
}// end function
?>
<?php
function ini_role( $ply_ini , $emy_ini ){
	$array['ply'] = dice_role($ply_ini['initiative']['ini_dice'],$ply_ini['initiative']['ini_range'],$ply_ini['initiative']['ini_bonus']);
	$array['emy'] = dice_role($emy_ini['initiative']['ini_dice'],$emy_ini['initiative']['ini_range'],$emy_ini['initiative']['ini_bonus']);
	if($array['ply'][total] >= $array['emy'][total]){
		$array['flag'] = 1; //プレイヤー先攻
		$array['flag_text'] = '先制攻撃!';
	}else{
		$array['flag'] = 0; //プレイヤー後攻
		$array['flag_text'] = '先制を取られた!';
	}
	$array_dice = $array['ply']['dice'];
	$array_dice_text = '';
	foreach($array_dice as $dice){
		$array_dice_text .= $dice.'+';
	}
	$array_dice2 = $array['emy']['dice'];
	$array_dice_text2 = '';
	foreach($array_dice2 as $dice2){
		$array_dice_text2 .= $dice2.'+';
	}
	$array['dice_text'] = $ply_ini['unit_name'].'[ '.$array['ply']['dice_type'].':'.$array_dice_text.$array['ply']['bonus'].'= '.$array['ply']['total'].' ] || ';
	$array['dice_text'] .= $emy_ini['unit_name'].'[ '.$array['emy']['dice_type'].':'.$array_dice_text2.$array['emy']['bonus'].'= '.$array['emy']['total'].' ]';
	return $array;
}// end function
?>

配列のメモ書き

$array = array(
  'AI' => array(
    'action' => 'attack',
  ),
  'skill' => array(
    'skill_name' => 'dice_attack',
    'skill_damege_rate' => '150',
  ),
  'initiative' => array(
  'ini_dice' => 2,
  'ini_range' => 6,
  'ini_bonus' => 4,
  ),
  'unit_type' => 'fire',
  'stats' => array(
    'atk_dice' => 2,
    'atk_range' => 6,
    'atk_bonus' => 4,
    'def_dice' => 1,
    'def_range' => 6,
    'def_bonus' => 4,
    'rec_dice' => 1,
    'rec_range' => 6,
    'rec_bonus' => 4,
    'max_hp' => 80,
  ),
  'unit_name' => 'type1',

);

phpのforで

<?php
for ( $i=1; $i<10; $i++ ){
  echo $i;
  if ($i==5){
    break;
  }
}
?>

breakが使えることを今日しった。
switchで使えるんだからそういえばそうなんだ!って具合である。

break;
をbreak(1);とやるとネスト1個分抜ける形になる。
ほうほう!