23 lines
828 B
C
23 lines
828 B
C
// randomly choose from remaining available columns to drop next brick into
|
|
int new_column() {
|
|
totcol_avail = 0;
|
|
for (i = 0; i < 8; i++) {
|
|
for (j = 0; j < 18; j++) {
|
|
if (grid[0][j][i] == 0) { colcnt[i]++;} // count empty spaces in each column
|
|
}
|
|
}
|
|
for (i = 0; i < 8; i++) {
|
|
if (colcnt[i] > 2) {totcol_avail++;} // count total available columns
|
|
}
|
|
if (totcol_avail == 0) {
|
|
printf("game over\n");} else { // no more columns available
|
|
randc = randombytes_uniform(totcol_avail) + 0; // choose random number from available columns
|
|
int avl = -1;
|
|
for (i = 0; randc != avl; i++) { // translate random num from avail column to actual column
|
|
if (colcnt[i] > 2) {avl++;}
|
|
actual_col = i; // might need to move this down to next brace
|
|
}
|
|
}
|
|
return actual_col; // return the random column
|
|
}
|