ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

よってたかってMTテンプレ。コミュのMT。

  • mixiチェック
  • このエントリーをはてなブックマークに追加
今移動中@新幹線なのですが、思い付いたので(市松模様にヒントを得て)。

5×5のテーブルを二つ作ってセルの背景色で「MT」って見えるようにするってのどうでしょう。

たぶん「T」は簡単だと思うのですが、「M」あたりに変態性があらわれるのではないかと。

#最近「絶対Mでしょう?」とよく言われるJunnamaでつ(爆)

コメント(7)

<mt:setvar name="m" value="1000111011111111010110001">
<mt:setvar name="t" value="1111100100001000010000100">

<MTInclude module="makeTable" char="$m">
<MTInclude module="makeTable" char="$t">

--makeTableモジュール--

<mt:for from="1" to="25">
<mt:if name="__first__"><table></mt:if>
<mt:if test="$__index__%5 == 1"><tr></mt:if>
<mt:getvar name="char" regex_replace="/^([01]{1})[01]+$/","$1" setvar="num">
<td<mt:if name="num" eq="1"> style="background:red"</mt:if>><mt:getvar name="patrn">T</td>
<mt:getvar name="char" regex_replace="/^[01]{1}([01]+)$/","$1" setvar="char">
<mt:if test="$__index__%5 == 0"></tr></mt:if>
<mt:if name="__last__"></table></mt:if>
</mt:for>

結構、変態的に書けたのではないかと。

解説はBlogでやってます。

http://blog.webcreativepark.net/2008/04/17-213513.html
私もやってみました。

・スタイルシート(例1/例2共通)
td { font-size : 24px; width : 30px; }

・例1
<table>
<MTFor var="r" from="1" to="5">
  <tr>
  <MTFor var="c" from="1" to="5">
    <td><MTIf test="$c == 1 || $c == 5 || ($c == 2 || $c == 4) && $r == 2 || $c == 3 && $r == 3">M<MTElse> </MTIf></td>
  </MTFor>
  </tr>
</MTFor>
</table>
<table>
<MTFor var="r" from="1" to="5">
  <tr>
  <MTFor var="c" from="1" to="5">
    <td><MTIf test="$r == 1 || $c == 3">T<MTElse> </MTIf></td>
  </MTFor>
  </tr>
</MTFor>
</table>

・例2
<table>
<MTFor var="r" from="1" to="5">
  <tr>
  <MTFor var="c" from="1" to="5">
    <td><MTIf test="$c == 1 || $c == 5 || ($c == 2 || $c == 4) && ($r == 2 || $r == 3) || $c == 3 && ($r == 4 || $r == 5)">M<MTElse> </MTIf></td>
  </MTFor>
  </tr>
</MTFor>
</table>
<table>
<MTFor var="r" from="1" to="5">
  <tr>
  <MTFor var="c" from="1" to="5">
    <td><MTIf test="$r == 1 || $c == 3">T<MTElse> </MTIf></td>
  </MTFor>
  </tr>
</MTFor>
</table>

いずれも、二重ループを使い、座標を条件判断して、「M」「T」の文字を出力するかどうかを決めています。
10x10のでかいMTと、5x5のMTOSで(お題を逸れたので減点ですか?!)。
データ部分のみ替えれば、<MTIgnore>メイン部</MTIgnore>は全く同一コードで動作します。
DataM、DataT、DataT、DataSがちょっと冗長なのは、MTの仕様上なんともアレでした。ここ本当は配列にして、If分岐なしのイッパツでできるんですけどね...MTは言うことを聞かんとです...。

出力サンプル
http://www.apstars.com/blog/test.php



コード、以下

<style type="text/css">
<!--
table {
border-collapse : collapse;
}
td {
border : 1px solid black;
width : 30px;
padding : 2px 0;
text-align : center;
}
-->
</style>

