Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aflaxman/cf133640f44cc573c81cc3ba4f61488d to your computer and use it in GitHub Desktop.
Save aflaxman/cf133640f44cc573c81cc3ba4f61488d to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np, matplotlib.pyplot as plt, seaborn as sns\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"locs = {}\n",
"for i in range(1, 10):\n",
" locs[i] = [i,0]"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"colors = sns.color_palette()"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[0, 10, -3, 1]"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x2b08b7c90a90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def wins(S):\n",
" \"\"\"find all ways set S could be completed to 15\"\"\"\n",
" T = []\n",
" for i in S:\n",
" for j in S:\n",
" if i <= j:\n",
" continue\n",
" k = 15 - i - j\n",
" if 0 < k < 10:\n",
" T.append(k)\n",
" return T\n",
"\n",
"def plot_state(locs, A, B):\n",
" \"\"\" Plot state of play, using locations from locs\n",
" and sequence of plays from A and B\"\"\"\n",
" #fig = plt.figure()\n",
" for i in locs.keys():\n",
" plt.text(locs[i][0], locs[i][1], str(i), #font='serif',\n",
" fontsize=12, ha='center', va='center')\n",
" \n",
" A_wins = wins(A)\n",
" B_wins = wins(B)\n",
" \n",
" for i in A:\n",
" # draw X\n",
" plt.text(locs[i][0], locs[i][1], 'X', color=colors[0],\n",
" fontsize=24, ha='center', va='center')\n",
" plt.text(1, -1, 'X has:', ha='right', va='top')\n",
" plt.text(1.1, -1, ', '.join(str(i) for i in A), ha='left', va='top')\n",
" \n",
" plt.text(1, -1, '\\nwins with:', ha='right', va='top')\n",
" plt.text(1.1, -1, '\\n' + ', '.join(str(i) for i in A_wins), ha='left', va='top')\n",
" for i in B:\n",
" # draw O\n",
" plt.text(locs[i][0], locs[i][1], 'O', color=colors[1],\n",
" fontsize=24, ha='center', va='center')\n",
" plt.text(1, -1, '\\n\\n\\nO has:', ha='right', va='top')\n",
" plt.text(1.1, -1, '\\n\\n\\n' + ', '.join(str(i) for i in B), ha='left', va='top')\n",
" \n",
" plt.text(1, -1, '\\n\\n\\n\\nwins with:', ha='right', va='top')\n",
" plt.text(1.1, -1, '\\n\\n\\n\\n' + ', '.join(str(i) for i in B_wins), ha='left', va='top')\n",
" \n",
" plt.axis('off')\n",
"plot_state(locs, [1, 9], [2])\n",
"plt.axis([0,10,-3,1])"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x2b08b7ba7d68>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# # import numpy as np\n",
"# # import matplotlib\n",
"# # matplotlib.use(\"Agg\")\n",
"\n",
"\n",
"# import matplotlib.pyplot as plt\n",
"# import matplotlib.animation as manimation\n",
"# #manimation.writers.list()\n",
"# MyWriter = manimation.writers['imagemagick']\n",
"# metadata = dict(title='Movie Test', artist='Matplotlib',\n",
"# comment='Movie support!')\n",
"# writer = MyWriter(fps=15, metadata=metadata)\n",
"\n",
"# fig = plt.figure()\n",
"# l, = plt.plot([], [], 'k-o')\n",
"\n",
"# plt.xlim(-5, 5)\n",
"# plt.ylim(-5, 5)\n",
"\n",
"# x0, y0 = 0, 0\n",
"\n",
"# with writer.saving(fig, \"animation.gif\", 100):\n",
"# for i in range(100):\n",
"# x0 += 0.1 * np.random.randn()\n",
"# y0 += 0.1 * np.random.randn()\n",
"# l.set_data(x0, y0)\n",
"# writer.grab_frame()"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nWqmtlvbWzYCpwEqE/9QXARcAF2ZTmTdLjh0NHACcD3woPn4J8JVsKlPak31QRFG0LfBAvLldPp8v\nXQdi0DS15f4K7BZvPgRs15Fu7vFCbWrLrUy4kY4nJBM/60g3H1eN2Ibye6j3a0JEGpeSgzrS0t46\nidCEsDZdbcWLgfsJw9sWAmsBOxBuGAXvAgdlU5kbqhXbUN0Um9pyhwBXx5sLga070s2lawR0d95+\nhLZ6gE5gcke6+YFeTumXoUwOoL6vCRFpXEoO6kxLe+vqhPbiI+iaY790/vzif7RbgZOyqcwTVNFQ\n3BSb2nLjCTUAKxM+47kd6eYzKzj/BmCfePNJYIuOdPPiXk6p2FAnB1C/14SINC6tylhnsqnM68Ax\nLe2tPyLc6PYgDGNcgzB17ixgBnAHkMumMo/0VNZS6FLC02+ecHM/t8LzjwF2jsvYhLBA0dmDGF9N\nDPNrQkRqQDUHUpZaPDHXI30PIjIcaLSCiIiIJCg5EBERkQQlByIiIpKg5EBEREQSlByIiIhIgpID\nERERSVByICIiIglKDkRERCRByYGIiIgkKDkQERGRBCUHIiIikqCFl6RcTwFvFb0ervQ9iEjD08JL\nUrYoilYCyOfzc2odSy3pexCRRqfkQERERBLU50BEREQSlByIiIhIgpIDERERSVByICIiIglKDkRE\nRCRByYGIiIgkKDkQERGRBCUHIiIikqDkQERERBKUHIiIiEiCkgMRERFJUHIgIiIiCUoOREREJEHJ\ngYiIiCQoORAREZEEJQciIiKSoORAREREEpQciIiISIKSAxEREUlQciAiIiIJSg5EREQkQcmBiIiI\nJCg5EBERkQQlByIiIpKg5EBEREQSlByIiIhIgpIDERERSVByICIiIglKDkRERCRByYGIiIgkKDkQ\nERGRBCUHIiIikqDkQERERBKUHIiIiEiCkgMRERFJUHIgIiIiCUoOREREJEHJgYiIiCQoORAREZEE\nJQciIiKSoORAREREEpQciIiISIKSAxEREUlQciAiIiIJSg5EREQkQcmBiIiIJCg5EBERkQQlByIi\nIpKg5EBEREQSlByIiIhIgpIDERERSVByICIiIglKDkRERCRByYGIiIgkKDkQERGRBCUHIiIikqDk\nQERERBKUHIiIiEiCkgMRERFJUHIgIiIiCUoOREREJEHJgYiIiCQoORAREZEEJQciIiKSoORgAMzs\n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\n00qhnOfN7Iwezi8csyKhJqbb5MTMdjKzTjOrpLniA5NGmdk1ZnZHL+csIiSX9xGGwx5JmEjpnJJy\nOs2styGJywLnEhKvPxL+LSe7+9wK4hcRWSpoVcZhxMyuAZa4++EDKGM54A1g94Es2xx3dDwVmDSQ\nZZvNbAphCenvDaCM9QlNRJP66OQqIjIs1G2zglTFToTRFgOxC+Fm3O/EILYHcNoAE4MVCcMv9xpg\nLHsCVygxEBEJVHMgIiIiCfXe50BERESGmJIDERERSVByICIiIglKDkRERCRByYGIiIgkKDkQERGR\nBCUHIiIikqDkQERERBKUHIiIiEiCkgMRERFJUHIgIiIiCUoOREREJEHJgYiIiCQoORAREZEEJQci\nIiKSoORAREREEpQciIiISIKSAxEREUlQciAiIiIJSg5EREQkQcmBiIiIJCg5EBERkQQlByIiIpKg\n5EBEREQSlByIiIhIgpIDERERSVByICIiIglKDkRERCRByYGIiIgkKDkQERGRBCUHIiIikqDkQERE\nRBKUHIiIiEiCkgMRERFJUHIgIiIiCUoOREREJEHJgYiIiCQoORAREZEEJQciIiKSoORAREREEpQc\niIiISIKSAxEREUlQciAiIiIJ/w9n2UJd6+FtuAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x2b08d98cfda0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"locs = {2: [1,1], 7: [2,1], 6: [3,1],\n",
" 9: [1,2], 5: [2,2], 1: [3,2],\n",
" 4: [1,3], 3: [2,3], 8: [3,3]}\n",
"\n",
"plot_state(locs, [1, 9, 8, 7], [2, 5, 6, 4])\n",
"def plot_board():\n",
" plt.plot([.5,3.5], [1.5,1.5], 'k-')\n",
" plt.plot([.5,3.5], [2.5,2.5], 'k-')\n",
" plt.plot([1.5,1.5], [.5,3.5], 'k-')\n",
" plt.plot([2.5,2.5], [.5,3.5], 'k-')\n",
" plt.axis([0,7,-3,4])\n",
"\n",
"plot_board()"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhkAAAFoCAYAAAD6jOlyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3XmcW1X5x/FPurGUHWSRVaQ8igqyKoRdBQHrBaOtCwoI\nLkVEoYCgsisqOqCIFAUUAZUWgoSCyD5QAgI/UJACB2RfChRogdLSNb8/nhvmNiQzyWTuZDLzfb9e\n85os5548uZO598m5Z8mUSiVERERE+tqwVgcgIiIig5OSDBEREUmFkgwRERFJhZIMERERSYWSDBER\nEUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERER\nSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJ\nhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmF\nkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWS\nDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIM\nERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwR\nERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBER\nEUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERER\nSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJhZIMERERSYWSDBEREUmFkgwRERFJ\nxYhWBzCUjJ1Y+DVweHx3BvDBqR3RG73cdrOpHdHrfR9lfcZNnrABEAF7Ae8H1gJGAS8BzwM3AVOn\njJ/0f62KcbBp533errG3S9ztemxp17hrvH7bxN6fMqVSqdUxDBljJxaWBx4ENowf+uPUjugbdWy3\nPTANyMQP7Te1I7oqnSi7N27yhNWBk4Fv0pWkVn6IMonb1wFHTRk/aXo/hDcotfM+b9fY2y3udj22\n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\nsoX8g/GJsDx0srtWj1Z7k659OBLvkFXZ3F7ezy8D38gW8k1/i8gW8m8Uo9zlwP7A2sUot3O2kL+t\nh83Kca6OH8xqPT8X+Em2kP9FlTL9od+b3LOF/KxilNsduBBfxwV8afOtE8XK++ca4KvZQr6e4a4y\nOK3A0n0cqlmfpRfgg+7XlSp/vkbhawtVtjomj9fX4seSevtifSFx+491bjPoKMnoQ9lC/hV8Xvtf\n4B3VPo1fElkTPxnOxBfbuRkoZAv5e1MOqROfFbN8Arm9h97NtwKfi283kmTU04u80Z7mpYrf78gW\n8p8tRrmP4nNgfAz/trsefqlqPr6fH8DXA/lrH5+Yfo0nGeB9aLpLMnbEW662xw9ea+HJxsp4UlFu\n3egELm7hN52a+zpt2UL+ReDTxSi3N/AVvPWivCLrDGAacEm2kO/s79hiA3WERMv+Zi3Wm/dba5vT\n8f+9HYCP45NrrR7/lPAWjceAO4C/ZQv5epZEAN7p7/HFuJ7HsoX8P3oR96CQKZWG2mdUpDnFKHcd\n/s37bbxnf687lIrI4FOMchPwGVxLeOvHkG3JUMdPkcYdH/9eBvh+KwMRkYElHi02Mb77P/xy4JCl\nJEOkQdlC/m586fEMcGi9Q2pFZEjYH9gYb8X4wVCcgCtJSYZI7xyFd6Rdka6WDREZwopRbhRdEyze\nkC3k61lheFBTnwwRERFJhVoyREREJBVKMkRERCQVSjJEREQkFUoyREREJBVKMkRERCQVSjJEREQk\nFUoyREREJBVKMkRERCQVSjJEREQkFUoyREREJBVKMkRERCQVSjJEREQkFUoyREREJBVKMkRERCQV\nSjJEREQkFUoyREREJBVKMkRERCQVSjJEREQkFUoyREREJBVKMkRERCQVSjJEREQkFUoyREREJBVK\nMkRERCQVSjJEREQkFUoyREREJBVKMkRERCQVSjJEREQkFUoyREREJBVKMkRERCQVSjJEREQkFUoy\nREREJBVKMkRERCQVSjJEREQkFUoyREREJBVKMnpgZk+a2eGtjkNERKTdjGh1AP3BzIYB04AXQwi5\nxOMrAQ8Cfw4hHN+q+OphZjsBRwNbA+sA+4YQrupFPVsBPwe2BRYBVwBHhhDearCer8TxjAFeB64F\njg4hvNZAHUuAEpCpeOroEEJHI/GIiMjAMyRaMkIIS4ADgT3N7EuJp84GXgVObkVcDRoN/Ac4FD8x\n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\ne9yh9Fhgs2aWezezTnzp+VObqON9+GWvzXroSCwiIn2o1aNLpG/tgo+MacZu+Em91wlG7NPAcU0m\nGCvhw273bjKWvYA/KMEQEelfaskQERGRVAyEPhkiIiIyCCnJEBERkVQoyRAREZFUKMkQERGRVCjJ\nEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQ\nERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAR\nEZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBER\nkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGR\nVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFU\nKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQo\nyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJ\nEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQ\nERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAR\nEZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBER\nkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGR\nVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFU\nKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVCjJEBERkVQoyRAREZFUKMkQERGRVPw/XwBvy0em\nOMIAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x2b08d989be80>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"locs = {}\n",
"for i in range(1, 10):\n",
" locs[i] = [i,0]\n",
"\n",
"fig = plt.figure()\n",
"A = [1, 9, 8, 7]\n",
"B = [2, 5, 6, 4]\n",
"\n",
"plt.axis([0,10,-3,1])\n",
"\n",
"import matplotlib.animation as manimation\n",
"# #manimation.writers.list()\n",
"MyWriter = manimation.writers['imagemagick']\n",
"# metadata = dict(title='Movie Test', artist='Matplotlib',\n",
"# comment='Movie support!')\n",
"writer = MyWriter(fps=.3)\n",
"with writer.saving(fig, \"animation.gif\", 100):\n",
" fig.clf()\n",
" plot_state(locs, [], [])\n",
" plt.axis([0,10,-3,1])\n",
" writer.grab_frame()\n",
"\n",
" for i in range(len(A)):\n",
" fig.clf()\n",
" plot_state(locs, A[:(i+1)], B[:i])\n",
" plt.axis([0,10,-3,1])\n",
" writer.grab_frame()\n",
" \n",
" fig.clf()\n",
" plot_state(locs, A[:(i+1)], B[:(i+1)])\n",
" plt.axis([0,10,-3,1])\n",
" writer.grab_frame()\n",
" \n",
" plt.text(.5, -.5, 'O wins (5 + 6 + 4 = 15)', color=colors[2], fontsize=24)\n",
" writer.grab_frame()\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgcAAAFoCAYAAADD61gpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XecHHX9x/HXpFESQujB0NsXAoJ0YUMVpHkOunIHgoA0\nPUAUDrBSRRT0QJEfRxFBReUWFxmOXkNZQJqKBPgiJTQDhJKEkJCEZH5/fGfZ2eXK7t3uzt7d+/l4\n3GN3Zr/zve/uze185lu9MAwRERERyRuRdAFERESksSg4EBERkSIKDkRERKSIggMREREpouBARERE\niig4EBERkSIKDkRERKSIggMREREpouBAREREiig4EBERkSIKDkRERKSIggMREREpouBAREREiig4\nEBERkSIKDkRERKSIggMREREpouBAREREiig4EBERkSIKDkRERKSIggMREREpouBAREREiig4EBER\nkSIKDkRERKSIggMREREpouBAREREiig4EBERkSIKDkRERKSIggMREREpouBAREREiig4EBERkSIK\nDkRERKSIggMREREpouBAREREiig4EBERkSIKDkRERKSIggMpm+d5y3uet3zS5UiaPgcRGeoUHEhZ\noovhdGD6cL4w6nMQkeFAwYGUa2NgQvSzccJlSZI+BxEZ8hQciIiISBEFByIiIlJEwYGIiIgUUXAg\nIiIiRRQciIiISBEFByIiIlJEwYGIiIgUGZV0AaR7zZ2tawE+sA+wPrAaMAZ4C3gDuBvoyrR0PJ5Y\nIaVmmtqCXwMnRJszgE262v05/Tx2cle7P7v6pRSRoUrBQYNp7mxdCTgLOIbC3yeMJVkLWBvYETit\nubP1duDkTEvHtLoWVGrtR8CXcX/riUA7cHRfBzW1BTsAx1M4Z1oVGIhIpdSs0ECaO1snA/8EjgVG\n4r7gFwEPAn8Gfg/cBsyOXguBvYDHmztbv5pEmaU2utr9ebgA0Yt+jmhqC3bv7ZimtmAM7hzxol3X\ndbX7N9a0oCIyJCk4aBBRYPAAMCnatQg4F5iYaenYJdPScWimpePoTEvHfsCqwGHATFyAMAbINHe2\nHpRA0aVGutr9u4CrYrsub2oLlunlkDMBgwsO3gO+U7vSichQpuCgATR3ti4FdOLm6/eAD4E9Mi0d\np2VaOt4vTZ9p6ViUaem4BtgCeCE6ZgRwWXNn6wb1K7nUwUm4fgMesC4uYPyUprZgS+BkCjVK3+1q\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x2b08b7dfd7f0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"locs = {2: [1,1], 7: [2,1], 6: [3,1],\n",
" 9: [1,2], 5: [2,2], 1: [3,2],\n",
" 4: [1,3], 3: [2,3], 8: [3,3]}\n",
" \n",
"\n",
"fig = plt.figure()\n",
"A = [1, 9, 8, 7]\n",
"B = [2, 5, 6, 4]\n",
"\n",
"plt.axis([0,10,-3,1])\n",
"\n",
"import matplotlib.animation as manimation\n",
"# #manimation.writers.list()\n",
"MyWriter = manimation.writers['imagemagick']\n",
"# metadata = dict(title='Movie Test', artist='Matplotlib',\n",
"# comment='Movie support!')\n",
"writer = MyWriter(fps=1)\n",
"with writer.saving(fig, \"animation2.gif\", 100):\n",
" fig.clf()\n",
" plot_state(locs, [], [])\n",
" plot_board()\n",
" writer.grab_frame()\n",
" \n",
" for i in range(len(A)):\n",
" fig.clf()\n",
" plot_state(locs, A[:(i+1)], B[:i])\n",
" plot_board()\n",
" writer.grab_frame()\n",
" \n",
" fig.clf()\n",
" plot_state(locs, A[:(i+1)], B[:(i+1)])\n",
" plot_board()\n",
" writer.grab_frame()\n",
" \n",
" plt.text(.5, -.5, 'O wins (5 + 6 + 4 = 15)', color=colors[2], fontsize=24)\n",
" writer.grab_frame()\n",
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [conda env:ceam_env]",
"language": "python",
"name": "conda-env-ceam_env-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment