簡易マップをつくってみよう!
<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 = '♥'; break; case 2 : $card_type = '♦'; break; case 3 : $card_type = '♠'; break; case 4 : $card_type = '♣'; 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┃■┃■┃■┃山┃山┃■┃■┃
.╋━╋━╋━╋━╋━╋━╋━╋━╋