From 2e8d5b709dd5d651f9e1d67891fb18f01d6be07f Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Fri, 10 Feb 2023 00:47:15 +0300 Subject: [PATCH] Add prelude/chess --- README.md | 30 ++++++++++++++++-------------- play | 1 + prelude/chess/chess.gif | Bin 0 -> 73191 bytes prelude/chess/chess.hs | 11 +++++++++++ 4 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 prelude/chess/chess.gif create mode 100755 prelude/chess/chess.hs diff --git a/README.md b/README.md index 9fcca4b..7326b71 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ Compete in any or all of these categories:
guess1

(sm)
pure-doors

(tristanC)
fifteen

(bradrn) +
chess

(fizruk) ## base (gam-10-80-hs-base) @@ -110,20 +111,21 @@ Most games will return here on exit (others will require CTRL-c). 1) prelude/guess1/guess1.hs 2) prelude/pure-doors/pure-doors.hs 3) prelude/fifteen/fifteen.hs - 4) base/timing/timing.hs - 5) base/shoot/shoot.hs - 6) base/log2048/log2048.hs - 7) base/rhythm/rhythm.hs - 8) hackage/guess2/guess2.hs - 9) hackage/wordle/wordle.hs -10) hackage/ski/ski.hs -11) hackage/guesscolor/guesscolor.hs -12) hackage/bulls-n-cows/bulls-n-cows.hs -13) hackage/hallway-to-hell/hallway-to-hell.hs -14) hackage/1234-hero/1234-hero.hs -15) hackage/crappy-flappy/crappy-flappy.hs -16) hackage/pong/pong.hs -17) Quit + 4) prelude/chess/chess.hs + 5) base/timing/timing.hs + 6) base/shoot/shoot.hs + 7) base/log2048/log2048.hs + 8) base/rhythm/rhythm.hs + 9) hackage/guess2/guess2.hs +10) hackage/wordle/wordle.hs +11) hackage/ski/ski.hs +12) hackage/guesscolor/guesscolor.hs +13) hackage/bulls-n-cows/bulls-n-cows.hs +14) hackage/hallway-to-hell/hallway-to-hell.hs +15) hackage/1234-hero/1234-hero.hs +16) hackage/crappy-flappy/crappy-flappy.hs +17) hackage/pong/pong.hs +18) Quit ** Enter a number to select, or press enter to see the list again: ``` If you don't have bash, cd into each game's directory and try running the game's .hs file. diff --git a/play b/play index a5d9c74..39fc35e 100755 --- a/play +++ b/play @@ -11,6 +11,7 @@ GAMES=( prelude/guess1/guess1.hs prelude/pure-doors/pure-doors.hs prelude/fifteen/fifteen.hs +prelude/chess/chess.hs base/timing/timing.hs base/shoot/shoot.hs base/log2048/log2048.hs diff --git a/prelude/chess/chess.gif b/prelude/chess/chess.gif new file mode 100644 index 0000000000000000000000000000000000000000..a888af0d3331e99844ebdc8a6b5e1212aa7646c9 GIT binary patch literal 73191 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 literal 0 HcmV?d00001 diff --git a/prelude/chess/chess.hs b/prelude/chess/chess.hs new file mode 100755 index 0000000..547a19f --- /dev/null +++ b/prelude/chess/chess.hs @@ -0,0 +1,11 @@ +#!/usr/bin/env stack +-- stack script --resolver=lts-20.10 +at [c,r] f = fmap reverse.traverse (\(j,row) -> traverse (\(i,p) -> if [i,j]==[c + ,r] then f p else pure p) (zip ['a'..] row)) . zip ['1'..].reverse +([fc,fr]>-[tc,tr])b=(head.at[fc,fr](pure.const '⋅').head.at + [tc,tr](pure.const(head(fst(at[fc,fr](flip(,)' '.pure) b)))))b +num b = l:h:(reverse.zipWith(\r s->(r:'|':s)++['|',r])['1'..].reverse)b++[h,l] + where l=" "++(fst<$>zip['a'..](head b))++" "; h=const '—'<$>l +run b = (putStrLn.unlines.num)b>>putStr "Enter move (e.g. e2-e4): ">>getLine>>= + \i->case i of {[x,y,'-',u,v]->run (([x,y]>-[u,v]) b); _ -> run b} +main=run$["♜♞♝♛♚♝♞♜","♟♟♟♟♟♟♟♟"]++replicate 4"⋅⋅⋅⋅⋅⋅⋅⋅"++["♙♙♙♙♙♙♙♙","♖♘♗♕♔♗♘♖"]