(5x5 MTOS)<br />
<MTIgnore>データ部</MTIgnore>
<MTSetVar name="BlockUpper" value="5">
<MTSetVar name="CharMax" value="4">
<MTSetVar name="DataM" value="1":"0":"0":"0":"1":"1":"1":"0":"1":"1":"1":"1":"0":"1":"1":"1":"0":"1":"0":"1":"1":"0":"1":"0":"1">
<MTSetVar name="DataT" value="1":"1":"1":"1":"1":"0":"0":"1":"0":"0":"0":"0":"1":"0":"0":"0":"0":"1":"0":"0":"0":"0":"1":"0":"0">
<MTSetVar name="DataO" value="0":"1":"1":"1":"0":"1":"0":"0":"0":"1":"1":"0":"0":"0":"1":"1":"0":"0":"0":"1":"0":"1":"1":"1":"0">
<MTSetVar name="DataS" value="0":"1":"1":"1":"1":"1":"0":"0":"0":"0":"1":"1":"1":"1":"1":"0":"0":"0":"0":"1":"1":"1":"1":"1":"0">

<MTIgnore>メイン部</MTIgnore>
<MTFor var="outer" from="1" to="$CharMax">
<MTSetVar name="inc" value="0">
<MTFor var="x" from="1" to="$BlockUpper">
<table>
<MTFor var="y" from="1" to="$BlockUpper">
<MTSetVar name="inc" op="++">

<MTIf name="outer" eq="1">
<MTGetvar name="DataM" function="shift" setvar="compare">
<MTElseif eq="2">
<MTGetvar name="DataT" function="shift" setvar="compare">
<MTElseif eq="3">
<MTGetvar name="DataO" function="shift" setvar="compare">
<MTElseif eq="4">
<MTGetvar name="DataS" function="shift" setvar="compare">
</MTIf>

<MTIf name="compare" eq="1"><td style="background:red;"><MTElse><td></MTIf>
<MTGetVar name="inc">
</td>
</MTFor>
</table>
</MTFor>
<br />
</MTFor>
<br />


(10x10 MT)<br />
<MTIgnore>データ部</MTIgnore>
<MTSetVar name="BlockUpper" value="10">
<MTSetVar name="CharMax" value="2">
<MTSetVar name="DataM" value="1":"1":"0":"0":"0":"0":"0":"0":"1":"1":"1":"1":"1":"0":"0":"0":"0":"1":"1":"1":"1":"1":"1":"0":"0":"0":"0":"1":"1":"1":"1":"1":"1":"1":"0":"0":"1":"1":"1":"1":"1":"1":"0":"1":"0":"0":"1":"0":"1":"1":"1":"1":"0":"1":"1":"1":"1":"0":"1":"1":"1":"1":"0":"0":"1":"1":"0":"0":"1":"1":"1":"1":"0":"0":"1":"1":"0":"0":"1":"1":"1":"1":"0":"0":"0":"0":"0":"0":"1":"1":"1":"1":"0":"0":"0":"0":"0":"0":"1":"1":>
<MTSetVar name="DataT" value="1":"1":"1":"1":"1":"1":"1":"1":"1":"1":"1":"1":"1":"1":"1":"1":"1":"1":"1":"1":"0":"0":"0":"0":"1":"1":"0":"0":"0":"0":"0":"0":"0":"0":"1":"1":"0":"0":"0":"0":"0":"0":"0":"0":"1":"1":"0":"0":"0":"0":"0":"0":"0":"0":"1":"1":"0":"0":"0":"0":"0":"0":"0":"0":"1":"1":"0":"0":"0":"0":"0":"0":"0":"0":"1":"1":"0":"0":"0":"0":"0":"0":"0":"0":"1":"1":"0":"0":"0":"0":"0":"0":"0":"0":"1":"1":"0":"0":"0":"0":>

<MTIgnore>メイン部</MTIgnore>
<MTFor var="outer" from="1" to="$CharMax">
<MTSetVar name="inc" value="0">
<MTFor var="x" from="1" to="$BlockUpper">
<table>
<MTFor var="y" from="1" to="$BlockUpper">
<MTSetVar name="inc" op="++">

<MTIf name="outer" eq="1">
<MTGetvar name="DataM" function="shift" setvar="compare">
<MTElseif eq="2">
<MTGetvar name="DataT" function="shift" setvar="compare">
<MTElseif eq="3">
<MTGetvar name="DataO" function="shift" setvar="compare">
<MTElseif eq="4">
<MTGetvar name="DataS" function="shift" setvar="compare">
</MTIf>

