Anonymous avatar Anonymous committed c7e0b5e

Collapsing works

Comments (0)

Files changed (1)

     return pack;
 }
 
+var DEBUG=0;
 function push_down(row, col) {
-    while (row > NUM_ROWS) {
-        if (cell_color(row +1, col) == BLANK) {
-            cell_color(row +1, col, cell_color(row, col));
-            cell_color(row, col, BLANK);
-            row = row - 1;
-        }
-        else {
-            break;
-        }
+    while ((row < NUM_ROWS - 1) && cell_color(row + 1, col) == BLANK) {
+        cell_color(row + 1, col, cell_color(row, col));
+        cell_color(row, col, BLANK);
+        ++row;
     }
 }
 
 function collapse() {
     for (var col = 0; col < NUM_COLS; ++col) {
-        for (var row = NUM_ROWS - 2; row >= 0; --row) {
-            if (cell_color(row + 1, col) == BLANK) {
-                push_down(row, col);
-            }
+        for (var row = NUM_ROWS - 1; row >= 0; --row) {
+            push_down(row, col);
         }
     }
 }
 
 function on_click(row, col) {
+    if (cell_color(row, col) == BLANK) {
+        return;
+    }
+
     var pack = same_color_pack(row, col);
     if (pack.length < 2) {
         return;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.