# Connect Four

## BASIC PYTHON: 4

* Check `__name__` and use of `main()`: 2 point
* Coherent naming (GLOBAL_SYMBOLS + either all `snake_case` or all `camelCase`): 1
* No global symbols except for *constants*: 1

## INPUT/OUTPUT: 9

* Correct open/close (either `with` or a clean `.close()` in *all* possible branches, including except): 2
* Use of `try / except`: 1
* Use of the correct `OSError` exception: 1
* Correct reading of `moves.txt`: 2
* Correct printing of the board: 2
* Perfect output (the empty board in the beginning, all messages exactly as required, etc.): 1

## ALGORITHM: 13

* Fully working representation of the board (list of lists, other): 2
* Correct gravity check (finding the lowest spot in the column): 4
* Correct positioning of the piece: 1
* Check winner (horizontal): 1
* Check winner (vertical): 1
* Check winner (diagonal top-right): 1
* Check winner (diagonal top-left): 1
* Program terminates as soon a player wins: 2
