SSブログ

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

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