connect-four-ai's Introduction
connect-four-ai's People
connect-four-ai's Issues
Set up testing framework
Use heuristic to explore good moves first
Background research on minimax implementations
implement alpha-beta pruning
The linter lints the lib/ folder if files from it are included
Force shutdown of ncurses in all circumstances
When an exception is thrown, make sure to call shutDownScreen(); from renderer.cpp before throwing the exception
Block opponent wins, and don't consider moves that allow our opponent to win
Create visual representation of Connect Four board
Not an intelligent rendering of an existing board - just hard-coding a board rendering. Trying to get a good understanding of ncurses
library.
Background research on minimax graph theory connections
Background research on connect 4 combinatorics
take advantage of duplicate board states in minimax
- literal duplicates
- mirrors
- color mirrors
Setup makefile
Potentially decide if we should use cmake
Add travis button
Create a test for a brute-force minimax implementation
Success criteria:
instantiate a near-complete board
create a dummy function
test the dummy function
Add code that creates failure on certain branches to master
33: Create user interface
Allow user to play with computer
Allow computer to play with itself
Allow user to play with another user
Allow user to query computer for best possible move
Use iterative deepening
cache positions we've seen before
setup travis
make AI return optimal move as well as its score
Make connect four board wrap around
Create data structure for Connect Four board
A class that:
- Stores game state
- Has a function that checks if a given game state results in a player winning
- Has a function that makes moves, checks for move validity
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.