{ "cells": [ { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from matplotlib import cm\n", "import random" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [], "source": [ "#Initialize Playspace, Shark footprint, Striper footprint\n", "nb = [17,11]\n", "sh = [2.5, 2.5]\n", "st = [1, 1]\n", "\n", "#Initialize collections of sharks and stripers\n", "sharks = []\n", "stripers = []\n", "\n", "#create an image multiplier\n", "map_mult = 6\n", "\n", "shark_count = 1\n", "striper_count = 3\n", "striper_reproduction_rate = .5 #number of stripers produced per suviving striper per timestep\n", "\n", "#keep track of rounds\n", "shark_cumulative = []\n", "striper_cumulative = []" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [], "source": [ "#Start with randomly placed sharks and stripers\n", "for n in range(0, striper_count):\n", " stripers.append([random.uniform((st[0]/2), (nb[0] - st[0]/2)), random.uniform((st[1]/2), (nb[1] - st[1]/2))])\n", "\n", "for n in range(0, shark_count):\n", " sharks.append([random.uniform((sh[0]/2), (nb[0] - sh[0]/2)), random.uniform((sh[1]/2), (nb[1] - sh[1]/2))])" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+kAAAKoCAYAAAALTr4CAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xuc5Hdd5/v3B9Oxp2GZuE5IwuIsYUHJrLedcRnjKrsI\nwiJyiXhWmktED3LQjcZRjxFFzJKjh8UjkwdyWfbsUS6BZoNrNgguEQJIuE2WDMJqEhVIGLmNGdAJ\nyWSkY77nj1819DQ9M9093anv1Dyfj0c9kv7Vr6o+/eviEV71u1S11gIAAACM333GPQAAAAAwEOkA\nAADQCZEOAAAAnRDpAAAA0AmRDgAAAJ0Q6QAAANAJkQ4AAACdEOkAAADQCZEOAAAAnRDpAHAMVfWA\nqvr9qjpQVf9QVT877pk2SlXdt6r+S1V9rqruqaqXjnum4xnN+cJxzwEA60WkA7BqVfVto3C9taru\nqqpPV9UfV9VFS9Z7flU9+QRe57yq+vWq2nriU6/Z5Ul+IMlvJHlWkrcfbcVRMC6+3VFVf15Vv1pV\nm+6tgY8y20+PZvrgMVb71SQXJnlFkmcmeX1VnTP6G3z7vTTnLctsx6W3f6iqC0cPaaNbd+7tbQfA\nZKjWuvzvGgCdqqrvSfKuJJ9K8tokn0/yTUm+O8k/a61986J1v5Tkza21n1jjaz01yZuT/JvW2ntP\ndPY1zvC5JH/cWvuxFax7T5I/TvK60aL7Jfm+JM/IsB1+dMMGPf5s70tyTpIHJ3lYa+2Ty6zzwSTz\nrbVHLlq2I8n/TPLs1trrlj5mA+Z8UobttuAJSZ6W5OeSfGHR8g+01m6tqtOT3N1au2ejZ1ute3vb\nATAZThv3AACcdH41yd8l+a7W2pcW31FVW9b5tSrj30v6gCQHV7H+X7bW3rjo5/9cVV+f5Ier6vTW\n2pfXd7zjq6pzk3xPkguS/OcMHxpctsyqD0jy50sfvkEzzbTWDi1d3lp7y5L1zskQ6Ve31vYts/69\nvj1XYUO2HQCTzeHuAKzWQ5L8+dJAT5LW2oGFfx/tVZ5J8uxFhyn/7ui+rVX1yqq6uaoOjc73vrKq\n/umix/9YkitHP75n0WHOi/fyPr6q3js6rPz2qnprVW1byS9RVedW1Zur6gtVdWdVfbCqfnDx649+\nhyS5aOH1V76ZjrA/w4cNdy96/u8d/c6fqqrDVbWvql5aVdOL1lnYdt+xzPy/UlV3jyL2eJ6R5ItJ\n3pbk90c/L36ufz36XR+c5IcWbesfS3L9aPbXLHOoeapqZ1W9var+brQd3zM62mLx8186eux5VfXG\nqvpikutWMPdxLT0nfdFrPayqrhjN9TdV9aLR/d9UVf+9qg7WcO79zy/znKdX1X+oqr9a9Lf5j6O9\n9ovX+4Gquq6q/raqvjR6P//GwjZd5233LaP3y8HR/14uH334A8CEEekArNankuyoqn9+nPWemeTL\nSd47+vdnJnn16L5/meHw+LkkP5PkVUkeneTdiyL1T5K8bPTv/9fo8c9KclOSVNWzkrw1yZeS/FKS\nFyU5L8l1dZxz2KvqAUk+mOFc85cn+ZUkX5/kLfXVc+j/ZPSaleEQ9oXXP57pqvrG0W1rVT09w3ne\nb1hySPb/lmRTklcmuSjDue4/k+EUggW/n+SuLInqkacneVdr7XMrmOnpSf5ba+3uDNv8YaNDsRfc\nOPr9vpDkI/nq7/quJC/MsA1evWj5e5Okqr4/w3a6X5JLkzw/yeYk76qq71r0/AtHQ7w5yfRovf93\nBXOvxcJr/dfRPy9J8qEkv1pVP5fhb/npDO+Zv0ryW1X1vQsPrqpK8odJfj7J1Rn+Nlcl2ZXkTYvW\n2zZabyrJry1afyGyb8r6brsrk5ye5JczfNjys/nq/54AmCStNTc3Nzc3txXfkjwmQ3zPJ3l/khdn\niN3Tlln3S0l+d5nlX7/MskckuSfJMxYte2qSf0jyyCXr3jfDnuFXLVl+ZpK/TfKfjvM77B497/lL\nnvMTST6xZN17krxshdvmntHz3rPk9t+STK1gG1ySYW/7gxYte0OSv16y3r8YPe+zVjDTjtG6j1q0\nbF+Sly6z7i1J3nKUx1+4zPp/keRtS3+v0XZ8+6Jlvz56jtev4f32C6NtuvUY2/yFy7zWKxctu8/o\nd747yS8uWr45yZ2L36MZYnp+8XtjtPy5ozm+e/TzxaOfv2EF2349tt0fLFn35aPX/9bVblM3Nzc3\nt75v9qQDsCqttXcmOT/DXsNvT/J/JrkmyWeq6okrfI6/X/j3qjqtqv5xkk9mONd9+wqe4gcyBNab\nFu21/sYMex33JHnUcR7/+CTXt9a+cqXz1tqdGc7XfvBKD5k/iqszfJDxmCRPSvKbo9ebW7zSkm0w\nM5r/gxmC8l8sWvV1SR5YVYt/p2ckOZTkD1YwzzMyXNzvPYuW/dckTxvtNV6TqvrOJA9LMrfkb/CP\nklyb5JFLHtJy7+35bUn+v6/8MBzB8OEMe7V/d9Hygxli+SGLHvsjGfaC/+WS3+vdo8cv/B3+bvTP\nC1a7Hde47V6xZNnvjOb5wQAwUVw4DoBVa63dkORHquq0JN+R4YJku5K8uaq+s7V287EePzqk/VeS\nPDvJP8lXL7DVMsT38Txs9Jh3Lzdejn+ht3+a4RDopW5adP+NK5hjOZ9urb1r0c9vHZ2D/VtV9YTW\n2tuS4dzoDBdve2KSb1i0/tJt8I4Mkf2MDKcDVIYLqf330QcLR1VV90nyoxm200MWteT1GfZQPzrJ\nO9f0Ww5/g+SrV7Jf6p6q2jwK4QW3rPG11mLpReYOJjncWvviMsv/8aKfH5bk4UluW+Y5W4aL6yXD\nBx3/e4bD9l9cVddm+NDk91trx7vY4Vq23ceXrPOJDHvYH3yc1wLgJCPSAVizNpzjfEOSG6rqr5L8\nXoZzrZe7cvhiL0/yYxkOO/9QhlBqGcJnJUd53We0/jMzXJRtqbuXWTZO12b4UOGRSd42iud3Jjkj\nyf+dYW/unRk+sHhtFm2D1to9VfXGJM+pqp/O8JVuD0xyxQpe9/szfO3a05LMLrmvZQj/tUb6woy/\nkOSjR1nnjiU/37XG11qL5S7yd7QL/y3eE36fJP8rw4dOy+0h/+skaa0dTvLI0REOT0jybzN8IHJt\nVT32OKG+lm231Li/9QCADSLSAVgvHx79c/HVxo8WEk9N8prW2i8tLBhdqfqMJesd7fGfyBBQty3Z\na71Sn0ryLcssP2/R/etp4b+3C9///W0Z9qY+q7X2hoWVquoxR3n86zJcmOyJGQ5v/psMF0A7noUP\nMX46XxucT81wqPbzFh96v4xj/Q2S5Etr/Bv06hNJvr21ttxRGl9jtN67k/xiVT0/w0UOH5Xhonvr\nue0eliPflw/NEPu3rvDxAJwknJMOwKpU1b85yl1PGP3zLxYtuzNfG97JsEdz6X+DfjbJ1y1ZdmeG\nuFz6HNckuT3Jr4wOuV864/G+r/2PkjyiqnYuesx9M1wc7JbW2loPdT+aJ2UItj8d/bywR3fpNvi5\nLBN2rbX/lWHv7k9miOu5duSV4r/G6JSCC5L8YWvtqtbaHyy+ZTia4f6j2Y5l4ZD6pX+DGzLE5i+O\ntt3S1z/e36BXVyZ5UFX95NI7qmq6qmZG//4NX/PIYa94ZbgAXLJ+266S/Psly342w3vlfxz9VwHg\nZGRPOgCr9TujULkqyc0ZvhbqXyX5dxku/vZ7i9a9IcljqmpXks9mCODrM3x12rOq6vYM536fn+H8\n6AM50p9mCNpLquqMJH+f5NrW2oGq+qkMe5j3VtWbMpxDvDXDhwXvyxAxR/PiDId/v72qXpbhSvHP\nznAu+g+veosc6ZurauEr02ZGv9uFGb7ua+EQ9ZszRNpvV9WDMnzg8NQs/4HGgtcl+X8yhNkbjrHe\ngidnuBDZW45y/4cybLNnZPhqtKP5RIaLpD2vqu7IEJ57Wmu3VtVzMnzg8edV9XtJPpPhkP1HZTiF\n4clHec6evT7De/lVo0PZ35/hw6PzMpzK8dgke5O8sKoemeHr0D6V5KwkP5XhXPj3jZ5rPbfduVV1\ndYav6vueDH+3K0Yf4AAwQUQ6AKv1Cxli5fEZ9uyeniFMXp7kN1prty9a9+czXNH7sgzfCf7aDBct\nuzjDeeNPz/C92e/LcDX0a7JoT3JrbX9V/R8ZvkP6v2SIpUcleW9rba6qPpPhe6N/McPey88kuS5H\nflDwNVprf1NV5yf5jxm+B3s6yceS/FBr7e1LV8/Kz/9tGa48/wOjn/8hyecyXDX+ha21u0avf3dV\n/VCG74H/5SSHM1x07BU5+jnKbxjN+1ettQ8fZZ3Fnp7hCvDLnnPeWmtV9bYkT6+qb2it/W2W+V1H\ns16Y4dz5V2X4/w4/nuTW1tqfjLbjr2XY03u/DBe525N790ruq/n7HHP5aLs8OcM56RcmeUqG7fjJ\nDNdQ+MvRqldn+FDnx5NsyfAB03uSXNpa+9LoudZr27UM57tfNnquuzO8d34pAEycOv4FSAGAcRt9\nRdfnMkTgb457Hu4dVfXrSV6Y5MxlrkwPwARyTjoAnBx+PMN/t1dyVXcA4CTlcHcA6NjovOh/nuF7\n5a9qrS39/m8AYIKIdADo2wszXHzueBfDAwAmgHPSAQAAoBNj35M+uhDO45LcmuHqtgAAADBJppM8\nOMk1rbUvHGvFDYv0qvr3Gb4S5+wMXyfzM621/7nMqo/Lyr7vFQAAAE5mz0jyxmOtsCGRXlU/muS3\nkzw3w/fh7kpyTVV9c2vtwJLVb02SK664Iuedd95XFu7atSu7d+/eiPGgO97vnEq83zmVeL9zKvF+\n51Sxlvf6TTfdlGc+85nJqH+PZaP2pO9K8urW2uuSpKqel+QJSX4iyUuWrHs4Sc4777xs3779Kws3\nb958xM8wybzfOZV4v3Mq8X7nVOL9zqniBN/rxz3Fe92/J72qppLsSHLtwrI2XJ3unRmuTgsAAAAs\nY90jPcmWJF+XZP+S5fsznJ8OAAAALGPsV3dfsGvXrmzevPkrP19//fWZm5vL7OzsGKcCAACAlZub\nm8vc3NwRyw4ePLjix29EpB9I8g9Jzlqy/Kwknz/ag3bv3n3Ecf0CnVOJ9zqnEu93TiXe75xKvN85\nVRzvvT47O/s16+zduzc7duxY0fPXcLr4+qqqDyXZ01q7ePRzJdmX5GWttd9asu72JDfccMMNLjQB\nAADAxFkU6Ttaa3uPte5GHe7+0iSvqaob8tWvYJtJ8poNej0AAAA46W1IpLfWrqyqLUlelOEw9z9N\n8rjW2m0b8XoAAAAwCTbswnGttVcmeeVGPT8AAABMmo34CjYAAABgDUQ6AAAAdEKkAwAAQCdEOgAA\nAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQD\nAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdE\nOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0\nQqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAA\nQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoA\nAAB0QqQDAABAJ0Q6AAAAdOK0cQ8A6+Xw4X2Znz8w7jE2zNTUlkxPbx33GAAAwAYS6UyEw4f3Zc+e\nh6e1u8Y9yoap2pSdO28W6gAAMMFEOhNhfv5AWrsrN954QQ4dOnPc46y7mZnbsm3bVZmfPyDSAQBg\ngol0JsqhQ2fmjjvOGfcYAAAAa+LCcQAAANAJkQ4AAACdEOkAAADQCZEOAAAAnRDpAAAA0AmRDgAA\nAJ0Q6QAAANAJkQ4AAACdEOkAAADQCZEOAAAAnRDpAAAA0AmRDgAAAJ0Q6QAAANAJkQ4AAACdEOkA\nAADQCZEOAAAAnRDpAAAA0AmRDgAAAJ0Q6QAAANAJkQ4AAACdEOkAAADQCZEOAAAAnRDpAAAA0AmR\nDgAAAJ0Q6QAAANAJkQ4AAACdEOkAAADQCZEOAAAAnRDpAAAA0IlVR3pVfV9VvaWqPlNV91TVk5ZZ\n50VV9dmqOlRV76iqh67PuAAAADC51rIn/b5J/jTJTydpS++sqkuSXJTkuUkekeTOJNdU1eknMCcA\nAABMvNNW+4DW2tuTvD1JqqqWWeXiJJe11t46WufCJPuTPCXJlWsfFQAAACbbup6TXlXnJjk7ybUL\ny1prtyfZk+T89XwtAAAAmDTrfeG4szMcAr9/yfL9o/sAAACAo1j14e4bZdeuXdm8efMRy2ZnZzM7\nOzumiQAAAGB15ubmMjc3d8SygwcPrvjx6x3pn09SSc7KkXvTz0rykWM9cPfu3dm+ffs6jwMAAAD3\nnuV2Nu/duzc7duxY0ePX9XD31totGUL90QvLqur+SXYm+cB6vhYAAABMmlXvSa+q+yZ5aIY95kny\nkKr6jiRfbK39dZLLk7ygqj6e5NYklyX5dJKr12ViAAAAmFBrOdz9u5K8O8MF4lqS3x4tf22Sn2it\nvaSqZpK8OskZSa5L8vjW2pfXYV4AAACYWGv5nvQ/yXEOk2+tXZrk0rWNBAAAAKem9f4KNgAAAGCN\nRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAA\ndEKkAwAAQCdEOgAAAHTitHEPAOtpZua2cY+wISb19wIAAI4k0pkIU1NbUrUp27ZdNe5RNkzVpkxN\nbRn3GAAAwAYS6UyE6emt2bnz5szPHxj3KBtmampLpqe3jnsMAABgA4l0Jsb09FYRCwAAnNRcOA4A\nAAA6IdIBAACgEyIdAAAAOiHSAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6IdIBAACgEyIdAAAAOiHS\nAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6IdIBAACgEyIdAAAAOiHSAQAAoBMiHQAAADoh0gEAAKAT\nIh0AAAA6IdIBAACgEyIdAAAAOiHSAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6IdIBAACgEyIdAAAA\nOiHSAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6IdIBAACgEyIdAAAAOiHSAQAAoBMiHQAAADoh0gEA\nAKATIh0AAAA6IdIBAACgEyIdAAAAOiHSAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6IdIBAACgEyId\nAAAAOiHSAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6IdIBAACgEyIdAAAAOiHSAQAAoBMiHQAAADoh\n0gEAAKATIh0AAAA6IdIBAACgEyIdAAAAOiHSAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6IdIBAACg\nEyIdAAAAOiHSAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6sapIr6rnV9X1VXV7Ve2vqquq6puXWe9F\nVfXZqjpUVe+oqoeu38gAAAAwmVa7J/37kvxOkp1JHpNkKskfV9WmhRWq6pIkFyV5bpJHJLkzyTVV\ndfq6TAwAAAAT6rTVrNxa+8HFP1fVs5P8TZIdSd43Wnxxkstaa28drXNhkv1JnpLkyhOcFwAAACbW\niZ6TfkaSluSLSVJV5yY5O8m1Cyu01m5PsifJ+Sf4WgAAADDR1hzpVVVJLk/yvtbajaPFZ2eI9v1L\nVt8/ug8AAAA4ilUd7r7EK5NsS/Kv1mOQXbt2ZfPmzUcsm52dzezs7Ho8PQAAAGy4ubm5zM3NHbHs\n4MGDK358tdZW/aJV9fIkT0zyfa21fYuWn5vkE0m+s7X2sUXL35PkI621Xcs81/YkN9xwww3Zvn37\nqmcBAACAnu3duzc7duxIkh2ttb3HWnfVh7uPAv3JSR61ONCTpLV2S5LPJ3n0ovXvn+Fq8B9Y7WsB\nAADAqWRVh7tX1SuTzCZ5UpI7q+qs0V0HW2uHR/9+eZIXVNXHk9ya5LIkn05y9bpMDAAAABNqteek\nPy/DheHes2T5jyd5XZK01l5SVTNJXp3h6u/XJXl8a+3LJzYqAAAATLbVfk/6ig6Pb61dmuTSNcwD\nAAAAp6wT/Z50AAAAYJ2IdAAAAOiESAcAAIBOiHQAAADohEgHAACAToh0AAAA6IRIBwAAgE6IdAAA\nAOiESAcAAIBOiHQAAADohEgHAACAToh0AAAA6IRIBwAAgE6IdAAAAOiESAcAAIBOiHQAAADohEgH\nAACAToh0AAAA6IRIBwAAgE6IdAAAAOiESAcAAIBOiHQAAADohEgHAACAToh0AAAA6IRIBwAAgE6I\ndAAAAOiESAcAAIBOiHQAAADohEgHAACAToh0AAAA6IRIBwAAgE6IdAAAAOiESAcAAIBOiHQAAADo\nhEgHAACAToh0AAAA6IRIBwAAgE6IdAAAAOiESAcAAIBOiHQAAADohEgHAACAToh0AAAA6IRIBwAA\ngE6IdAAAAOiESAcAAIBOiHQAAADohEgHAACAToh0AAAA6IRIBwAAgE6cNu4BAABgPR0+vC/z8wfG\nPcaGmZrakunpreMeA9ggIh0AgIlx+PC+7Nnz8LR217hH2TBVm7Jz581CHSaUSAcAYGLMzx9Ia3fl\nxhsvyKFDZ457nHU3M3Nbtm27KvPzB0Q6TCiRDgDAxDl06Mzcccc54x4DYNVcOA4AAAA6IdIBAACg\nEyIdAAAAOiHSAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6IdIBAACgEyIdAAAAOiHSAQAAoBMiHQAA\nADoh0gEAAKATIh0AAAA6IdIBAACgEyIdAAAAOiHSAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6IdIB\nAACgEyIdAAAAOiHSAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6IdIBAACgEyIdAAAAOiHSAQAAoBMi\nHQAAADqxqkivqudV1Uer6uDo9oGq+rdL1nlRVX22qg5V1Tuq6qHrOzIAAABMptXuSf/rJJck2Z5k\nR5J3Jbm6qs5Lkqq6JMlFSZ6b5BFJ7kxyTVWdvm4TAwAAwIRaVaS31t7WWnt7a+0TrbWPt9ZekOSO\nJN89WuXiJJe11t7aWvuzJBcmeWCSp6zr1AAAADCB1nxOelXdp6qelmQmyQeq6twkZye5dmGd1trt\nSfYkOf9EBwUAAIBJd9pqH1BV35rkg0mmk3wpyQWttb+oqvOTtCT7lzxkf4Z4BwAAAI5h1ZGe5OYk\n35Fkc5IfSfK6qnrkuk4FAAAAp6BVR3pr7e4knxz9+JGqekSGc9FfkqSSnJUj96afleQjx3veXbt2\nZfPmzUcsm52dzezs7GpHBAAAgLGYm5vL3NzcEcsOHjy44sevZU/6UvdJ8vWttVuq6vNJHp3kY0lS\nVfdPsjPJK473JLt378727dvXYRwAAAAYj+V2Nu/duzc7duxY0eNXFelV9ZtJ/keSfUn+UZJnJPnX\nSR47WuXyJC+oqo8nuTXJZUk+neTq1bwOAAAAnIpWuyf9AUlem+ScJAcz7DF/bGvtXUnSWntJVc0k\neXWSM5Jcl+TxrbUvr9/IAAAAMJlWFemtteesYJ1Lk1y6xnkAAADglLXm70kHAAAA1pdIBwAAgE6I\ndAAAAOiESAcAAIBOiHQAAADohEgHAACAToh0AAAA6IRIBwAAgE6IdAAAAOiESAcAAIBOiHQAAADo\nhEgHAACAToh0AAAA6MRp4x4AAADW28zMbeMeYUNM6u8FfJVIBwBgYkxNbUnVpmzbdtW4R9kwVZsy\nNbVl3GMAG0SkAwAwMaant2bnzpszP39g3KNsmKmpLZme3jruMYANItIBAJgo09NbRSxw0nLhOAAA\nAOiESAcAAIBOiHQAAADohEgHAACAToh0AAAA6ISruwMw0Q4f3uermACAk4ZIB2BiHT68L3v2PDyt\n3TXuUTZM1abs3HmzUAeACSHSAZhY8/MH0tpdufHGC3Lo0JnjHmfdzczclm3brsr8/AGRDgATQqQD\nMPEOHTozd9xxzrjHAAA4LheOAwAAgE6IdAAAAOiESAcAAIBOiHQAAADohEgHAACAToh0AAAA6IRI\nBwAAgE6IdAAAAOiESAcAAIBOiHQAAADohEgHAACAToh0AAAA6IRIBwAAgE6IdAAAAOiESAcAAIBO\nnDbuAQBOFYcP78v8/IFxj7Fhpqa2ZHp667jHAAA4qYl0gHvB4cP7smfPw9PaXeMeZcNUbcrOnTcL\ndQCAEyDSAe4F8/MH0tpdufHGC3Lo0JnjHmfdzczclm3brsr8/AGRDgBwAkQ6wL3o0KEzc8cd54x7\nDAAAOuXCcQAAANAJkQ4AAACdEOkAAADQCZEOAAAAnRDpAAAA0AmRDgAAAJ0Q6QAAANAJkQ4AAACd\nEOkAAADQCZEOAAAAnRDpAAAA0AmRDgAAAJ0Q6QAAANAJkQ4AAACdEOkAAADQCZEOAAAAnRDpAAAA\n0AmRDgAAAJ0Q6QAAANAJkQ4AAACdEOkAAADQCZEOAAAAnRDpAAAA0AmRDgAAAJ0Q6QAAANAJkQ4A\nAACdEOkAAADQCZEOAAAAnRDpAAAA0AmRDgAAAJ0Q6QAAANAJkQ4AAACdEOkAAADQCZEOAAAAnTht\n3AMAwEabmblt3CNsiEn9vQDgVCbSAZhYU1NbUrUp27ZdNe5RNkzVpkxNbRn3GADAOhHpAEys6emt\n2bnz5szPHxj3KBtmampLpqe3jnsMAGCdiHQAJtr09FYRCwCcNE7ownFV9ctVdU9VvXTJ8hdV1Wer\n6lBVvaOqHnpiYwIAAMDkW3OkV9W/TPLcJB9dsvySJBeN7ntEkjuTXFNVp5/AnAAAADDx1hTpVXW/\nJFckeU6Sv1ty98VJLmutvbW19mdJLkzywCRPOZFBAQAAYNKtdU/6K5L8YWvtXYsXVtW5Sc5Ocu3C\nstba7Un2JDl/rUMCAADAqWDVF46rqqcl+c4k37XM3WcnaUn2L1m+f3QfAAAAcBSrivSqelCSy5M8\nprU2vzFzTJoiAAASxklEQVQjAQAAwKlptXvSdyQ5M8neqqrRsq9L8siquijJw5NUkrNy5N70s5J8\n5FhPvGvXrmzevPmIZbOzs5mdnV3liAAAADAec3NzmZubO2LZwYMHV/z41Ub6O5N825Jlr0lyU5IX\nt9Y+WVWfT/LoJB9Lkqq6f5KdGc5jP6rdu3dn+/btqxwHAAAA+rHczua9e/dmx44dK3r8qiK9tXZn\nkhsXL6uqO5N8obV202jR5UleUFUfT3JrksuSfDrJ1at5LQAAADjVrPrCcctoR/zQ2kuqaibJq5Oc\nkeS6JI9vrX15HV4LAAAAJtYJR3pr7fuXWXZpkktP9LkBAADgVLLW70kHAAAA1plIBwAAgE6IdAAA\nAOjEelw4DoAVmpm5bdwjbIhJ/b0AAO5tIh3gXjA1tSVVm7Jt21XjHmXDVG3K1NSWcY8BAHBSE+kA\n94Lp6a3ZufPmzM8fGPcoG2Zqakump7eOewwAgJOaSAe4l0xPbxWxAAAckwvHAQAAQCdEOgAAAHRC\npAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABA\nJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAA\nAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQD\nAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdE\nOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdOG/cAAMDGO3x4X+bnD4x7jA0z\nNbUl09Nbxz0GAJwwkQ4AE+7w4X3Zs+fhae2ucY+yYao2ZefOm4U6ACc9kQ4AE25+/kBauys33nhB\nDh06c9zjrLuZmduybdtVmZ8/INIBOOmJdAA4RRw6dGbuuOOccY8BAByDC8cBAABAJ0Q6AAAAdEKk\nAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAn\nRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAA\ndEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMA\nAEAnVhXpVfXrVXXPktuNS9Z5UVV9tqoOVdU7quqh6zsyAAAATKa17En/syRnJTl7dPvehTuq6pIk\nFyV5bpJHJLkzyTVVdfqJjwoAAACT7bQ1PObu1tptR7nv4iSXtdbemiRVdWGS/UmekuTKtY0IAAAA\np4a17El/WFV9pqo+UVVXVNU3JUlVnZthz/q1Cyu21m5PsifJ+esyLQAAAEyw1Ub6h5I8O8njkjwv\nyblJ3ltV980Q6C3DnvPF9o/uAwAAAI5hVYe7t9auWfTjn1XV9Uk+leTfJbl5PQdjFfbtSw4cGPcU\nnEy2bEm2bh33FAAAwBJrOSf9K1prB6vqL5M8NMl7klSGi8ot3pt+VpKPHO+5du3alc2bNx+xbHZ2\nNrOzsycy4uTbty8577zk0KFxT8LJZGYmuekmoQ4AAOtsbm4uc3NzRyw7ePDgih9/QpFeVffLEOiv\nba3dUlWfT/LoJB8b3X//JDuTvOJ4z7V79+5s3779RMY5NR04MAT6FVcMsQ7Hc9NNyTOfObx3RDoA\nAKyr5XY27927Nzt27FjR41cV6VX1W0n+MMMh7v8kyX9IMp/kTaNVLk/ygqr6eJJbk1yW5NNJrl7N\n67AG552X+JADAADgpLbaPekPSvLGJN+Y5LYk70vy3a21LyRJa+0lVTWT5NVJzkhyXZLHt9a+vH4j\nAwAAwGRa7YXjjnuCeGvt0iSXrnEeAAAAOGWt5XvSAQAAgA0g0gEAAKATIh0AAAA6IdIBAACgEyId\nAAAAOiHSAQAAoBMiHQAAADoh0gEAAKATIh0AAAA6IdIBAACgEyIdAAAAOiHSAQAAoBMiHQAAADpx\n2rgHAADuHTMzt417hA0xqb8Xa3f48L7Mzx8Y9xgbZmpqS6ant457DGCDiHQAmHBTU1tStSnbtl01\n7lE2TNWmTE1tGfcYdODw4X3Zs+fhae2ucY+yYao2ZefOm4U6TCiRDgATbnp6a3buvNmeRU4J8/MH\n0tpdufHGC3Lo0JnjHmfdzczclm3brsr8/AHveZhQIh0ATgHT01v9H3pOKYcOnZk77jhn3GMArJoL\nxwEAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABA\nJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAA\nAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQD\nAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdE\nOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0\nQqQDAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ0Q6AAAAdOK0cQ8A\nAADrbWbmtnGPsCEm9fcCvkqkAwAwMaamtqRqU7Ztu2rco2yYqk2Zmtoy7jGADSLSAQCYGNPTW7Nz\n582Znz8w7lE2zNTUlkxPbx33GMAGEekAAEyU6emtIhY4ablwHAAAAHRCpAMAAEAnRDoAAAB0QqQD\nAABAJ0Q6AAAAdEKkAwAAQCdEOgAAAHRCpAMAAEAnRDoAAAB0QqQDAABAJ1Yd6VX1wKp6fVUdqKpD\nVfXRqtq+ZJ0XVdVnR/e/o6oeun4jAwAAwGRaVaRX1RlJ3p/k75M8Lsl5SX4hyd8uWueSJBcleW6S\nRyS5M8k1VXX6Os0MAAAAE+m0Va7/y0n2tdaes2jZp5asc3GSy1prb02Sqrowyf4kT0ly5VoHBQAA\ngEm32sPdn5jkw1V1ZVXtr6q9VfWVYK+qc5OcneTahWWttduT7Ely/noMDAAAAJNqtZH+kCQ/leQv\nkjw2yauSvKyqnjW6/+wkLcOe88X2j+4DAAAAjmK1h7vfJ8n1rbVfG/380ar61iTPS/L6dZ0MAAAA\nTjGrjfTPJblpybKbkvzw6N8/n6SSnJUj96afleQjx3riXbt2ZfPmzUcsm52dzezs7CpHBAAAgPGY\nm5vL3NzcEcsOHjy44sevNtLfn+Rbliz7lowuHtdau6WqPp/k0Uk+liRVdf8kO5O84lhPvHv37mzf\nvv1YqwAAAEDXltvZvHfv3uzYsWNFj19tpO9O8v6qen6GK7XvTPKcJD+5aJ3Lk7ygqj6e5NYklyX5\ndJKrV/laAAAAcEpZVaS31j5cVRckeXGSX0tyS5KLW2tvWrTOS6pqJsmrk5yR5Lokj2+tfXn9xgYA\nAIDJs9o96Wmt/VGSPzrOOpcmuXRtIwEAAMCpabVfwQYAAABsEJEOAAAAnRDpAAAA0AmRDgAAAJ0Q\n6QAAANAJkQ4AAACdEOkAAADQCZEOAAAAnRDpAAAA0AmRDgAAAJ0Q6QAAANAJkQ4AAACdEOkAAADQ\nCZEOAAAAnRDpAAAA0AmRDgAAAJ0Q6QAAANAJkQ4AAACdEOkAAADQCZEOAAAAnRDpAAAA0AmRDgAA\nAJ0Q6QAAANAJkQ4AAACdEOkAAADQCZEOAAAAnRDpAAAA0AmRDgAAAP9/e3cfqmddx3H8/Vk+rBkq\ndFKRGCXWqSiszR4k1EJhVGRFf+hMikLNUhgrMCVHoARj4basmUGBZXZiGpJCZNkD5ErHttwfugJx\npjZnTmXKTGf67Y/rOnF7nPNs5+G+zn2/XzA41+/6ca7vH59d5/7+roe7I2zSJUmSJEnqCJt0SZIk\nSZI6wiZdkiRJkqSOsEmXJEmSJKkjbNIlSZIkSeoIm3RJkiRJkjrCJl2SJEmSpI6wSZckSZIkqSNs\n0iVJkiRJ6gibdEmSJEmSOsImXZIkSZKkjrBJlyRJkiSpIzrbpI+NjfW7BGnWmHcNE/OuYWLeNUzM\nu4bFTGf9kBn97VMwNjbG0qVL+13G3LFtW78r0BSMXXcdS0dHZ+dgZkV95vldw8S8a5iYdw2Lmc56\nZ5t0TdLICCxYAOed1+9KNFWLF8/esRYsaLIjSZIkqVNs0ue6hQubK6O7dvW7Ek3F8uWwZs3sHW9k\npMmOJEmSpE6xSR8ECxfacM11Rx0Fixb1uwpJkiRJfdaFJn0+wLYJz8nu3r2bLVu29KUgabaZdw0T\n865hYt41TMy7hsXBZL2n353/WnNTVQdR1vRJci5wY1+LkCRJkiRp5n2uqn6+vwldaNLfCCwBHgSe\n62sxkiRJkiRNv/nAW4Dbq+qJ/U3se5MuSZIkSZIa8/pdgCRJkiRJatikS5IkSZLUETbpkiRJkiR1\nhE26JEmSJEkdYZMuSZIkSVJHdK5JT3Jxku1J/pPkriTv73dN0lQluTzJxiRPJ3ksyS1J3r6PeVcm\n2ZHk2SS/S3JiP+qVplOSy5K8lGT1hHHzroGQ5PgkNyTZ1eZ5a5JFE+aYd815SeYluSrJA22W709y\nxT7mmXfNOUlOTXJrkn+1n1vO2sec/WY7yeFJ1rV/D55JcnOSYw60lk416UnOBq4GvgW8D9gK3J5k\npK+FSVN3KvA94IPAmcChwG+TvH58QpJvAJcAFwIfAPbQ5P+w2S9Xmh7tQuuFNOfz3nHzroGQ5Ghg\nA/A8sAR4J/B14KmeOeZdg+Iy4MvAV4F3AJcClya5ZHyCedccdgRwD02+X/E95ZPM9lrgE8BngdOA\n44FfHmghnfqe9CR3AXdX1bJ2O8DDwDVVtaqvxUnTqF14+jdwWlXd2Y7tAL5TVWva7SOBx4AvVNX6\nvhUrHaQkbwA2A18BVgB/q6qvtfvMuwZCkpXAKVV1+n7mmHcNhCS3ATur6oKesZuBZ6vq8+22edec\nl+Ql4NNVdWvP2H6z3W4/DpxTVbe0c0aBbcCHqmrjZI/fmSvpSQ4FFgO/Hx+rZgXhDuCUftUlzZCj\naVbongRI8lbgOF6e/6eBuzH/mrvWAbdV1R96B827BswngU1J1rePM21Jcv74TvOuAfMX4IwkbwNI\nchLwYeDX7bZ510CaZLZPBg6ZMOcfwEMcYP4PmWK902kEeB3NakSvx4DR2S9HmhntHSJrgTur6r52\n+Diapn1f+T9uFsuTpkWSc4D30vzBmsi8a5CcQHO3yNXAt2lugbwmyfNVdQPmXYNlJXAk8PckL9Jc\n8PtmVf2i3W/eNagmk+1jgb1t8/5qcyalS026NCyuBd5Fs/IsDZwkb6ZZiDqzql7odz3SDJsHbKyq\nFe321iTvBi4CbuhfWdKMOBs4FzgHuI9mMfa7SXa0i1KSpkFnbncHdgEv0qxA9DoW2Dn75UjTL8n3\ngY8DH6mqR3t27QSC+ddgWAy8CdiS5IUkLwCnA8uS7KVZUTbvGhSP0jxv2GsbsLD92fO7BskqYGVV\n3VRV91bVjcAa4PJ2v3nXoJpMtncCh7XPpr/anEnpTJPeXm3ZDJwxPtbeFnwGzfMv0pzWNuifAj5a\nVQ/17quq7TT/eXvzfyTN2+DNv+aaO4D30FxhOan9twn4GXBSVT2Aedfg2MArH8sbBf4Jnt81cBbQ\nXFTr9RJtT2HeNagmme3NwH8nzBmlWbT964Ecr2u3u68Grk+yGdgILKc5GVzfz6KkqUpyLbAUOAvY\nk2R8FW53VT3X/rwWuCLJ/cCDwFXAI8CvZrlcaUqqag/NbZD/l2QP8ERVjV9xNO8aFGuADUkuB9bT\nfGA7H7igZ45516C4jSbLjwD3AotoPq//qGeOedeclOQI4ESaK+YAJ7QvR3yyqh7mNbJdVU8n+TGw\nOslTwDPANcCGA3mzO3SsSW9fXT8CXElzW8A9wJKqery/lUlTdhHNyyb+NGH8i8BPAapqVZIFwA9p\n3v7+Z+BjVbV3FuuUZsrLvu/TvGtQVNWmJJ+heaHWCmA7sKznRVrmXYPkEprGZB1wDLAD+EE7Bph3\nzWknA3+k+cxSNC8EBfgJ8KVJZns5zd0mNwOHA78BLj7QQjr1PemSJEmSJA2zzjyTLkmSJEnSsLNJ\nlyRJkiSpI2zSJUmSJEnqCJt0SZIkSZI6wiZdkiRJkqSOsEmXJEmSJKkjbNIlSZIkSeoIm3RJkiRJ\nkjrCJl2SJEmSpI6wSZckSZIkqSNs0iVJkiRJ6oj/AaQW6paJyaE8AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.patches as patches\n", "import math\n", "from PIL import Image, ImageDraw\n", "\n", "#create the bay canvas\n", "bay_img = Image.new('RGBA', (int(17*6),int(11*6)), \"white\")\n", "im = np.array(bay_img, dtype=np.uint8)\n", "\n", "# Create figure and axes\n", "fig, ax = plt.subplots(figsize=(14, 8))\n", "\n", "# Display the image\n", "ax.imshow(im)\n", "\n", "# Create a Rectangle for each striper\n", "for n in range(0,len(stripers)):\n", " x = math.floor((stripers[n][0]-(st[0]/2))*map_mult)\n", " y = math.floor((stripers[n][1]-(st[0]/2))*map_mult)\n", " rect = patches.Rectangle((x,y),int(st[1]*map_mult),int(st[1]*map_mult),linewidth=1,edgecolor='y',facecolor=(0.0, 0.0, 0.0, 0.5))\n", " ax.add_patch(rect)\n", "\n", "# Create a Rectangle for each shark\n", "for n in range(0,len(sharks)):\n", " x = math.floor((sharks[n][0]-(sh[0]/2))*map_mult)\n", " y = math.floor((sharks[n][1]-(sh[1]/2))*map_mult)\n", " rect = patches.Rectangle((x,y),int(sh[0]*map_mult),int(sh[1]*map_mult),linewidth=1,edgecolor='r',facecolor='none')\n", " ax.add_patch(rect)\n", "\n", "plt.title('State of Bay Before Timestep') \n", " \n", "#show the current bay environment before applying rules:\n", "plt.show()\n", "\n", "#run a round of the rules\n", "sharks_to_remove = []\n", "sharks_to_add = 0\n", "stripers_to_add = 0\n", " \n", "#remove any sharks starven and breed sharks who have eaten\n", "for m in range(0, len(sharks)):\n", " count = 0\n", " for n in range(0, len(stripers)):\n", " if(n sharks[m][0]-(sh[0]/2)-.95):\n", " if(stripers[n][0]+st[0]/2 < sharks[m][0]+(sh[0]/2)+.95):\n", " if(stripers[n][1]-st[1]/2 > sharks[m][1]-(sh[1]/2)-.95):\n", " if(stripers[n][1]+st[1]/2 < sharks[m][1]+(sh[1]/2)+.95):\n", " stripers.remove(stripers[n])\n", " n=n-1\n", " count=count+1\n", " if(count<3):\n", " sharks_to_remove.append(sharks[m])\n", " elif(count>5):\n", " sharks_to_add=sharks_to_add+2\n", " else:\n", " sharks_to_add=sharks_to_add+1\n", "\n", "#remove any stripers eaten and breed striper not eaten\n", "for n in range(0, len(stripers)):\n", " if(len(stripers) < 75):\n", " if (random.uniform(0, 1) > striper_reproduction_rate):\n", " stripers.append([random.uniform((st[0]/2), (nb[0] - st[0]/2)), random.uniform((st[1]/2), (nb[1] - st[1]/2))])\n", " \n", "for s in sharks_to_remove:\n", " sharks.remove(s)\n", " \n", "if (len(sharks)<1):\n", " sharks_to_add=sharks_to_add+1\n", " \n", "for s in range(0, sharks_to_add):\n", " sharks.append([random.uniform((sh[0]/2), (nb[0] - st[0]/2)), random.uniform((sh[1]/2), (nb[1] - sh[1]/2))])\n", " \n", "shark_cumulative.append(len(sharks))\n", "striper_cumulative.append(len(stripers))\n", "\n", "times = []\n", "for t in range(0, len(shark_cumulative)):\n", " times.append(t)\n", "\n", "plt.subplots(figsize=(12, 7))\n", "plt.plot(times,shark_cumulative)\n", "plt.plot(times,striper_cumulative)\n", "plt.ylabel('Number of Animals')\n", "plt.xlabel('Timestep')\n", "plt.title('Counts of Animals')\n", "plt.show()\n", "\n", "#create the bay canvas\n", "bay_img = Image.new('RGBA', (int(17*6),int(11*6)), \"white\")\n", "im = np.array(bay_img, dtype=np.uint8)\n", "\n", "# Create figure and axes\n", "fig, ax = plt.subplots(figsize=(14, 8))\n", "\n", "# Display the image\n", "ax.imshow(im)\n", "\n", "# Create a Rectangle for each striper\n", "for n in range(0,len(stripers)):\n", " x = math.floor((stripers[n][0]-(st[0]/2))*map_mult)\n", " y = math.floor((stripers[n][1]-(st[0]/2))*map_mult)\n", " rect = patches.Rectangle((x,y),int(st[1]*map_mult),int(st[1]*map_mult),linewidth=1,edgecolor='y',facecolor=(0.0, 0.0, 0.0, 0.5))\n", " ax.add_patch(rect)\n", "\n", "# Create a Rectangle for each shark\n", "for n in range(0,len(sharks)):\n", " x = math.floor((sharks[n][0]-(sh[0]/2))*map_mult)\n", " y = math.floor((sharks[n][1]-(sh[1]/2))*map_mult)\n", " rect = patches.Rectangle((x,y),int(sh[0]*map_mult),int(sh[1]*map_mult),linewidth=1,edgecolor='r',facecolor='none')\n", " ax.add_patch(rect)\n", "\n", "plt.title('State of Bay After Timestep') \n", " \n", "#show the current bay environment after applying rules:\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [default]", "language": "python", "name": "python3" }, "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": 2 }