-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprogram.htm
86 lines (62 loc) · 4.7 KB
/
program.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<HTML>
<HEAD>
<TITLE>GPCC関連のプログラム</TITLE>
</HEAD>
<BODY>
<H1>GPCC関連のプログラム</H1>
chairらがGPCCで使用しているプログラムを紹介します。問題を解く参考にお使いください。
<HR>
<H2><A NAME="blokus-d">ブロックスデュオ記録プログラム</A></H2>
<P>ブロックスデュオの手を4文字コードで入力すると、合法な手かどうか判定して盤面を出力したり、4文字コードおよびHTMLで棋譜を出力したりするプログラムです。ANSI C (ISO/IEC 9899:1990)以降で動くように作ってあります。日本語の文字を使っているので、対応した環境で実行してください。
<H3>画面例</H3>
<PRE STYLE="color: white; background-color: black; line-height: 100%">
C ・・・・・・・・・・・・・・
D ・・・・・・・・・・・・・・
E ・・・・・・・・・・・・・・
P1: 5 a b c d e f g h i j k l m n o p q s t u
P2: 5 a b c d e f g h i j k l m n o p q r s u
3-P1 4文字コード:置く E:記録終了 B:一手戻る ?96t4
96t4
1 2 3 4 5 6 7 8 9 A B C D E
1 ・・・・・・・・・・・・・・
2 ・・・・・・・・・・・・・・
3 ・・・・・・・・・・・・・・
4 ・・・・・・・・・・・・・・
5 ・・・・■・・・■・・・・・
6 ・・・・■■・■■■・・・・
7 ・・・・・■■・・■・・・・
8 ・・・・・・・・□・・・・・
9 ・・・・・・・□□・・・・・
A ・・・・・・・・□□・・・・
B ・・・・・・・・・・・・・・
C ・・・・・・・・・・・・・・
D ・・・・・・・・・・・・・・
E ・・・・・・・・・・・・・・
P1:10 a b c d e f g h i j k l m n o p q s u
P2: 5 a b c d e f g h i j k l m n o p q r s u
4-P2 4文字コード:置く E:記録終了 B:一手戻る ?
</PRE>
<H3>ダウンロード</H3>
<P>初出時のプログラムには、パスの記録にバグがあり、以前に駒を置いたのと同じ手数のところに戻ってパスをすると、誤った棋譜を出力していました(2008-12-16修正)。
<UL>
<LI><A HREF="files/BLOKUS-D.C">C言語ソース</A>(文字コードはシフトJIS)
<LI><A HREF="files/BLOKUS-D.EXE">Windows用実行ファイル</A>(文字コードはシフトJIS)
<LI><A HREF="files/blokus-d">Linux用実行ファイル</A>(文字コードはEUC-JP)
</UL>
<H3>使い方</H3>
<P><B>記録中</B>と<B>記録終了</B>の二つの状態があり、自由に行き来できます。最初は<B>記録中</B>になっています。
<P><B>記録中</B>は盤面、覆ったマス目の数、未使用の駒の名前が表示され、4文字コードの入力、一手戻ること、一手進むことができます。4文字コードと一手進むでは、合法な手かどうかチェックしています。パスのときは4文字コードとして----のみ受け付け、両方パスだと4文字コードを受け付けません。
<P><B>記録終了</B>時には、4文字コードの表示とHTMLファイルの出力ができます。4文字コードで複数の表記が可能な場合は、座標の任意性を含めて、向きの番号が最小になるように正規化しています。
<P>4文字コードのファイル入出力機能はありませんが、ウィンドウシステム上で動かしている場合は、コピー&ペーストで代用できます。入力するには、入力したいファイルを開いて4文字コードをすべてコピーし、<B>記録中</B>の状態でペーストします。出力するには、<B>記録終了</B>時の「4文字コードの表示」の結果をコピーし、出力したいファイルにペーストします。
<HR>
<H2><A NAME="frame">JIS罫線表示プログラム</A></H2>
<H3>説明</H3>
<P>JIS漢字コード(JIS X 0208)の罫線文字を使ってピースの形などを表示するプログラムです。入力はテキストファイルで、同じピースを同じ文字で、異なるピースを異なる文字で記述します。言い換えると、このプログラムは異なる文字の間に罫線を引き、その罫線だけを出力します。<A HREF="gpcc05s.htm#p1">裁ちあわせパズルの全解探索の解答</A>、<A HREF="gpcc05s.htm#p2">ペントミノパズルの解の分類の解答</A>の図に使用しました。
<H3>ダウンロード</H3>
<P>Java言語のプログラムのソースファイルです。
<UL>
<LI><A HREF="files/Frame.java">細い罫線のみ使用</A>(文字コードはシフトJIS)
<LI><A HREF="files/Frame1.java">スペースと普通の文字の間に太い罫線を使用</A>(文字コードはシフトJIS)
</UL>
</BODY>
</HTML>