<MTIf name="compare" eq="1"><td style="background:red;"><MTElse><td></MTIf>
<MTGetVar name="inc">
</td>
</MTFor>
</table>
</MTFor>
<br />
</MTFor>

はじめまして、タクと申します。
既に過去のトピックスだとは思いますが、いい感じに変態的に書けたので参加させてください。
<mt:SetVarTemplate>を使って再帰的に書きました。

----インデックステンプレート----
<mt:IncludeBlock module="dots">
bwwwb
bbwbb
bwbwb
bwwwb
</mt:IncludeBlock>

<mt:IncludeBlock module="dots">
bbbbb
wwbww
wwbww
wwbww
</mt:IncludeBlock>

---------dotsモジュール---------
<mt:SetVarTemplate name="row">
<mt:If name="contents">
<mt:Var name="contents" trim_to="1" setvar="col" />
<mt:Var name="contents" regex_replace="/.?(.*)$/","$1" setvar="contents" />

<mt:Var name="$col" />
<mt:Var name="row" />
</mt:If>
</mt:SetVarTemplate>


<mt:Var name="contents" trim="1" regex_replace="/\r\n|\r|\n/g","r" setvar="contents" />

<MTSetVars>
b=<td style="background: black"> </td>
w=<td style="background: white"> </td>
r=</tr><tr>
</MTSetVars>

<table>
<tr>
<mt:Var name="row" />
</tr>
</table>
どうにかMTを使えるようになってきたので、書いてみました。
最初の「MT」と書いた部分は、とくに必要なかったりしますが、appendを使ってみたかったので。


<mt:setvar name="char_m" value="■□□□■" append="1" />
<mt:setvar name="char_m" value="■■□■■" append="1" />
<mt:setvar name="char_m" value="■□■□■" append="1" />
<mt:setvar name="char_m" value="■□□□■" append="1" />
<mt:setvar name="char_m" value="■□□□■" append="1" />

<mt:setvar name="char_t" value="■■■■■" append="1" />
<mt:setvar name="char_t" value="□□■□□" append="1" />
<mt:setvar name="char_t" value="□□■□□" append="1" />
<mt:setvar name="char_t" value="□□■□□" append="1" />
<mt:setvar name="char_t" value="□□■□□" append="1" />

<mt:getvar name="char_m" regex_replace="/.*/","1000111011101011000110001" setvar="char_m" />
<mt:getvar name="char_t" regex_replace="/.*/","1111100100001000010000100" setvar="char_t" />

<mt:for var="x" from="1" to="25">
<mt:setvarblock name="moji_m[$x]"><mt:getvar name="char_m" trim_to="$x" regex_replace="/(\d*)(\d$)/","$2" /></mt:setvarblock>
<mt:setvarblock name="moji_t[$x]"><mt:getvar name="char_t" trim_to="$x" regex_replace="/(\d*)(\d$)/","$2" /></mt:setvarblock>
</mt:for>

<mt:for var="x" from="1" to="25">
<mt:if name="__first__"><table width="250" height="250"></mt:if>
<mt:if name="__counter__" value="5" op="%" eq="1">
<tr>
</mt:if>
<mt:if name="moji_m[$x]" eq="1">
<td width="50" height="50" bgcolor="#000000"> </td>
<mt:else name="moji_m[$x]" eq="0">
<td width="50" height="50" bgcolor="#ffffff"> </td>
</mt:if>
<mt:if name="__counter__" value="5" op="%" eq="0">
</tr>
</mt:if>
<mt:if name="__last__"></table></mt:if>
</mt:for>

<mt:for var="x" from="1" to="25">
<mt:if name="__first__"><table width="250" height="250"></mt:if>
<mt:if name="__counter__" value="5" op="%" eq="1">
<tr>
</mt:if>
<mt:if name="moji_t[$x]" eq="1">
<td width="50" height="50" bgcolor="#000000"> </td>
<mt:else name="moji_t[$x]" eq="0">
<td width="50" height="50" bgcolor="#ffffff"> </td>
</mt:if>
<mt:if name="__counter__" value="5" op="%" eq="0">
</tr>
</mt:if>
<mt:if name="__last__"></table></mt:if>
</mt:for>

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

よってたかってMTテンプレ。 更新情報

よってたかってMTテンプレ。のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング