#13:HIX

(published: May. 10, 2001)

これはゲームではなく、俳句を自動生成するプログラムです。

ダウンロード(zip形式, 78.1KB)

内容

実行すると俳句を自動的に詠みます。 yキーを押すことで、何度でも詠みなおしが出来ます。

特長

など、不正な文字列の発生をほぼ完全に排除しています。

ソース紹介

1 randomize
2 dim h$(16),f$(17),v$(2)
10 h$(0)="かさたはわがざだばぱ"
11 h$(1)="きしちひぎじぢびぴ"
12 h$(2)="くすつふぐずづぶぷ"
13 h$(3)="けせてへげぜでべぺ"
14 h$(4)="こそとほごぞどぼぽ"
15 h$(5)="ゃゅょ"
16 h$(6)="を"
17 h$(7)="ー"
18 h$(8)="ん"
19 h$(9)="っ"
20 h$(10)="あなまやら"
21 h$(11)="いにみり"
23 h$(12)="うぬむゆる"
24 h$(13)="えねめれ"
25 h$(14)="おのもよろ"
26 h$(15)="ぁぃぇぉ"
27 h$(16)="ぅ"
28 v$(0)="きしちにひみりぎじぢびぴ"
29 v$(1)="うくすつぬふむるぐずづぶぷ"
30 v$(2)="と"
90 cls
100 for x%=1 to 17
101  h$=h$(0)+h$(1)+h$(2)+h$(3)+h$(4)
102  if x%=1 or x%=6 or x%=13 then h$=h$+h$(10)+h$(11)+h$(12)+h$(13)+h$(14):goto 129
103  if kinstr(h$(9),f$(x%-1))=0 then h$=h$+h$(10)+h$(11)+h$(12)+h$(13)+h$(14)
111  if kinstr(v$(0),f$(x%-1))<>0 then h$=h$+h$(5)
112  if kinstr(h$(6)+h$(9),f$(x%-1))=0 then h$=h$+h$(6)
113  if kinstr(h$(7)+h$(8)+h$(9),f$(x%-1))=0 then h$=h$+h$(7)
114  if kinstr(h$(6)+h$(7)+h$(9),f$(x%-1))=0 then h$=h$+h$(8)
115  if kinstr(h$(9),f$(x%-1))=0 then h$=h$+h$(9)
116  if kinstr(v$(1),f$(x%-1))<>0 then h$=h$+h$(15)
117  if kinstr(v$(2),f$(x%-1))<>0 then h$=h$+h$(16)
129  h%=klen(h$)
130   m%=int(rnd(1)*h%)+1
131   m$=kmid$(h$,m%,1)
132   if kinstr(h$(5)+h$(15)+h$(16),m$)<>0 then f$(x%-1)=f$(x%-1)+m$:goto 101
133  f$(x%)=m$
160 next x%
161 for x%=1 to 17
162  print f$(x%);
163  if x%=5 or x%=12 or x%=17 then print
164 next x%
169 print
170 print "retr[y]/e[n]d";
180 k$=inkey$:if k$="y" then 90
190 if k$<>"n" then 180
200 end


H-man AND NOW
作:Nishino Tatami (ainosato@vc-net.ne.jp)