[過去ログ] HSP - Hot Soup Processor (1001レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
823
(13): 02/09/22 21:31 ID:??? AAS
width 160,160:a="0010200121021222":sdim b,256,32:randomize:repeat 1024:c=cnt/32
rnd d,2:b.c+""+d:loop:dim e,32,32:dim f,32,32:repeat 1024:c=cnt/32:d=cnt\32
peek i,b.c,d:i-48 : e.d.c=i:loop:*l:repeat 1024:c=cnt/32:d=cnt\32:n=0:repeat 8
peek i,a,cnt*2:i+d-49:peek j,a,cnt*2+1:j+c-49:if i>=0|i<32|j>=0|j<32:n+e.i.j>0
loop:if e.d.c=0{f.d.c=n=3*2}:if e.d.c>0{f.d.c=n=2|(n=3)}:loop:memcpy e,f,4096
redraw 0:color:boxf:repeat 1024:c=cnt/32:d=cnt\32:palcolor 255*e.d.c
boxf d*5,c*5,d*5+4,c*5+4:loop:redraw:await 5:goto l

ほい。79*7達成ね。
配列変数のコピーは、memcpy使うと早いし楽だよ。
824
(1): 819 02/09/22 22:44 ID:??? AAS
width 160,160:a="0010200121021222":sdim b,256,32:randomize:repeat 1024:c=cnt/32
rnd d,2:b.c+""+d:loop:dim e,32,32:dim f,32,32:repeat 1024:h=cnt/32:g=cnt\32
peek i,b.h,g:i-48:e.h.g=i:loop:*@:repeat 1024:j=cnt\32:k=cnt/32:n=0:repeat 8
peek h,a,cnt*2:h+j-49:peek g,a,cnt*2+1:g+k-49:if (h<0)|(h>=32)|(g<0)|(g>=32){continue}
n+=(e.h.g>0):loop:if e.j.k=0{f.j.k=n=3*2}:if e.j.k>0{f.j.k=n=2|(n=3)}:loop:memcpy e,f,4096
redraw 0:color:boxf:repeat 1024:h=cnt\32:g=cnt/32:if e.h.g{color 255,255,255}else{continue}
boxf h*5,g*5,h*5+3,g*5+3:loop:redraw:await 5:goto @b

>>823
ありがd。おかげで参考になりますた。
どうもうちの環境では動かなかったのでコピペを交えつつ改造。ちと増えてしまった・・・。・・・環境の違いかな?
825: 823 02/09/23 01:12 ID:??? AAS
>>824

.   Λ_Λ
アアン(・∀・ ;)

HSP 2.6b14 でやってるんだけど、無茶な省略してるから
他のバージョンじゃ動かないのかも・・・。スマソ
831: 823 02/09/23 20:02 ID:??? AAS
n=32:width n*5,n*5:boxf:a="0010200121021222":sdim b,256,n:dim s,n*n:dim t,n*n
randomize:repeat n*n :rnd d,2:s.cnt=d:loop:*z:repeat n*n:j=cnt\n:k=cnt/n:l=0
repeat 8:peek g,a,cnt*2:peek h,a,cnt*2+1:g+h+k-49*n+j-49:if (g<0)|(g>=(n*n)){
continue}l+=s.g>0:loop:if s.cnt=0{t.cnt=l=3*2}:if s.cnt>0{t.cnt=l=2|l=3}:loop
memcpy s,t,4096:redraw 0:repeat n*n:g=cnt\n:h=cnt/n:palcolor s.cnt!0*9
boxf g*5,h*5,g*5+3,h*5+3:loop:redraw:wait 1:goto z

6行達成しますた。
841: 823 02/09/24 15:59 ID:??? AAS
ポカーン(゚д゚)
843: 823 02/09/24 16:49 ID:??? AAS
・・・(゚д゚)アングリ

まったく太刀打ちできませんでしたw
四行達成おつかれさまでつ。すごすぎでつ…。
888: 823 02/09/27 00:18 ID:??? AAS
やたら長くなってしまいますた。

V=20:screen ,200,400:title "0":dim B,4:dim C,10,V:dim D,10,V:randomize:F=2:boxf
dim A,4,7:A=1,4,5,6,5,6,10,14,5,6,9,13,5,6,9,10,2,6,5,9,1,5,6,10,1,5,9,13:repeat
wait 1:if G=0{rnd N,7:memcpy B,A,16,,16*N:H=3:I=-4:J=0:G=1}J-F:if J<0{K=0:L=1
gosub Z:if M=0{N=0:repeat 4:O=B.cnt\4+H:P=B.cnt/4+I:if P<0{N=1:break}C.O.P=1
loop:if N{break}dim Q,V:R=0:repeat V:S=cnt:N=0:repeat 10:N+=C.cnt.S:loop:if N>9{
Q.cnt=1:R+:palcolor 255:boxf 0,cnt*V,200,cnt*V+18}loop:if R>0{wait 50:color:boxf
E+R*R:title ""+E:N=19:repeat V:S=19-cnt:if Q.S=0{memcpy C,C,40,N*40,S*40:N-}loop
memset C,,N*40}G=0}J=100}stick T,8,1:K=T&4!0+(T&1!0*-1):L=T&8!0:gosub Z:if T&16{
dim U,4:memcpy U,B,16:repeat 4:N=B.cnt\4:B.cnt=N*4+3-(B.cnt/4):loop:K=0:L=0
gosub Z:if M=0{memcpy B,U,16:gosub Z}}redraw 0:repeat V:S=cnt:repeat 10:K=cnt*V
palcolor D.cnt.S*9:L=S*V:boxf K,L,K+18,L+18:loop:loop:redraw:loop:dialog "over"
end:*Z:M=1:repeat 4:O=B.cnt\4+H+K:P=B.cnt/4+I+L:if (P>19)|(O<0)|(O>9):M=0:break
if P<0{continue}if C.O.P=1{M=0}loop:if M=0{return}memcpy D,C,10*V*4:H+K:I+L
repeat 4:O=B.cnt\4+H:P=B.cnt/4+I:if P>=0{D.O.P=1}loop:return
889: 823 02/09/27 00:26 ID:??? AAS
変数名大文字にしたので、置き換え使って
適当な名前に置き換えると分かりやすいかもしれません。
てかもっと精進せねば(´д`;)
893: 823 02/09/27 14:04 ID:??? AAS
>>890
あんまり縮めるのを意識せずに組んだので、
縮めどころは結構あるかもです・・・

>>891-892
凸と棒が回転すると軸ずれてしまうのが残念(´д`;)
918: 823 02/10/02 17:43 ID:??? AAS
>>910
ネタ提供マリガトサマデス
さっそく縮めてみまつ
919: 823 02/10/02 21:48 ID:??? AAS
randomize:A=30:L=125:M=300:dim E,A:dim F,A:dim G,A:dim H,A:dim I,A:#define R cnt
dim J,A:dim K,A:screen,250,400:repeat:redraw 0:color:boxf:stick P,31:palcolor 39
if(L>=0){L-P&1}if(L<242){L+P&4!0}if(M>=0){M-P&2!0}if(M<386){M+P&8!0}if O=0{
pos L,M:mes "M"}repeat 5:if(P&16*(B.R=0)){B.R=1:C.R=L:D.R=M-15:P=0}B.R=D.R>-16
if B.R=0{continue}D.R-15:palcolor 7:pos C.R,D.R:mes "I":loop:palcolor 9:repeat A
if E.R{G.R+H.R:if J.R{J.R-}else{F.R+K.R:J.R=I.R}E.R=G.R>397+(F.R<-8)+(F.R>248)=0
Q=R:repeat 5:if B.R{if(C.R-5<=F.Q)&(C.R+5>=F.Q)&(D.R<=G.Q)&(D.R+13>=G.Q){E.Q=0
B.R=0:N+:title ""+N}}loop:if(F.R+7>=L)&(F.R-6<=L)&(G.R+11>=M)&(G.R-12<=M):O=1
pos F.R,G.R:mes "W"} else {rnd G.R,256:G.R=-G.R-14:rnd F.R,242:rnd H.R,3:H.R+
rnd I.R,10:J.R=0:rnd K.R,2:K.R=K.R<<1-1:E.R=1}loop:redraw:wait 1:if O:break
loop:dialog "over"

10行ですが、もっと縮みそうっすね・・・
配色とか少しいじっちゃいますた。
920: 823 02/10/02 21:49 ID:??? AAS
10行 → 11行 ですた
922: 823 02/10/02 22:22 ID:??? AAS
randomize:A=30:L=125:M=300:dim E,A:dim F,A:dim G,A:dim H,A:dim I,A:#define R cnt
dim J,A:dim K,A:screen,250,400:repeat:redraw 0:boxf:stick P,15:if L>=0{L-P&1}
if(L<242){L+P&4!0}if(M>=0){M-P&2!0}if(M<386){M+P&8!0}if O=0{palcolor 39:pos L,M
mes"M"}palcolor 9:repeat A:if E.R=0{E.R=1:J.R=0:rnd I.R,10:rnd K.R,2:rnd G.R,256
G.R=-G.R-14:rnd F.R,242:rnd H.R,3:H.R+:K.R=K.R<<1-1:E.R=1}else{G.R+H.R:if J.R{
J.R-}else{F.R+K.R:J.R=I.R}if(F.R+7>=L)&(F.R-6<=L)&(G.R+11>=M)&(G.R-12<=M):O=1
E.R=G.R>397+(F.R<-8)+(F.R>248)=0:pos F.R,G.R:mes "W"}loop:redraw:wait 1:if O{
break}color:if (cnt\30=0){S+:title "score:"+S}loop:dialog "over\nscore = "+S

避けゲーバージョンです
923: 823 02/10/02 22:30 ID:??? AAS
>>921
自分は1行80桁でやってます。
7行以下を目的に。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.033s