So-net無料ブログ作成

RiverSea その後 [ColdFire V2]このエントリーを含むはてなブックマーク#

WS000164.png

***HTML文書にGIFを埋め込んでみた***のその後。 やっとの思いで、ここまで、来たけど、完成させられるかどうか、わかりません。 誰か、仕上げて。

サーバプログラム Main

char *CgiFlag=0x20007f2e;
main() {
  char *board=MemoryAlloc(64);
  char *cmd=MemoryAlloc(81);
  char row,col;
  char ch;
  int i;
  char done=0;
  while (!done) {
    for (i = 0;i < 80; i++) {
      ch = Getc(1);
      cmd[i] = ch;
      if (ch == 0) break;
    }
    cmd[i] = 0;
    switch(cmd[0]) {
      case 'B':  setBoard(board, cmd+3); break;
      case 'R':  row = Atoi(cmd+3);      break;
      case 'C':  col = Atoi(cmd+3);      break;
      case 'b':  putBoard(board);        break;
      case 'p':  putPiece(board, cmd+3); break;
      case 'X':  done = 1;
    }
    *CgiFlag = 0;
  }
  MemoryFree(cmd);
  MemoryFree(board);
}
setBoard(char *b, char *c) {
  char *num_buf=MemoryAlloc(8);
  int x,y;
  long line;
  MemClear(num_buf,8);
  StrCpy(num_buf,"0x");
  MemClear(b, 64);
  for (y = 0; y < 8; y++) {
    BufCopy(num_buf+2,c,4);
    c += 4;
    line = Atoi(num_buf);
    for (x = 8; --x >= 0; ) {
      b[y*8+x]=line & 3;
      line >>= 2;
    }
  }
  MemoryFree(num_buf);
}
putBoard(char *b) {
  int x,y;
  int line;
  for (y = 0; y < 8; y++) {
    line = 0;
    for (x = 0; x < 8; x++) {
      line <<= 2;
      line += b[y*8+x];
    }
    PrHexWord(line);
  }
}
putPiece(char *b, char *c) {
  int index=Atoi(c);
  switch (b[index]) {
    case 1:  PrStr("<img src=\"W.gif\"/>"); break;
    case 2:  PrStr("<img src=\"B.gif\"/>"); break;
    default: PrStr(" "); break;
  }
}

HTML文書プロトタイプ RiverSea.htm

