robk@brl-adm.ARPA (Robert F. Kinsler ) (03/30/88)
Hi, Anyone out there have a source program for the game othello that runs on sys5 or bsd? If so, my address is robk@vim.brl.mil. Thanks, robk
larry@turing.UNM.EDU (Larry Koch) (03/31/88)
Me too please . . . . Send all appropriate comments, help and remarks to: Larry Koch larry@turing.UNM.EDU University of New Mexico Computer Science (but I am an engineer)
landauer@morocco.Sun.COM (Doug Landauer) (04/01/88)
In article <12703@brl-adm.ARPA>, robk@brl-adm.ARPA (Robert F. Kinsler ) wrote: > Hi, > Anyone out there have a source program for the game othello that runs > on sys5 or bsd? If so, my address is robk@vim.brl.mil. Thanks, > > robk In article <902@unmvax.unm.edu>, larry@turing.UNM.EDU.UUCP (Larry Koch) wrote: > Me too please . . . . OK, guys, you asked for it, here it is. This is the expanded version of the Grand Prize winner of the 1987 Obfuscated C Contest. Here's their description of the winner: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Grand Prize: <botter!rblieva> Roemer B. Lievaart Roemer B. Lievaart VU Informatica Churchilllaan 173-IV Amsterdam, The Netherlands We believe that you too will be amazed at just how much power Mr. Lievaart packed into 1024 bytes! This Plays the game of reversi (Othello)! Compile and run. It then asks for a playing level. Enter 0-10 (easy-hard). It then asks for your move. A move is a number within 11-88, or a 99 to pass. Illegal moves (except for an illegal pass) are rejected. Then the computer does its move (or a 0 to pass), until the board is full. It plays rather good, for such a small program! Lievaart had to leave out the board printing routine, so you'll have to take a real game board to play it. ... Also due to space-limitations (the rules for 1987 had a limit of 1024 byes), Lievaart took out the passing-handler, which makes its ending-game rather poor. But further it knows all the rules, uses alpha-beta pruning, and it plays f.i. on mobility(!). Most important: it can play a pretty good game of Reversi! The Author was kind enough to supply the fully functional version of the program. The file lievaart2.c contains what the program would have been without the size restriction. This version has the full end game logic and displays the board after each move! -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Here is the file lievaart2.c, no fancy shar stuff here: #define D define #D Y return #D R for #D e while #D I printf #D l int #D W if #D C y=v+111;H(x,v)*y++= *x #D H(a,b)R(a=b+11;a<b+89;a++) #D s(a)t=scanf("%d",&a) #D U Z I #D Z I("123\ 45678\n");H(x,V){putchar(".XO"[*x]);W((x-V)%10==8){x+=2;I("%d\n",(x-V)/10-1);}} l V[1600],u,r[]={-1,-11,-10,-9,1,11,10,9},h[]={11,18,81,88},ih[]={22,27,72,77}, bz,lv=60,*x,*y,m,t;S(d,v,f,_,a,b)l*v;{l c=0,*n=v+100,j=d<u-1?a:-9000,w,z,i,g,q= 3-f;W(d>u){R(w=i=0;i<4;i++)w+=(m=v[h[i]])==f?300:m==q?-300:(t=v[ih[i]])==f?-50: t==q?50:0;Y w;}H(z,0){W(E(v,z,f,100)){c++;w= -S(d+1,n,q,0,-b,-j);W(w>j){g=bz=z; j=w;W(w>=b||w>=8003)Y w;}}}W(!c){g=0;W(_){H(x,v)c+= *x==f?1:*x==3-f?-1:0;Y c>0? 8000+c:c-8000;}C;j= -S(d+1,n,q,1,-b,-j);}bz=g;Y d>=u-1?j+(c<<3):j;}main(){R(;t< 1600;t+=100)R(m=0;m<100;m++)V[t+m]=m<11||m>88||(m+1)%10<2?3:0;I("Level:");V[44] =V[55]=1;V[45]=V[54]=2;s(u);e(lv>0){Z do{I("You:");s(m);}e(!E(V,m,2,0)&&m!=99); W(m!=99)lv--;W(lv<15&&u<10)u+=2;U("Wait\n");I("Value:%d\n",S(0,V,1,0,-9000,9000 ));I("move: %d\n",(lv-=E(V,bz,1,0),bz));}}E(v,z,f,o)l*v;{l*j,q=3-f,g=0,i,w,*k=v +z;W(*k==0)R(i=7;i>=0;i--){j=k+(w=r[i]);e(*j==q)j+=w;W(*j==f&&j-w!=k){W(!g){g=1 ;C;}e(j!=k)*((j-=w)+o)=f;}}Y g;} -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Now, if anyone can explain to me what "it plays f.i. on mobility(!)" means, I'd be most grateful. -- Doug Landauer Sun Microsystems, Inc. ARPA Internet: landauer@sun.com Software Products Division UUCP: ...!sun!landauer
apc@cblpe.ATT.COM (Alan Curtis) (04/01/88)
In article <902@unmvax.unm.edu> larry@turing.UNM.EDU.UUCP (Larry Koch) writes: >Me too please . . . . > Send all appropriate comments, help and remarks to: > Larry Koch > larry@turing.UNM.EDU Ok, I want Othello too. How many does it take until it is worth posting? -- Alan P. Curtis | AT&T Bell Labs | apc@cblpe.ATT.COM
srt@maui.cs.ucla.edu (Scott Turner) (04/02/88)
In article <47861@sun.uucp> landauer@sun.UUCP (Doug Landauer) writes: >Now, if anyone can explain to me what "it plays f.i. on mobility(!)" >means, I'd be most grateful. It probably has something to do with the evaluation function. Mobility is a commonly used heuristic in Othello. -- Scott Scott R. Turner UCLA Computer Science "Because I couldn't get into a good school." Domain: srt@cs.ucla.edu
rex@otto.COM (Rex Jolliff) (04/11/88)
Expires: Sender: Followup-To: Distribution: In article <974@cblpe.ATT.COM> apc@cblpe.ATT.COM (55212-Alan Curtis) writes: >In article <902@unmvax.unm.edu> larry@turing.UNM.EDU.UUCP (Larry Koch) writes: >>Me too please . . . . >Ok, I want Othello too. Count me in... -- Rex Jolliff (rex@otto.UUCP, {utah-gr, psivax, ihnp4, rutgers}!otto!rex) The Sun Newspaper - |Disclaimer: The opinions and comments in Nevada's Largest Daily Morning | this article are my own and in no way Newspaper | reflect the opinions of my employers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - What happened to our superior space program?