From 8bf6b7d54b383fa720e4a6db5e5a92b9052c21e7 Mon Sep 17 00:00:00 2001 From: raymoo Date: Fri, 12 Feb 2016 16:48:55 -0800 Subject: [PATCH] README --- README.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..4871cae --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +#Progress Trees + +This is a library to help implement advancement trees, such as talent trees +or research trees. + +API +=== +Functions +--------- +```progress_tree.new_tree()``` - Creates an empty tree +
+```progress_tree.new_player_data(tree[, learned])``` - Creates an instance of +player advancement data in a particular progress tree. The optional argument +is a set of node names to start off with. +
+```progress_tree.deserialize_player_data(tree, learned_string)``` - Deserializes +player data in relation to a particular tree. + +Progress Tree Methods +--------------------- +```add(node_name, parents)``` - Adds a new node with the name node_name. +```parents``` is a list of parent node names, which must already exist in +the tree (or you will get an error). +
+```new_player_data(learned)``` - Method version of progress_tree.new_player_data +
+```deserialize_player_data(learned_string)``` - Method version of +progress_tree.deserialize_player_data + +Player Data Methods +------------------- +```serialize()``` - Serializes the data to a string +
+```knows(node_name)``` - Determines if the player has learned the node +
+```can_learn(node_name)``` - Determines if the player has completed the prerequisites +for the node +
+```learn(node_name)``` - Adds the given node to the known nodes. It can fail and +return false if the node doesn't exist in the tree, or if it has already been +learned, but will return true if nothing goes wrong. It will not fail if not +all prerequisites have been completed, though. \ No newline at end of file