<html><head>
<title>RiverSea</title>
<style>
table.board {text-align:center;}
table.board td {width:40px;height:40px;background:#0F0;}
</style>
</head><body>
<h1 style="text-align:center;">RiverSea</h1>
<form action="RiverSea.htm" style="text-align:center;">
<table cellpadding="10" style="margin:0 auto;">
<td>
<table border="1" cellpadding="2" cellspacing="1" class="board">
<tr><th colspan="14"/></tr>
<tr>
<th rowspan="12"/><th/><th rowspan="12"/>
<th>A</th><th>B</th><th>C</th><th>D</th>
<th>E</th><th>F</th><th>G</th><th>H</th>
<th rowspan="12"/>
</tr>
<tr><th/><th colspan="8"/></tr>
<tr><th>1</th>
<td>$EXEC'p("0")          '</td>
<td>$EXEC'p("1")          '</td>
<td>$EXEC'p("2")          '</td>
<td>$EXEC'p("3")          '</td>
<td>$EXEC'p("4")          '</td>
<td>$EXEC'p("5")          '</td>
<td>$EXEC'p("6")          '</td>
<td>$EXEC'p("7")          '</td>
</tr>
<tr><th>2</th>
<td>$EXEC'p("8")          '</td>
<td>$EXEC'p("9")          '</td>
<td>$EXEC'p("10")         '</td>
<td>$EXEC'p("11")         '</td>
<td>$EXEC'p("12")         '</td>
<td>$EXEC'p("13")         '</td>
<td>$EXEC'p("14")         '</td>
<td>$EXEC'p("15")         '</td>
</tr>
<tr><th>3</th>
<td>$EXEC'p("16")         '</td>
<td>$EXEC'p("17")         '</td>
<td>$EXEC'p("18")         '</td>
<td>$EXEC'p("19")         '</td>
<td>$EXEC'p("20")         '</td>
<td>$EXEC'p("21")         '</td>
<td>$EXEC'p("22")         '</td>
<td>$EXEC'p("23")         '</td>
</tr>
<tr><th>4</th>
<td>$EXEC'p("24")         '</td>
<td>$EXEC'p("25")         '</td>
<td>$EXEC'p("26")         '</td>
<td>$EXEC'p("27")         '</td>
<td>$EXEC'p("28")         '</td>
<td>$EXEC'p("29")         '</td>
<td>$EXEC'p("30")         '</td>
<td>$EXEC'p("31")         '</td>
</tr>
<tr><th>5</th>
<td>$EXEC'p("32")         '</td>
<td>$EXEC'p("33")         '</td>
<td>$EXEC'p("34")         '</td>
<td>$EXEC'p("35")         '</td>
<td>$EXEC'p("36")         '</td>
<td>$EXEC'p("37")         '</td>
<td>$EXEC'p("38")         '</td>
<td>$EXEC'p("39")         '</td>
</tr>
<tr><th>6</th>
<td>$EXEC'p("40")         '</td>
<td>$EXEC'p("41")         '</td>
<td>$EXEC'p("42")         '</td>
<td>$EXEC'p("43")         '</td>
<td>$EXEC'p("44")         '</td>
<td>$EXEC'p("45")         '</td>
<td>$EXEC'p("46")         '</td>
<td>$EXEC'p("47")         '</td>
</tr>
<tr><th>7</th>
<td>$EXEC'p("48")         '</td>
<td>$EXEC'p("49")         '</td>
<td>$EXEC'p("50")         '</td>
<td>$EXEC'p("51")         '</td>
<td>$EXEC'p("52")         '</td>
<td>$EXEC'p("53")         '</td>
<td>$EXEC'p("54")         '</td>
<td>$EXEC'p("55")         '</td>
</tr>
<tr><th>8</th>
<td>$EXEC'p("56")         '</td>
<td>$EXEC'p("57")         '</td>
<td>$EXEC'p("58")         '</td>
<td>$EXEC'p("59")         '</td>
<td>$EXEC'p("60")         '</td>
<td>$EXEC'p("61")         '</td>
<td>$EXEC'p("62")         '</td>
<td>$EXEC'p("63")         '</td>
</tr>
<tr><th colspan="14"/></tr>
</table>
</td>
<td>
<p>
<input type="text" name="EXEC'B'"
  value="$EXEC'b("00000000000001800240000000000000")'"
/>
</p>
<table cellpadding="5" style="text-align:center;">
<tr><th style="text-align:left;" colspan="8">COLUMN:</th></tr>
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
<td>E</td>
<td>F</td>
<td>G</td>
<td>H</td>
</tr>
<tr>
<td><input type="radio" name="EXEC'C'" value="0" checked/></td>
<td><input type="radio" name="EXEC'C'" value="1"/></td>
<td><input type="radio" name="EXEC'C'" value="2"/></td>
<td><input type="radio" name="EXEC'C'" value="3"/></td>
<td><input type="radio" name="EXEC'C'" value="4"/></td>
<td><input type="radio" name="EXEC'C'" value="5"/></td>
<td><input type="radio" name="EXEC'C'" value="6"/></td>
<td><input type="radio" name="EXEC'C'" value="7"/></td>
</tr>
<tr><th style="text-align:left;" colspan="8">ROW:</th></tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
</tr>
<tr>
<td><input type="radio" name="EXEC'R'" value="0" checked/></td>
<td><input type="radio" name="EXEC'R'" value="1"/></td>
<td><input type="radio" name="EXEC'R'" value="2"/></td>
<td><input type="radio" name="EXEC'R'" value="3"/></td>
<td><input type="radio" name="EXEC'R'" value="4"/></td>
<td><input type="radio" name="EXEC'R'" value="5"/></td>
<td><input type="radio" name="EXEC'R'" value="6"/></td>
<td><input type="radio" name="EXEC'R'" value="7"/></td>
</tr>
<tr><td colspan="9"><input type="submit" value="Decide"/></td></tr>
<tr><td colspan="9"><a href="SetEnd.htm?EXEC%27X%27">EXIT</a></td></tr>
</table>
</td>
</table>
</form>
</body></html>

呼び出し方

http://192.168.1.10/RiverSea.htm?EXEC%27B%27=00000000000001800240000000000000

nice!(0)  コメント(0)  トラックバック(0)  このエントリーを含むはてなブックマーク#

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。