summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-04-19 17:56:04 -0400
committerJune McEnroe <june@causal.agency>2021-04-19 17:56:04 -0400
commitf96cea45d8e57fc6aea6efefc43e9bee57fdfae5 (patch)
tree41633a729f662280f2431f3d1cc4a8081e0a5d3c
parentForce UTF-8 locale and add to chroot, link to cursesw (diff)
downloadplay-f96cea45d8e57fc6aea6efefc43e9bee57fdfae5.tar.gz
play-f96cea45d8e57fc6aea6efefc43e9bee57fdfae5.zip
Only use cells for moveColumn
So long as the move queuer doesn't use empty tableau stacks correctly,
it shouldn't use them at all. This way it's easier to do the correct
moves manually.
-rw-r--r--freecell.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/freecell.c b/freecell.c
index 0334edc..45aff26 100644
--- a/freecell.c
+++ b/freecell.c
@@ -171,10 +171,9 @@ static void moveSingle(uint dst, uint src) {
 	enq(dst, src);
 }
 
-static uint freeCells(uint cells[static Stacks], uint dst) {
+static uint freeCells(uint cells[static 4]) {
 	uint len = 0;
-	for (uint i = Cell; i < Stacks; ++i) {
-		if (i == dst) continue;
+	for (uint i = Cell; i < Tableau; ++i) {
 		if (!stacks[i].len) cells[len++] = i;
 	}
 	return len;
@@ -193,8 +192,8 @@ static uint moveDepth(uint src) {
 
 static void moveColumn(uint dst, uint src) {
 	uint depth;
-	uint cells[Stacks];
-	uint free = freeCells(cells, dst);
+	uint cells[4];
+	uint free = freeCells(cells);
 	for (depth = moveDepth(src); depth; --depth) {
 		if (free < depth-1) continue;
 		if (valid(dst, stacks[src].cards[stacks[src].len-depth])) break;
eco' href='/exman/tag/?h=2062.52'>2062.52June McEnroe 2021-08-26Support DESTDIR in install/uninstallJune McEnroe 2021-08-26Add version number generatorJune McEnroe 2021-08-22Add ISC license headerJune McEnroe 2021-08-22Update to Linux man-pages 5.12Štěpán Němec 2021-06-21Add manuals for macOS 11.3June McEnroe 2021-05-08Update to OpenBSD 6.9June McEnroe 2021-04-26Update to Linux man-pages 5.11June McEnroe 2021-04-26Update to FreeBSD 13.0June McEnroe 2021-01-27Completely rewrite how manuals are fetched and installedJune McEnroe Also add section 6 manuals from NetBSD and OpenBSD! 2020-12-14Update to man-pages-posix 2017-aJune McEnroe 2020-12-14Update to OpenBSD 6.8June McEnroe 2020-12-14Update to NetBSD 9.1June McEnroe 2020-12-14Update to man-pages 5.09June McEnroe 2020-12-14Update to FreeBSD 12.2June McEnroe 2020-06-08Update to OpenBSD 6.7June McEnroe 2020-05-04Add hack for macOS to search extra man sectionsJune McEnroe 2020-05-04Don't clear MANSECTJune McEnroe