~~DISCUSSION:off|Backgammon development~~
~~TOC~~
//
//
Data Structures
Backgammon
A Collaboration of Sorts
Wiki Page for the DATA class. Please Enhance.
For those unfamiliar, here is a page on [[wiki:syntax|wiki editing syntax]] that can be used here.
=====Backgammon Project=====
=== Do not rename directories, this results in broken code and mass confusion! ===
====Description====
"The other side of the Checker board"
====Rules====
Check out the [[http://lab46.corning-cc.edu/notes/data/rules|rules to backgammon]].
====TODO====
The following is a list of items that have been identified needing some attention. Many others likely exist. If you successfully address an item on this list, please remove it. If you identify an item that needs attention and you do not fix it, please add it to this list so someone else has a chance to address it.
* wiki page - queue class information needs to be completed
* All functions that return a bool for status should initially initialize status to false, and must change status to true following a successful operation. This is mostly true I found that there are a couple of case where this is not nessaraly true but that the status of the operation can change from one to the othere with in the function.
* bintree needs to be adapted to use tnode (bintree class manages a tree of tnodes)
* value, left/right, get/set are properties/functions of tnode
* insert/search/remove/show are functions of bintree
* plain ASCII playing board class should also be considered
==== Directory Tree ====
^ Directory ^ File ^ Description ^ API Location |
|./ |. | Base of Backgammon project source tree | |
|./ |CLASS-REFERENCE | Outline of our class implementations | |
|./ |main.cc | main() for Backgammon, choosing the GUI or quiting the program | |
|./ |Makefile | Makefile for automated building | |
|./ |README | Contains todo list and other important information | |
| ||||
|./bintree |. | directory containing all bintree based files | [[http://lab46.corning-cc.edu/notes/data/bintree|BinTree API]] |
|./bintree |Makefile | Makefile for automated building | |
|./bintree |README | BinNode api's | |
|./bintree |accessor.cc | Access methods (get/set) | |
|./bintree |create.cc | Constructor methods for the bintree class | |
|./bintree |destory.cc | file for the deleting the bintree | |
|./bintree |searchTree.cc | Find a given value | |
|./bintree |showTree.cc | various functions for showing the tree | |
| ||||
|./board |. | directory containing all board based files | [[http://lab46.corning-cc.edu/notes/data/board|Board API]] |
|./board |Makefile | Makefile for automated building | |
|./board |board.cc | functions for creating and using the graphical game board | |
|./board |cmp_move.cc | functions for computer movement of game piece | |
|./board |plr_move.cc | functions for player movement of game piece | |
|./board |menu2.cc | | |
|./board |err_move.cc | error handling for board movement | |
| ||||
|./bstree | . | directory containing bstree files | [[http://lab46.corning-cc.edu/notes/data/bstree|BSTree API]] |
|./bstree | Makefile | Used for automated building | |
|./bstree | accessor.cc | accessor methods (get/set) for bstree class | |
|./bstree | bstreeops.cc | bstree ops | |
|./bstree | create.cc | bstree class constructor and overloaded constructor | |
|./bstree | destroy.cc| bstree class deconstructor | |
| ||||
|./bstree/rbstree|. | | [[http://lab46.corning-cc.edu/notes/data/rbstree|RBSTree API]] |
|./bstree/rbstree|Makefile | Makefile for automated building | |
|./bstree/rbstree|create.cc | rbstree class constructor | |
|./bstree/rbstree|destroy.cc | rbstree class deconstructor | |
|./bstree/rbstree|rbstreeops.cc | rbstree ops | |
| |||
|./bstree/sbstree|. | | [[http://lab46.corning-cc.edu/notes/data/sbstree|SBSTree API]] |
|./bstree/sbstree|Makefile | Makefile for automated building | |
|./bstree/sbstree|create.cc | sbstree class constructor | |
|./bstree/sbstree|destroy.cc | sbstree class deconstructor | |
|./bstree/sbstree|sbstreeops.cc | sbstree ops | |
| ||||
|./die |. | Directory containing die class files | [[http://lab46.corning-cc.edu/notes/data/die|Die API]] |
|./die |Makefile | Makefile for automated building | |
|./die |accessor.cc | accessor methods (get/set) for Die class | |
|./die |create.cc | Die class constructor and overloaded constructors | |
|./die |destroy.cc | Die class deconstructor | |
|./die |dieops.cc | Die class operations (roll, genSeed) | |
| ||||
|./die/dice_management |. |Directory containing the dice management files | [[http://lab46.corning-cc.edu/notes/data/dice_management|Dice_Management API]] |
|./die/dice_management | Makefile | Makefile for automated building | |
|./die/dice_management | create.cc | Dice_management class constructor | |
|./die/dice_management | destroy.cc | Dice_management class deconstructor | |
|./die/dice_management | dice_roll.cc | contain function for testing the role of the dice | |
| ||||
|./include |. | directory containing include files for Backgammon project | |
|./include |backgammon.h | common game declarations | |
|./include |bintree.h | class declaration for bintree class | |
|./include |board.h | declarations for the graphical game board | |
|./include |bstree.h | declarations for the bstree class | |
|./include |die.h | class declaration for die class | |
|./include |dice_management.h | class declaration for dice management class | |
|./include |game_piece.h | declaration for piece class | |
|./include |list.h | class declaration for List class | |
|./include |lnode.h | class declaration for List Node class | |
|./include |node.h | class declaration for Node class | |
|./include |queue.h | class declaration for Queue class | |
|./include |recursionBinTree.h | declaration for | |
|./include |sbstree.h | declaration for | |
|./include |stack.h | class declaration for Stack class | |
|./include |tnode.h | class declaration for Tree Node class | |
| ||||
|./lib |. | directory containing static libraries of our implemented data structures | |
|./lib |liblist.a | list static library | |
|./lib |liblnode.a | lnode static library | |
|./lib |libnode.a | node static library | |
|./lib |libstack.a | stack static library | |
|./lib |libtnode.a | tnode static library | |
| ||||
|./list |. | directory containing all list based files. (Remove, Search, etc.) | [[http://lab46.corning-cc.edu/notes/data/list|List API]] |
|./list |append.cc | List Class append functions | |
|./list |create.cc | List Class constructor and overloaded constructor | |
|./list |destroy.cc | List Class deconstructor | |
|./list |insert.cc | List class insert functions | |
|./list |listops.cc | List operations of search, remove and getqty | |
|./list |Makefile | Makefile for automated building | |
| ||||
|./node |. | directory containing implementation of the Node class | [[http://lab46.corning-cc.edu/notes/data/node|Node API]] |
|./node |accessor.cc | accessor methods (get/set) for Node class | |
|./node |create.cc | constructors for the Node class | |
|./node |destroy.cc | destructor for the Node class | |
|./node |Makefile | Makefile to build the node library (libnode.a) | |
| ||||
|./node/lnode |. | directory containing all list node based files | [[http://lab46.corning-cc.edu/notes/data/lnode|LNode API]] |
|./node/lnode |accessor.cc | accessors method for list node class | |
|./node/lnode |create.cc | constructors for the list Node class | |
|./node/lnode |destroy.cc | destructor for the list Node class | |
|./node/lnode |lnodeops.cc | | |
|./node/lnode |Makefile | Makefile for automated building | |
| ||||
|./node/tnode |. | directory containing all tree node based files | [[http://lab46.corning-cc.edu/notes/data/tnode|TNode API]] |
|./node/tnode |accessor.cc | accessor methods for Tree Node class | |
|./node/tnode |create.cc | constructor methods for Tree Node class | |
|./node/tnode |destroy.cc | deconstructor methods for Tree Node class | |
|./node/tnode |tnodeops.cc | | |
|./node/tnode |Makefile | Makefile for automated building | |
| ||||
|./menu |. | directory containing all of the menu files | [[http://lab46.corning-cc.edu/notes/data/menu|Menu API]] |
|./menu |menu.cc | menu print out with options available | |
|./menu |menu2.cc | menu with an graphical interface | |
|./menu |README | file of great importance for installing and running this program | |
| ||||
|./piece |. |Directory containing the piece file | [[http://lab46.corning-cc.edu/notes/data/piece|Piece API]] |
|./piece |accessor.cc | accessor methods (get/set) for Piece class | |
|./piece |create.cc | Piece Class constructor and overloaded constructor | |
|./piece |destroy.cc | Piece Class deconstructor | |
|./piece |Makefile | Makefile for automated building | |
| ||||
|./queue |. |directory containing all queue based files | [[http://lab46.corning-cc.edu/notes/data/queue|Queue API]] |
|./queue |create.cc |Queue Class Constructors and Destructor | |
|./queue |destroy.cc |Destructor for queue class | |
|./queue |queueops.cc |Queue Class enqueue, dequeue operation functions | |
|./queue |Makefile |Makefile for automated building | |
| ||||
|./recursionBin |. |directory containing implementation of the recursion bin Class | [[http://lab46.corning-cc.edu/notes/data/recursionbin|RecursionBin API]] |
|./recursionBin |Makefile | Makefile for automated building | |
|./recursionBin |create.cc | recursionbin class constructor | |
| ||||
|./stack |. |directory containing implementation of the Stack Class | [[http://lab46.corning-cc.edu/notes/data/stack|Stack API]] |
|./stack |accessor.cc |Accessor functions for Stack class | |
|./stack |create.cc |Constructors for Stack class | |
|./stack |destroy.cc |Deconstructor for the stack class | |
|./stack |stackops.cc |Push, Pop, and Peek functions for Stack Class | |
|./stack |Makefile |Makefile for automated building | |
| ||||
|./testing |. | sample applications testing particular classes and game components | |
|./testing |Makefile | custom Makefile to build testing applications | |
|./testing |dicetest.cc | Dice Class demonstration code | |
|./testing |listtest.cc | List Class demonstration code | |
|./testing |lnodetest.cc | LNode Class demonstration code | |
|./testing |nodetest.cc | Node Class demonstration code | |
|./testing |queuetest.cc | Queu Class demonstration code | |
|./testing |stacktest.cc | Stack Class demonstration code | |
|./testing |treelist.cc | Tree list Class demonstration code | |
|./testing |treetest.cc | Tree Class demonstration code (this would be a good place to test *all* tree classes) | |
=====Resources=====
[[http://www.faqs.org/docs/Linux-HOWTO/NCURSES-Programming-HOWTO.html|How to use ncurses]]\\
[[http://en.wikipedia.org/wiki/Make_%28software%29|How to use Makefiles]]\\
[[http://en.wikipedia.org/wiki/Application_programming_interface|API's in work]]
----
=====Headers====
[[http://www.opengroup.org/onlinepubs/007908799/xsh/unistd.h.html|unistd.h]]