Vz Editor ver 1.6x用 ======== OTHELLO.def v2.1p+ ======== by 愛して癒して ; 07941/07941 YASAT RE:OTHELLO ができない ;  nifty:FGALDC/MES/14/1284 ;2.このマクロは、オセロ画面を作るとき、「桁対応上書きモード」であることを ; 前提にしているんですね。あらかじめそうしてから、このマクロで遊びましょう。 ;※ YASATさんの修正と Eo+ Wl9 追加し Eo- Wl1 で終了 25/03/18 * M 80 ^\ "OTHELLO" ?. (wc < tc) ??{ &m(6) .} Eo+, Wl9, ;★桁対応上書きモード追加 ; je[-,mi[+,ep[+,wt[,jd[-,co[4,#] je[-,mi[=2,ep[+,wt[,jd[-,co[4,#] ;★YASAT &#Y(0) (wx < 34 || wy < 17+1+4) ? {&m("画面が狭い(-_-メ)") >Z} xx=(wx-34)/2, yy=(wy-17)/2, &10 &09 :r &Im(pa,0) i-,(92) { (((p+i).)-) i++,} i-,(10) { p.i=1, ((p+81+i).+) i++,} i-,(11) { ((p+i).+) i+=9,} ((p+40).0=3) ((p+41).0=2) ((p+49).0=2) ((p+50).0=3) &01 &x(xx+2) &y(yy+1) !01 (r) >! { (0) t2, (1) (t3) | >z} n+, :L &m("CURSOR:移動 RETERN:決定 SPACE:パス ESC:終了") &11 (t-2 == n%2)? { &05 (0)} ? {&02 (r<0)? >z } n++, &01 &b(3) i-, ax$400+n%2+2,di=p,&07 (ax) ? i+, ax$400+n^1%2+2,di=p,&07 (ax) ? i+=2, (i == 2) ? {&m("置けないのでパスします") mx[+, &p mx], n++, >L} (i)?>L &b(3) &11 &b(7) &b(7) &b(3) &x(wx/2-8) &y(1) (pa.2 == pa.3) ? &?("この勝負引き分け") ? { &?("あなたの%4s","勝ち負け"+(pa.2>pa.3 ^^ t-3)*4) } !02 (r == 0) ? >r :z &b(3) &m("hit any key to terminate.") mx[+,&p mx], #C (s==4)? 'Y' :Z &m("") co],jd],wt],ep],mi],je], #] &d Wl1,Eo-, . 04: lx[,ly[, #^#< #x#x i-, q=p+92, :w (c=" X@O_".(q.i)) &o(c) (i%9==8)?{'X' #m} (i<92) i++, ? >w &y(0]) &x(0]) 02: ;human input x=lx,y=ly, mx[+,&p mx],c = r, (c == #m) ? { &03 (r)? {(0).} } (c == #[) ?{(-1).} (c == ' ') ? { (1). } (c < #e || c > #d) ??{&o(c)&o(c)} (lx < xx || lx > xx+33 || ly < yy || ly > yy+16) ? { &x(x) &y(y) } >^ 03: i = (lx-xx-2)/4, j = (ly-yy-1)/2, q = p + j*9 + 10 + i, di=q,ax$200+n%2+2,&07 (ax==0||q.)?{&m("ここには置けないよ(^^ゞ") &b(3) (0).} q.0=n^1%2+2,&01 di=q,ax$300+n%2+2,&07 (1). 05: di=p,ax$500+n%2+2,&07 q=ax, q.0=n^1%2+2,&01 di=q,ax$300+n%2+2,&07 (1). 01: &s &Im(pa,0) q[,lx[,ly[, i-, :I #< #d j-, :J &x(xx+i*4+2) &y(yy+j*2+1) q=p+(j+1)*9+(i+1), (2-q.) ? { (3-q.) ? ' ' ? '●' (0)} ? '○'} (pa.(q.0)+=1) #d j++, (j<8) ? >J i++, #x #x (i<8) ? >I &y(0])&x(0]) q], &d. 11: ;情報の表示 lx[,ly[, &y(yy-2) &x(wx/2-7/2) &?("手番 %2d",n) &y(yy-1) &x(xx/2-3) "先手:○" &x(wx-xx/2-3) "後手:●" q"COMPUTER YOU", &y(yy) &x(xx/2-((t==3)*5+3)/2) &?("%8s",q+(t==2)*9) &x(wx-xx/2-((t==2)*5+3)/2) &?("%8s",q+(t==3)*9) &y(yy+1)&x(xx/2-1) &?("%2d",pa.2) &x(wx-xx/2-1) &?("%2d",pa.3) &y(0]) &x(0]) 09: &s #R &?(pi) "NUL" #m (r)? { &m(6) .} ei+, ; (wx) {' '} (wy) {#m} (wx-1) {' '} (wy) {#m} ;★YASAT #^ #< (yy) { #x } i-,(xx) { p..i='d#', i++,} p..i=0, #if 98 &e(p) "ョ「ホ「ホ「ホ「ホ「ホ「ホ「ホ「イ" #m &e(p) "、 、 、 、 、 、 、 、 、" #m (7) { &e(p) "セ「゙「゙「゙「゙「゙「゙「゙「ニ" #m &e(p) "、 、 、 、 、 、 、 、 、" #m } &e(p) "カ「ヨ「ヨ「ヨ「ヨ「ヨ「ヨ「ヨ「コ" #m #else &e(p) "┌─┬─┬─┬─┬─┬─┬─┬─┐" #m &e(p) "│ │ │ │ │ │ │ │ │" #m (7) { &e(p) "├─┼─┼─┼─┼─┼─┼─┼─┤" #m &e(p) "│ │ │ │ │ │ │ │ │" #m } &e(p) "└─┴─┴─┴─┴─┴─┴─┴─┘" #m #endif ((i=yy-1-3)>0)?{(i) { #m }} &e(p) "OTHELLO.DEF v2.1p Copyright(c) by 愛して癒して"#m &e(p) "E-mail: KFQ03074@niftyserve.or.jp" ei-, &d 10: p3+$,."$(30,31,32,32,38,2F,30,31,32,33,33,20,47,42,47,30)$ $(30,31,36,32,20,20,97,E9,96,D8,81,40,8D,4E,8D,4F)$ $(81,40,81,40,81,40,20,82,75,82,9A,89,EF,8B,63,8E)$ $(BA,81,45,8D,A1,94,4E,82,CC,8E,76,82,A2,8F,6F,0D)$ $(0A,28,31,33,29,20,20,20,39,36,2F,31,32,2F,33,31)$ $(20,31,35,3A,35,34,20,20,20,20,20,20,20,20,20,20)$ $(20,20,20,20,20,20,20,20,20,20,20,83,52,83,81,83)$ $(93,83,67,90,94,81,46,32,0D,0A,81,62,31,30,8C,8E)$ $(20,20,88,A4,82,B5,82,C4,96,FC,82,B5,82,C4,8E,81)$ $(81,41,83,49,83,5A,83,8D,83,7D,83,4E,83,8D,20,4D)$ $(45,53,31,36,20,23,31,36,36,32,0D,0A,81,62,20,20)$ $(20,20,20,20,20,20,8E,63,94,4F,82,C8,82,AA,82,E7)$ $(45,47,47,43,48,49,8E,81,82,CC,8C,C3,93,54,93,49)$ $(96,BC,8D,EC,83,49,83,5A,83,8D,4C,49,42,31,34,20)$ $(23,34,33,82,E6,82,E8,8E,E3,82,A9,82,C1,82,BD,81)$ $(42,28,2D,5F,2D,29,0D,0A,82,A0,82,C8,82,BD,82,CC)$ $(82,B1,82,CC,94,AD,8C,BE,82,C5,8D,C4,82,D1,8D,EC)$ $(82,E9,8B,43,82,C9,82,C8,82,E8,82,DC,82,B5,82,BD)$ $(81,42,0D,0A)" 07: &i(bx3+$). "$(89,BF,F8,02,88,87,FA,02,80,FC,01,74,1D,80,FC,02)$ $(74,26,80,FC,03,75,02,EB,5A,80,FC,04,75,03,E9,9F)$ $(00,80,FC,05,75,03,E9,05,02,C3,8D,B7,FB,02,8B,BF)$ $(F8,02,B9,2E,00,F3,A5,C3,B9,08,00,33,ED,8A,97,FA)$ $(02,8D,B7,F0,02,8B,BF,F8,02,51,57,33,C9,8A,04,98)$ $(03,F8,8A,05,3C,00,74,13,3C,01,74,0F,3A,C2,74,08)$ $(3C,03,77,07,03,E9,EB,03,41,EB,E2,46,5F,59,E2,D9)$ $(8B,C5,C3,B9,08,00,8A,97,FA,02,8D,B7,F0,02,8B,AF)$ $(F8,02,51,33,C9,8B,FD,8A,04,98,03,F8,8A,05,3C,00)$ $(74,27,3C,01,74,23,3A,C2,74,1C,3C,03,77,1B,83,F9)$ $(00,74,16,8B,FD,8A,04,98,80,F2,01,03,F8,88,15,E2)$ $(FA,80,F2,01,EB,03,41,EB,CE,46,59,E2,C5,C3,00,00)$ $(C7,87,BE,00,00,00,B9,48,00,83,87,F8,02,0A,8B,AF)$ $(F8,02,80,7E,00,00,75,09,51,E8,5C,FF,59,01,87,BE)$ $(00,FF,87,F8,02,E2,E7,8B,87,BE,00,C3,00,00,C7,87)$ $(EC,00,00,00,B9,48,00,BF,0A,00,8B,AF,F8,02,80,7B)$ $(5C,00,75,10,51,57,E8,17,00,5F,59,3D,00,00,74,04)$ $(01,87,EC,00,47,E2,E3,8B,87,EC,00,C3,00,00,00,00)$ $(B9,08,00,8D,B7,F0,02,C7,87,1C,01,00,00,89,BF,1E)$ $(01,8B,AF,F8,02,80,7E,66,00,74,11,C6,87,07,03,10)$ $(C6,87,0F,03,10,C6,87,10,03,02,EB,0F,C6,87,07,03)$ $(F0,C6,87,0F,03,F0,C6,87,10,03,D0,80,7E,6D,00,74)$ $(11,C6,87,0C,03,10,C6,87,16,03,10,C6,87,15,03,02)$ $(EB,0F,C6,87,0C,03,F0,C6,87,16,03,F0,C6,87,15,03)$ $(D0,80,BE,A5,00,00,74,11,C6,87,3C,03,10,C6,87,3D)$ $(03,10,C6,87,46,03,02,EB,0F,C6,87,3C,03,F0,C6,87)$ $(3D,03,F0,C6,87,46,03,D0,80,BB,AC,00,00,74,11,C6)$ $(87,43,03,10,C6,87,4B,03,10,C6,87,42,03,02,EB,0F)$ $(C6,87,43,03,F0,C6,87,4B,03,F0,C6,87,42,03,D0,51)$ $(33,C9,8B,BF,1E,01,8A,04,98,03,F8,8B,AF,F8,02,8A)$ $(43,5C,3C,00,74,33,3C,01,74,2F,3A,C2,74,28,3C,03)$ $(77,27,83,F9,00,74,22,8B,BF,1E,01,8A,81,FC,02,98)$ $(01,87,1C,01,8B,04,98,03,F8,8A,81,4E,03,98,01,87)$ $(1C,01,E2,F0,EB,03,41,EB,BD,46,59,E2,B2,8B,87,1C)$ $(01,C3,00,00,AD,DE,00,00,00,00,00,00,00,00,B9,5C)$ $(00,8A,97,FA,02,E8,A3,00,80,F2,01,E8,B0,FE,80,F2)$ $(01,89,87,22,02,C7,87,26,02,00,80,8B,B7,F8,02,BF)$ $(0A,00,83,C6,0A,B9,48,00,80,3C,00,75,75,51,89,BF)$ $(28,02,89,B7,2A,02,B9,08,00,33,ED,8B,FE,8D,B7,F0)$ $(02,E8,D5,FD,3D,00,00,74,50,8B,BF,28,02,E8,A0,FE)$ $(89,87,2C,02,E8,54,00,B9,08,00,8D,B7,F0,02,8B,AF)$ $(F8,02,83,C5,5C,03,AF,2A,02,E8,E6,FD,8B,B7,2A,02)$ $(80,F2,01,88,54,5C,E8,45,FE,80,F2,01,2B,87,22,02)$ $(8B,8F,2C,02,2B,C8,91,3B,87,26,02,7E,0C,89,87,26)$ $(02,8B,87,2A,02,89,87,24,02,8B,BF,28,02,8B,B7,2A)$ $(02,59,46,47,E2,82,8B,87,24,02,C3,51,56,57,B9,2E)$ $(00,8B,B7,F8,02,8B,FE,83,C7,5C,F3,A5,5F,5E,59,C3)$ $(F7,F8,01,0A,09,08,FF,F6,00,00,00,E0,00,00,00,00)$ $(00,00,00,00,00,00,7F,E8,18,10,10,18,E8,7F,00,E8)$ $(D0,02,01,01,02,D0,E8,00,18,02,03,02,02,03,02,18)$ $(00,10,01,02,DE,AD,02,01,10,00,10,01,02,BE,EF,02)$ $(01,10,00,18,02,03,02,02,03,02,18,00,E8,D0,02,01)$ $(01,02,D0,E8,00,7F,E8,18,10,10,18,E8,7F,00,00,00)$ $(00,00,00,00,00,00,00,00,DE,10,10,10,10,10,10,AD)$ $(00,10,01,01,01,01,01,01,10,00,10,01,01,01,01,01)$ $(01,10,00,10,01,01,01,01,01,01,10,00,10,01,01,01)$ $(01,01,01,10,00,10,01,01,01,01,01,01,10,00,10,01)$ $(01,01,01,01,01,10,00,BE,10,10,10,10,10,10,EF,00)" * P 1 "",5,2 "1 先攻○" "2 後攻●" 2 "try again?",5,2 "Yes" "No" * ======== End of OTHELLO.def ========