NashFP repo for competing in the 2021 ICFP Programming Contest
Contest site here: https://icfpcontest2021.github.io/
Introduction After cleaning up bit rot in underground mines and communicating with aliens, an era of peace and leisure has arrived in Lambda land. This has lead to a number of TV game shows really taking off. One of these is Brain Wall, a contest originating in Japan. Many local versions of this have aired across the globe and it is sometimes better known as Human Tetris or Hole in the Wall.
An automated system moves a styrofoam wall towards the player. This wall has a hole cut out, and the goal of the game is to assume a position with your body that allows you to fit through the hole in the wall. But just fitting through the hole is not enough: in our variation, fully automated judges will count the number of dislikes, which the participants try to minimize. More background information about Brain Wall can be found on the wikipedia page. You can also watch some samples of the TV show on youtube.
Problem definition The goal is to assume a pose with a given figure so that it fits into the given hole, while scoring as many points as possible. The figure and hole are both located on a two-dimensional grid. They both consist of line segments that all start and end at a point with integer X and Y coordinates. Figure 2: The “Lambdaman” problem A hole is always a simple polygon: this means the line segments of the hole will not intersect, and there will be no further holes within the hole. A figure consists of line segments that may connect to other line segments at the start and end points. Assuming a pose works by moving the start and end points of line segments into a new configuration. This is of course not without constraints, since our stick figures cannot break the laws of physics!
Topic | NashFP ICFP 2021 |
---|---|
Time | Friday, July 9, 2021 07:00 AM CDT - Sunday, July 11, 2021 Midnight |
Join Zoom Meeting | https://us02web.zoom.us/j/84127934108?pwd=anZzUVZnMURLTU1IZUd0SHkzOXR5QT09 |
Meeting ID | 841 2793 4108 |
Passcode | 141176 |
export AUTH_HEADER="Authorization: Bearer $(<api-key)"
export API_ENDPOINT="https://poses.live/api/problems"
for n in {1..59} # Change this range
do
curl "$API_ENDPOINT/$n" -H $AUTH_HEADER -o problems/$n.json
done
python3 -m http.server
Then in your browser go to http://localhost:8000/visualizer.html