<snapdata remixID="8384172"><project name="Supplementary 8: Snake" app="Snap! 5.4, http://snap.berkeley.edu" version="1"><notes>Press the "1" key for one player mode, and the "2" key for two player mode. Arrow keys for player one, and WASD for player two.</notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAG60lEQVR4Xu3Yf0jUdxzH8dfddVaeqeXhrF3MX8sY9EuWzt+ezGpNJ4whyAbBdFAD21+D9u+C/TP2R/8NlGqRba0N+ms0RsvEKJvSlg7kptMhQxEvG7k1re/d+H5ZwWBbX9/3hvvovfwnqO/7/f1+HvfkOs8Tj8fj4A8FkiTgYYBJkudtHQEGyBCSKsAAk8rPmzNANpBUAQaYVH7enAGygaQKMMCk8vPmxgdof035ystNsCwLX319ia/YKhMwPkDbu7ayAvtLN6Lzg8+QmZm5yl6C1D7OighwZmYGp99rwO7Wj/BiYyPWrFmT2q/aKjq9sQFGIhEc3Lcf6wC0xdIwlL2Egrt+bIUXp7xL+B1xfHnxInbt3rWKXo7UO4qRAVa9UIH107M4H0t3XpGfEcOJtD+Bhx6MemI4Y6XjKXjQ4b2PscBa3P5xBB6PJ/VevVVwYuMC7HizHdOXe3Hm7/ieZHzYex8bwjU4efrUky7lvxsoYFyAxfkF+NYKIGv3Djz8fsQVWblvAWOTE66u5UVmCRgZ4ICVgZxffkD0GXef7xigWVEt52nMDXBqGNGtO1ydhQG6YjLyIiMD7LcysG7r07CmfnWFxgBdMRl5kXEBtjQ1o+n2T3g17ncF1uNZwqd52bh+c8DV9bzILAHjArR57F9EvrECyMT/f7ViAaj0LeDG4HcIBoNmyfJpXAkYGeDA9Rt4va0Nl6wANv5HhEsAanwLOHnmE9TW1ro6LC8yT8DIAG2mO9E7qCgvx4aHFrqt9ciF19GbQxwdvj/wm8+Ly1d7EQqFzFPlE7kWMDbARyeIzkWxv7ERd+fnnb/KycnBuc/Po6ioyPUheaG5AsYHaC4dn0xDgAFqKHKHWIABiuk4qCHAADUUuUMswADFdBzUEGCAGorcIRZggGI6DmoIMEANRe4QCzBAMR0HNQQYoIYid4gFGKCYjoMaAgxQQ5E7xAIMUEzHQQ0BBqihyB1iAQYopuOghgAD1FDkDrEAAxTTcVBDgAFqKHKHWIABiuk4qCHAADUUuUMswADFdBzUEGCAGorcIRZggGI6DmoIMEANRe4QCzBAMR0HNQQYoIYid4gFGKCYjoMaAgxQQ5E7xAIMUEzHQQ0BBqihyB1iAQYopuOghgAD1FDkDrEAAxTTcVBDgAFqKHKHWIABiuk4qCHAADUUuUMswADFdBzUEGCAGorcIRZggGI6DmoIMEANRe4QCzBAMR0HNQQYoIYid4gFGKCYjoMaAgxQQ5E7xAIMUEzHQQ0BBqihyB1iAQYopuOghgAD1FDkDrEAAxTTcVBDgAFqKHKHWIABiuk4qCHAADUUuUMswADFdBzUEGCAGorcIRZggGI6DmoIMEANRe4QCzBAMR0HNQQYoIYid4gFGKCYjoMaAgxQQ5E7xAIMUEzHQQ0BBqihyB1iAQYopuOghoAowK6bdXir7KrG/bkjxQVEAX54Nf8fbO/WTaY4I48vFWCAUjnOqQgwQBVGLpEKMECpHOdUBBigCiOXSAUYoFSOcyoCDFCFkUukAgxQKsc5FQEGqMLIJVIBBiiV45yKAANUYeQSqQADlMpxTkWAAaowcolUgAFK5TinIsAAVRi5RCrAAKVynFMRYIAqjFwiFWCAUjnOqQioBFjlP4fFxUWVB9q7dy8yMjJUdnGJ+QIJB/h87BS2b9+OzZs3J3zaBw8eoL+/H3v27EF2dnbC+7jAfIGEAiyKv40doRY8W1yidlLLstDX14dwOKy2k4vMFUgowF2xEwhXH4Tf71c94ZUrVxigqqi5yxIK0P7v136nunDhAg4dOoSRkREUFhYu+7TNzc3Iy8tDV1eXM8sAl024YgdUAkxLS8PCwgLsP+vq6rBp0yZ0d3ejpqYG09PTGBwcREtLC44cOYJ4PI7c3FwcP34cw8PDj+G2bduGSCTCAFdsSrIHVwnw0a1LSkowNzeHaDSKW7duYWpqCgMDA2hvb8fQ0BB6enpw7NgxBINBFBcXP35iO8rW1lbnnZTvgLIXcqVOqQRov9sdPXrU+Q12fn4eHR0dmJiYQH19vfMbbWdnpxPggQMHUFBQgPHxcVRXVz9+B2xoaMCWLVtw9uxZBrhSSxI+d0IBPhd7H+Hy15Ceni68/b+P8TOgKqfRyxIKMC/+Egr9b6CqqkrtkLOzsxgbG0NlZaXaTi4yVyChAO1j2b8J+3w+7Ny5M6Evj+0voUdHR53PkPwO0NxgtJ8s4QDtBzpcOuzEEwqFnK9Tent7l/2c9neJ9lc49mdB/qSOgEqA71REcO3aNeTn52NychJlZWUIBAKpo8iTigVUAgwHvsC9e/ec6Oz4+EMBtwIJB+jFWpTGPkZpaSmysrLc3pfXUcAR+As7n3TGNIiQRAAAAABJRU5ErkJggg==</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAWx0lEQVR4Xu3dsY4lRxUG4GoQBDZkICLkgAA7IEIiRHbsESkBD8AT4IfYmIiQjNyO1ykSEQG5M2Ikr0SAGt3VGK3Z3bnd2131d1V9pNtTp+urM/Xvudc2S/E/AgQIECBAoLnA0ryiggQIECBAgEARwJqAAAECBAgEBARwAF1JAgQIECAggPUAAQIECBAICAjgALqSBAgQIEBAAOsBAgQIECAQEBDAAXQlCRAgQICAANYDBAgQIEAgICCAA+hKEiBAgAABAawHCBAgQIBAQEAAB9CVJECAAAECAlgPECBAgACBgIAADqArSYAAAQIEBLAeIECAAAECAQEBHEBXkgABAgQICGA9QIAAAQIEAgICOICuJAECBAgQEMB6gAABAgQIBAQEcABdSQIECBAgIID1AAECBAgQCAgI4AC6kgQIECBAQADrAQIECBAgEBAQwAF0JQkQIECAgADWAwQIECBAICAggAPoShIgQIAAAQGsBwgQIECAQEBAAAfQlSRAgAABAgJYDxAgQIAAgYCAAA6gK0mAAAECBASwHiBAgAABAgEBARxAV5IAAQIECAhgPUCAAAECBAICAjiAriQBAgQIEBDAeoAAAQIECAQEBHAAXUkCBAgQICCA9QABAgQIEAgICOAAupIECBAgQEAA6wECBAgQIBAQEMABdCUJECBAgIAA1gMECBAgQCAgIIAD6EoSIECAAAEBrAcIECBAgEBAQAAH0JUkQIAAAQICWA8QIECAAIGAgAAOoCtJgAABAgQEsB4gQIAAAQIBAQEcQFeSAAECBAgIYD1AgAABAgQCAgI4gK4kAQIECBAQwHqAAAECBAgEBARwAF1JAgQIECAggPUAAQIECBAICAjgALqSBAgQIEBAAOsBAgQIECAQEBDAAXQlCRAgQICAANYDBAgQIEAgICCAA+hKEiBAgAABAawHCBAgQIBAQEAAB9CVJECAAAECAlgPECBAgACBgIAADqArSYAAAQIEBLAeIECAAAECAQEBHEBXkgABAgQICGA9QIAAAQIEAgICOICuJAECBAgQEMB6gAABAgQIBAQEcABdSQIECBAgIID1AAECBAgQCAgI4AC6kgQIECBAQADrAQIECBAgEBAQwAF0JQkQIECAgADWAwQIECBAICAggAPoShIgQIAAAQGsBwgQIECAQEBAAAfQlSRAgAABAgJYDxAgQIAAgYCAAA6gK0mAAAECBASwHiBAgAABAgEBARxAV5IAAQIECAhgPUCAAAECBAICAjiAriQBAgQIEBDAeoAAAQIECAQEBHAAXUkCBAgQICCA9QABAgQIEAgICOAAupIECBAgQEAA6wECBAgQIBAQEMABdCUJECBAgIAA1gMECBAgQCAgIIAD6EoSIECAAAEBrAcIECBAgEBAQAAH0JUkQIAAAQICWA8QIECAAIGAgAAOoCtJgAABAgQEsB4gQIAAAQIBAQEcQFeSAAECBAgIYD1AgAABAgQCAgI4gK4kAQIECBAQwHqAAAECBAgEBARwAF1JAgQIECAggPUAAQIECBAICAjgALqSBAgQIEBAAOsBAgQIECAQEBDAAXQlCRAgQICAANYDBAgQIEAgICCAA+hKEiBAgAABAawHCBAgQIBAQEAAB9CVJECAAAECAlgPECBAgACBgIAADqArSYAAAQIEBLAeIECAAAECAQEBHEBXkgABAgQICGA9QIAAAQIEAgICOICuJAECBAgQEMB6gAABAgQIBAQEcABdSQIECBAgIID1AAECBAgQCAgI4AC6kgQIECBAQADrAQIECBAgEBAQwAF0JQkQIECAgADWAwQIECBAICAggAPoShIgQIAAAQGsBwgQIECAQEBAAAfQlSRAgAABAgJYDxAgQIAAgYCAAA6gK0mAAAECBASwHiBAgAABAgEBARxAV5IAAQIECAhgPUCAAAECBAICAjiAriSB2QTWdf28lPJJKeW92fY+6X5flFKeL8vyMOn+N21bAG9i8hABAu8isK7rLXRv4St43wWw/5+5BfHDsizP+9/K+TsQwOebWpEAgUeBdV2/Fr7Tt8OLZVnen17hDQACWFcQIFBF4PFj50+rLG7R3gS+8HH060cmgHtrY+9LoBMB028nB9XmNU3BJuA2naYKAQKlrOu6ciDwjcCyLAa+/2sHIH4/CBCoIiCAq7B2u6gA9hF0t83rxQn0JiCAezuxuu8rgAVw3Q6zOgEC/xMQwJrhVQEBLID9RhAg0EhAADeC7qSMABbAnbSq1yTQv4AA7v8Mz9yBABbAZ/aTtQgQeEJAAGsPH0E/3QP+KWi/IwQIVBHYG8AmpCrHUG1R53ucVgAfN7QCAQJvEHBBj90Wzvf4+Qrg44ZWIEBAAE/XAwL4+JEL4OOGViBAQABP1wMC+PiRC+DjhlYgQEAAT9cDAvj4kQvg44ZWIEBAAE/XAwL4+JEL4OOGViBAQABP1wMC+PiRC+DjhlYgQEAAT9cDAvj4kQvg44ZWIEBAAE/XAwL4+JEL4OOGViBAQABP1wMC+PiRC+DjhlYgQEAAT9cDAvj4kQvg44ZWIEBAAE/XAwL4+JEL4OOGViBAQABP1wMC+PiRC+DjhlYgQEAAT9cDAvj4kQvg44ZWIEBAAE/XAwL4+JEL4OOGViBAQABP1wMC+PiRC+DjhlYgQEAAT9cDAvj4kQvg44ZWIEBAAE/XAwL4+JEL4OOGViCwW2Bd13+UUn5eSvnO7h/2Az0KvCilPF+W5aHHl3/TOwvg4ycpgI8bWoHAZoF1XX9XSvmz4N1MNtqDtyB+WJblee8bE8DHT1AAHze0AoHNAuu6/kf4buYa9cEXy7K83/vmBPDxExTAxw2tQGCTwOPHzh9tethDowt80fvH0QL4eIsK4OOGViCwScD0u4lploe6n4IF8PFWFcDHDa1AYJPA3gtr06Ie6lZgWZau79+9/dz7fms0WtcNUAPEmgRqCey9sGq9h3WvIdB7IO3t5973W6NrBHANVWsSeIPA3gsL4tgCvQfS3n7ufb81ulEA11C1JgEBrAfuCPQeSAL4eIsL4OOGViCwSWDvhbVpUQ91KyCAuz26015cAJ9GaSECTwsIYB3yqoAA1g8CWA8QaCQggBtBd1JGAHdyUBVfUwBXxLU0gVcF9gawC7qv/nG+T59X7/1coxsFcA1VaxJ4g4ALeuwL2vmOfb41LjUBXEPVmgQEcBFIYwfSbOdb41ITwDVUrUlAAAvgO78FvX8kK4CPX3MC+LihFQhsEpjtwrJfE/CrAr3/hWPTL/nOhwTwTjCPE3hXAYEkkEYKpNn6+V1/75/6OQFcQ9WaBHwE7SNoH0F/S8AE/HpDCGBRQaCRwGwTg/2a+Eea+GtcEwK4hqo1CZiATcAmYBPwvR5wUxIg0EbARGgiHGkinK2fa9wSJuAaqtYkYAI2Ad+bfpal6/tXAB+/5rpugOPbtwKBdgKzXVj2a+IfaeKvcVMI4Bqq1iRgAjYBm4B9B3yvB9yUBAi0ETARmghHmghn6+cat4QJuIaqNQmYgE3A96Yf3wFPf08I4OlbAEArgdkmBvs18Y808de4JwRwDVVrEjABm4BNwL4DvtcDbkoCBNoImAhNhCNNhLP1c41bwgRcQ9WaBEzAJuB704/vgKe/JwTw9C0AoJXAbBOD/Zr4R5r4a9wTAriGqjUJmIBNwCZg3wHf6wE3JQECbQRMhCbCkSbC2fq5xi1hAq6hak0CJmAT8L3px3fA098TAnj6FgDQSmC2icF+TfwjTfw17gkBXEPVmgRMwCZgE7DvgO/1gJuSAIE2AiZCE+FIE+Fs/VzjljAB11C1JgETsAn43vTjO+Dp7wkBPH0LAGglMNvEYL8m/pEm/hr3hACuoWpNAiZgE7AJ2HfA93rATUmAQBsBE6GJcKSJcLZ+rnFLmIBrqFqTgAnYBHxv+vEd8PT3hACevgUAtBKYbWKwXxP/SBN/jXtCANdQtSYBE7AJ2ATsO+B7PeCmJECgjYCJ0EQ40kQ4Wz/XuCVMwDVUrUnABGwCvjf9+A54+ntCAE/fAgBaCcw2MdiviX+kib/GPSGAa6hak4AJ2ARsAvYd8L0ecFMSINBGwERoIhxpIpytn2vcEibgGqrWJGACNgHfm358Bzz9PSGAp28BAK0EZpsY7NfEP9LEX+OeEMA1VK1JwARsAjYB+w74Xg+4KQkQaCNgIjQRjjQRztbPNW4JE3ANVWsSMAGbgO9NP74Dnv6eEMDTtwCAVgKzTQz2a+IfaeKvcU8I4Bqq1iRgAjYBm4B9B3yvB9yUBAi0ETARmghHmghn6+cat4QJuIaqNQmYgE3A96Yf3wFPf08I4OlbAEArgdkmBvs18Y808de4JwRwDVVrdiOwruvnpZRPSinvdfPSXpRAhwJL5xN/DXIBXEPVmpcXWNf1Frq38BW8lz8tLziCgAB+/RQF8AidbQ+7BdZ1/Vr47mbzAwTeWUAAC+B3bh4/OI7A48fOn46zIzshcH0BASyAr9+l3rC6gOm3OrECBF4TEMAC2K8Fgd3/egwyAgSOCwhgAXy8i6zQvcDefz2m+w3bAIELCAhgAXyBNvQKaQEBnD4B9WcUEMACeMa+t+f/ExDAWoJAewEBLIDbd52KlxMQwJc7Ei80gYAAFsATtLkt3hMQwPeE/DmB8wUEsAA+v6us2J2AAO7uyLzwAAICWAAP0Ma2cFRgbwD3fnGk9puqe7Q/3vXnU/udre67ns8Vf85/ivKKp+KdqgqkLqyqm3pi8dR+U3U5Py1w1l8oZzvfGn0lgGuoWvPSArNdHKn9puqmmi+139nqps63Rl0BXEPVmpcWSF1YKZTUflN1OZuAUz2wt64A3ivm+e4FBIMLukYTp/pqtro1zi61pgBOyasbE0hdWKkNp/abqsvZX7BSPbC3rgDeK+b57gUEgwu6RhOn+mq2ujXOLrWmAE7JqxsTSF1YqQ2n9puqy9lfsFI9sLeuAN4r5vnuBQSDC7pGE6f6ara6Nc4utaYATsmrGxNIXVipDaf2m6rL2V+wUj2wt64A3ivm+e4FBIMLukYTp/pqtro1zi61pgBOyasbE0hdWKkNp/abqsvZX7BSPbC3rgDeK+b57gUEgwu6RhOn+mq2ujXOLrWmAE7JqxsTSF1YqQ2n9puqy9lfsFI9sLeuAN4r5vnuBQSDC7pGE6f6ara6Nc4utaYATsmrGxNIXVipDaf2m6rL2V+wUj2wt64A3ivm+e4FBIMLukYTp/pqtro1zi61pgBOyasbE0hdWKkNp/abqsvZX7BSPbC3bjcBvK7rH0opvy2l/KKU8v29G/U8AQIECOQElmXpJm9aKV0eZF3Xn5VS/lJK+WUrFHUIECBA4FwBAfy6Zw8B/Dfhe+4vgtUIECDQWkAAdxbAjx87P2vdKOoRIECAwLkCAri/ADb9nvs7YDUCBAhEBARwfwH8b//AVeR3RVECBAicKiCABfCpDWUxAgQIENgmIID7C2AfQW/rbU8RIEDgygIvlmV5/8ovmHi3S/9T0P4hrERLqEmAAIHTBb5YluXh9FU7X/DSAXyz/ee//r7+5Ie3//aG/xEgQIBAhwKm37cc2uUD+E9//fX6m4/+WIRwh792XpkAgdkFXpRSHpZleT47xJv2f/kAfvblB+vtxX/109+XD3/8UH70gw/Ld5fvOUsCBAgQuK7ALXif+9j56QPqJoDv9dlnH391+b3c24M/JzCSwGz/Zwyps+Ockj9e9/Kh9c0EfG+rAviekD8n0FZAMLTx5tzGuUYVAVxD1ZoECBTB0KYJOLdxrlFFANdQtSYBAgK4UQ8I4EbQFcoI4AqoliRAoAjgRk0ggBtBVygjgCugWpIAAQHcqgcEcCvp8+sI4PNNrUiAQBHArZpAALeSPr+OAD7f1IoECAjgZj0ggJtRn15IAJ9OakECBG4CgqFNH3Bu41yjigCuoWpNAgQEcKMeEMCNoCuUEcAVUC1JgIAJuFUPCOBW0ufXEcDnm1qRAAEfQTfrAQHcjPr0QgL4dFILEiDgO+B2PSCA21mfXUkAny1qPQIEXgoIhjaNwLmNc40qAriGqjUJEBDAjXpAADeCrlBGAFdAtSQBAibgVj0ggFtJn19HAJ9vakUCBHwE3awHBHAz6tMLCeDTSS1IgIDvgNv1gABuZ312JQF8tqj1CBB4KbA3GLC1EViW5fL3fhuJfJXLH8SzLz9YtzB99vFXl9/Lln14hsAoAgL4micpgK9zLpcPrZcBfHvLt8Xw458J4Os0lTchYAK+bg8I4OucTR8BvMFLAG9A8giBhgIm4IbYO0oJ4B1YlR8VwJWBLU9gVgEBfM2TF8DXORcBfJ2z8CYEhhIQwNc8TgF8nXMRwNc5C29CYCgBAXzN4xTA1zkXAXyds/AmBIYSWNf161LKe0Ntqv/NvFiW5f3+tzHGDgTwGOdoFwQuJ7Cu6+ellE8v92Jzv9AXy7I8zE1wnd0L4OuchTchMJyAKfhSR2r6vdRxlJf/hu2l/+c/xHHp4/FyBJ4UWNf1k1LKbRL2UXS2V16UUh6WZXmefQ3VXxUQwPqBAIHqAo8fR9/CWBBX1/5WgVvwPvexc1v0rdUE8FYpzxEgQIAAgRMFBPCJmJYiQIAAAQJbBQTwVinPESBAgACBEwUE8ImYliJAgAABAlsFBPBWKc8RIECAAIETBQTwiZiWIkCAAAECWwUE8FYpzxEgQIAAgRMFBPCJmJYiQIAAAQJbBQTwVinPESBAgACBEwUE8ImYliJAgAABAlsFBPBWKc8RIECAAIETBQTwiZiWIkCAAAECWwUE8FYpzxEgQIAAgRMFBPCJmJYiQIAAAQJbBQTwVinPESBAgACBEwUE8ImYliJAgAABAlsFBPBWKc8RIECAAIETBQTwiZiWIkCAAAECWwUE8FYpzxEgQIAAgRMFBPCJmJYiQIAAAQJbBfoI4Ntbrm/Z0uOfffbxV5ffy9ZD8RwBAgQIjC9w+dB69uUHb4veb52OAB6/We2QAAECIwkI4JFO014IECBAoBsBAdzNUXlRAgQIEBhJQACPdJr2QoAAAQLdCAjgbo7KixIgQIDASAICeKTTtBcCBAgQ6EZAAHdzVF6UAAECBEYSEMAjnaa9ECBAgEA3AgK4m6PyogQIECAwkoAAHuk07YUAAQIEuhEQwN0clRclQIAAgZEEBPBIp2kvBAgQINCNgADu5qi8KAECBAiMJCCARzpNeyFAgACBbgQEcDdH5UUJECBAYCQBATzSadoLAQIECHQjIIC7OSovSoAAAQIjCQjgkU7TXggQIECgGwEB3M1ReVECBAgQGElAAI90mvZCgAABAt0ICOBujsqLEiBAgMBIAgJ4pNO0FwIECBDoRkAAd3NUXpQAAQIERhIQwCOdpr0QIECAQDcCAribo/KiBAgQIDCSgAAe6TTthQABAgS6ERDA3RyVFyVAgACBkQQE8EinaS8ECBAg0I2AAO7mqLwoAQIECIwk0EcA395yfQv745999vFXl9/LSI1jLwQIECBwTODyofXsyw/eFr3f2rkAPtYIfpoAAQIE2goI4LbeqhEgQIAAgZcCAlgjECBAgACBgIAADqArSYAAAQIEBLAeIECAAAECAQEBHEBXkgABAgQICGA9QIAAAQIEAgICOICuJAECBAgQEMB6gAABAgQIBAQEcABdSQIECBAgIID1AAECBAgQCAgI4AC6kgQIECBAQADrAQIECBAgEBAQwAF0JQkQIECAgADWAwQIECBAICAggAPoShIgQIAAAQGsBwgQIECAQEBAAAfQlSRAgAABAv8F8pef4QugAYQAAAAASUVORK5CYII=</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="tail" idx="3" x="-195" y="-75" heading="270" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="255,255,255,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="up"></block><block s="gotoXY"><l>-15</l><l>15</l></block><block s="hide"></block><block s="setColor"><color>255,255,255,1</color></block><block s="setSize"><l>12</l><comment w="233" collapsed="false">Draw slightly larger than the head sprite in order to erase entire width of snake. Otherwise get creepy green lines that were missed when erasing.</comment></block><block s="down"></block></script><script x="20" y="214"><block s="receiveMessage"><l>move_tail</l></block><block s="setHeading"><block s="reportListItem"><l>1</l><block var="directions to head"/></block></block><block s="forward"><l>30</l></block><block s="doDeleteFromList"><l>1</l><block var="directions to head"/></block></script></scripts></sprite><sprite name="head" idx="2" x="-195" y="-195" heading="180" scale="0.01" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="138,192,31,1" pen="tip" id="37"><costumes><list struct="atomic" id="38"></list></costumes><sounds><list struct="atomic" id="39"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="up"></block><block s="clear"></block><block s="setColor"><color>138,192,31,1</color></block><block s="setSize"><l>10</l></block><block s="bubble"><l></l></block><block s="setScale"><l>0</l><comment w="164" collapsed="false">Use this instead of the &quot;hide&quot; block so that can still &quot;say&quot; things.</comment></block><block s="gotoXY"><l>15</l><l>15</l></block><block s="setHeading"><l>90</l></block><block s="doSetVar"><l>lost</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>directions to head</l><block s="reportNewList"><list><block s="direction"></block></list></block></block><block s="down"></block><block s="doUntil"><block var="lost"/><script><block s="doWait"><l>0.05</l></block><block s="doIf"><block s="reportEquals"><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="direction"></block><block s="reportListItem"><l><option>last</option></l><block var="directions to head"/></block></block></block><l>180</l><comment w="150" collapsed="false">Don&apos;t allow snake to turn directly around, because then will run into itself and lose frustratingly.</comment></block><script><block s="setHeading"><block s="reportListItem"><l><option>last</option></l><block var="directions to head"/></block></block></script></block><block s="up"><comment w="157" collapsed="false">First move with pen up to check if lost by running into another part of snake. Otherwise, if the pen is always down, then the &quot;touching green&quot; block will always be true since would always be touching the start of the snake.</comment></block><block s="forward"><l>30</l></block><block s="doSetVar"><l>lost</l><block s="reportOr"><block s="reportTouchingObject"><l><option>edge</option></l></block><block s="reportTouchingColor"><color>138,192,31,1</color></block></block></block><block s="forward"><l>-30</l></block><block s="down"></block><block s="forward"><l>30</l></block><block s="doInsertInList"><block s="direction"></block><l><option>last</option></l><block var="directions to head"/></block><block s="doIfElse"><block s="reportTouchingObject"><l>apple</l></block><script><block s="doBroadcastAndWait"><l>relocate_apple</l><comment w="80" collapsed="false">The snake will also grow in length since not broadcasting move_tail.</comment></block></script><script><block s="doBroadcastAndWait"><l>move_tail</l></block></script></block></script></block><block s="bubble"><block s="reportJoinWords"><list><l>Score: </l><block s="reportDifference"><block s="reportListLength"><block var="directions to head"/></block><l>1</l></block></list></block></block></script><script x="20" y="710.9999999999999"><block s="receiveKey"><l><option>up arrow</option></l></block><block s="setHeading"><l>0</l></block></script><script x="20" y="783.9999999999999"><block s="receiveKey"><l><option>left arrow</option></l></block><block s="setHeading"><l>-90</l></block></script><script x="20" y="856.9999999999999"><block s="receiveKey"><l><option>down arrow</option></l></block><block s="setHeading"><l>180</l></block></script><script x="20" y="929.9999999999999"><block s="receiveKey"><l><option>right arrow</option></l></block><block s="setHeading"><l>90</l></block></script></scripts></sprite><sprite name="apple" idx="1" x="-111" y="134" heading="90" scale="0.7" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="30.34499999999993,0,216.75,1" pen="tip" id="164"><costumes><list id="165"><item><costume name="apple" center-x="31" center-y="31.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJhcHBsZTEiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNjIuMjE4cHgiIGhlaWdodD0iNjMuMzc1cHgiIHZpZXdCb3g9IjAgMCA2Mi4yMTggNjMuMzc1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2Mi4yMTggNjMuMzc1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICA8Zz4KICAgIDxnIGlkPSJBcHBsZSI+CiAgICAgIDxwYXRoIGlkPSJGaWxsXzFfIiBmaWxsPSIjRUMxQzJDIiBkPSJNNTkuMDgzLDM0LjQwMmMwLDE0LjUyNy0xMi41MjUsMjYuMzA3LTI3Ljk3OCwyNi4zMDdjLTE1LjQ1MywwLTI3Ljk3Ny0xMS43NzUtMjcuOTc3LTI2LjMwNyYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAtMTQuNTI3LDEyLjUyMy0yMS4yNzUsMjcuOTc3LTIxLjI3NUM0Ni41NTcsMTMuMTI2LDU5LjA4MywxOS44NzYsNTkuMDgzLDM0LjQwMnoiLz4KICAgICAgPGcgaWQ9Ik91dGxpbmVfMV8iPgogICAgICAgIDxwYXRoIGlkPSJPdXRsaW5lXzJfIiBmaWxsPSIjMjMxRjIwIiBkPSJNMzQuMjg1LDExLjk2Yy00LjYwOC0wLjM5MS05LjEzNiwwLjE4OS05LjEzNiwwLjE4OUMxMC44MjEsMTMuNDczLDAsMTkuODgzLDAsMzQuMTIxJiN4RDsmI3hBOyYjeDk7JiN4OTsmI3g5O2MwLDE2LjE1NiwxMy45MjgsMjkuMjU0LDMxLjEwNywyOS4yNTRjMTcuMTgyLDAsMzEuMTA5LTEzLjA5OCwzMS4xMDktMjkuMjU0QzYyLjIxNiwxOC45NzcsNDkuOTY5LDEyLjY5LDM0LjI4NSwxMS45NnomI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7IE0zMS4xMDgsNTkuMzMzYy0xNC41NTksMC0yNi4zNTctMTEuMDk5LTI2LjM1Ny0yNC43ODVjMC0xMi4wNjQsOS4xNjktMTguNDMzLDIxLjMxNC0xOS43NzRjMC4yNDktMC4wMjksOC40NTYtMC4xNDQsOC40NTYtMC4xNDQmI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7YzEyLjk0MiwwLjkzNiwyMi45NDksNy4zMTgsMjIuOTQ5LDE5LjkyQzU3LjQ2NCw0OC4yMzYsNDUuNjY2LDU5LjMzMywzMS4xMDgsNTkuMzMzeiIvPgogICAgICAgIDxwYXRoIGlkPSJMaW5lIiBmaWxsPSIjMjMxRjIwIiBkPSJNNDAuMzMyLDE5LjA2MmMtMi4zMDMtMC43NjEtNC42MTctMC4yNDEtNi45MjksMC4zODljLTEuOTE2LDAuNjA4LTYuMTEyLDEuMTYyLTYuMTksMS4wOTgmI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7Yy0xLjE5OC0wLjA1OC0yLjM4OS0wLjM1OC0zLjU3MS0xLjA5OWMtMC40OC0wLjMwMy0wLjk4MiwwLjM3OC0wLjU5OCwwLjc3M2MxLjc2OCwxLjgwMyw0LjA2OCwxLjc4Miw2LjQ1NSwxLjUxNCYjeEQ7JiN4QTsmI3g5OyYjeDk7JiN4OTtjMy41NzUtMC40MDEsNi45OTMtMC40OTEsMTAuNTYxLTAuNjcyQzQxLjIyLDIxLjAwNCw0MS40MzMsMTkuNDI2LDQwLjMzMiwxOS4wNjJ6Ii8+CiAgICAgIDwvZz4KICAgICAgPHBhdGggaWQ9IlNoaW5lIiBmaWxsPSIjRkZGRkZGIiBkPSJNMTIuNTU1LDM0LjI2MWMwLDMuNDMxLDEuODUsNi4yMTItMC4wODQsNi4yMTJjLTEuOTM0LDAtMy41LTIuNzgxLTMuNS02LjIxMiYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAtMy40MywxLjU2Ni02LjIxMSwzLjUtNi4yMTFDMTQuNDA1LDI4LjA1LDEyLjU1NSwzMC44MzIsMTIuNTU1LDM0LjI2MXoiLz4KICAgIDwvZz4KICAgIDxnIGlkPSJTdGVtIj4KICAgICAgPHBhdGggaWQ9IkZpbGwiIGZpbGw9IiM5OTY2MUQiIGQ9Ik0yOS41MTUsMjAuNzY2YzAuMzcxLTAuMDY2LDAuOTczLTAuMTMsMS4zNDgtMC4yMTljMC4wNjItNC44MjcsMC41MzgtOS42NDgtMS42MjQtMTQuMjEyJiN4RDsmI3hBOyYjeDk7JiN4OTtjLTAuNTkyLTEuMjUzLTEuMzMtMi4zNTQtMi4wNjQtMy40ODJjLTEuMDIsMC42MTEtMi4wMzgsMS4yMjMtMy4wNTksMS44MzNDMjguMzEsOC45ODIsMjkuNzczLDE0LjYxOCwyOS41MTUsMjAuNzY2eiIvPgogICAgICA8cGF0aCBpZD0iT3V0bGluZSIgZmlsbD0iIzIzMUYyMCIgZD0iTTI4LjYwMiwwLjZjLTAuMzkzLTAuNTIzLTEuMDc4LTAuNzgyLTEuNjU4LTAuNDM1Yy0xLjgwNSwxLjA4NC0zLjYwNywyLjE2OC01LjQxNCwzLjI1MiYjeEQ7JiN4QTsmI3g5OyYjeDk7Yy0wLjYzNywwLjM4My0wLjgzOCwxLjM3MS0wLjI0MiwxLjg5OGMzLjQ3NywzLjA5MSw0LjYxNyw2LjA0MSw0LjksNi41NTdjMC41OTIsMS4wODEsMS41OTIsNC41MzQsMS41NjIsNy43NDlsMC4wNDYsMS42MDkmI3hEOyYjeEE7JiN4OTsmI3g5O2MxLjQ3OSwwLjU2Miw1LjI1LTAuNTYyLDUuMjUtMC41NjJjMC4wMjEtMC4zNTQsMC4yNTEtMi4yMywwLjI1MS0yLjIzQzMzLjQ2NiwxNy42NzcsMzQuMTMsNy45NTgsMjguNjAyLDAuNnogTTMwLjc1NSwyMC4zOCYjeEQ7JiN4QTsmI3g5OyYjeDk7bC0xLjEwOSwwLjE0MXYtMS4xNTJjMC4wNS01LjcxNC0xLjU2OC0xMC42MjUtNS41My0xNC42ODNjMS4wMjEtMC42MSwyLjAzOS0xLjIyMiwzLjA1OS0xLjgzMyYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAuNzM0LDEuMTI4LDEuNDcyLDIuMjI5LDIuMDY0LDMuNDgyYzIuMDEyLDQuMjQ3LDEuNjM0LDguMzc1LDEuNTIyLDEyLjgxN0wzMC43NTUsMjAuMzh6Ii8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4=" id="166"/></item></list></costumes><sounds><list struct="atomic" id="167"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="gotoXY"><l>150</l><l>15</l></block><block s="setScale"><l>70</l></block></script><script x="20" y="115"><block s="receiveMessage"><l>relocate_apple</l></block><block s="gotoXY"><block s="reportRandom"><l>-230</l><l>230</l></block><block s="reportRandom"><l>-140</l><l>140</l></block></block></script><script x="20" y="192"><block s="receiveKey"><l><option>1</option></l></block><block s="doSetVar"><l>two_players</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script x="20" y="270"><block s="receiveKey"><l><option>2</option></l></block><block s="doSetVar"><l>two_players</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></scripts></sprite><sprite name="head2" idx="4" x="985" y="-15" heading="90" scale="0.01" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="74,108,212,1" pen="tip" id="202"><costumes><list struct="atomic" id="203"></list></costumes><sounds><list struct="atomic" id="204"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20"><block s="receiveGo"><comment w="492" collapsed="false">This and tail2 are copies of the &quot;head&quot; and &quot;tail&quot; sprites with the following changes:&#xD;- Add the &quot;if not two_players&quot; block to stop this script with the head2 sprite off screen if in single player mode.&#xD;- Use a blue pen instead of a green pen.&#xD;- Use the w, a, s, d keys instead of arrow keys&#xD;- Start the game at a slightly different location.&#xD;- Use the variables &quot;past_directions2&quot; and &quot;lost2&quot; instead of &quot;past_directions&quot; and &quot;lost&quot;.&#xD;- Use &quot;move_tail2&quot; message to broadcast when to move the player 2 tail (instead of the player 1 tail).</comment></block><block s="up"></block><block s="clear"></block><block s="setColor"><color>74,108,212,1</color></block><block s="setSize"><l>10</l></block><block s="bubble"><l></l></block><block s="setScale"><l>0</l></block><block s="gotoXY"><l>-15</l><l>-15</l></block><block s="setHeading"><l>90</l></block><block s="doSetVar"><l>lost2</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>directions to head2</l><block s="reportNewList"><list><block s="direction"></block></list></block></block><block s="doIf"><block s="reportNot"><block var="two_players"/></block><script><block s="changeXPosition"><l>1000</l></block><block s="doStopThis"><l><option>this script</option></l></block></script></block><block s="down"></block><block s="doUntil"><block var="lost2"/><script><block s="doWait"><l>0.05</l></block><block s="doIf"><block s="reportEquals"><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="direction"></block><block s="reportListItem"><l><option>last</option></l><block var="directions to head2"/></block></block></block><l>180</l></block><script><block s="setHeading"><block s="reportListItem"><l><option>last</option></l><block var="directions to head2"/></block></block></script></block><block s="up"></block><block s="forward"><l>30</l></block><block s="doSetVar"><l>lost2</l><block s="reportOr"><block s="reportTouchingObject"><l><option>edge</option></l></block><block s="reportTouchingColor"><color>74,108,212,1</color></block></block></block><block s="forward"><l>-30</l></block><block s="down"></block><block s="forward"><l>30</l></block><block s="doInsertInList"><block s="direction"></block><l><option>last</option></l><block var="directions to head2"/></block><block s="doIfElse"><block s="reportTouchingObject"><l>apple</l></block><script><block s="doBroadcastAndWait"><l>relocate_apple</l></block></script><script><block s="doBroadcastAndWait"><l>move_tail2</l></block></script></block></script></block><block s="bubble"><block s="reportJoinWords"><list><l>Score: </l><block s="reportDifference"><block s="reportListLength"><block var="directions to head2"/></block><l>1</l></block></list></block></block></script><script x="20" y="789"><block s="receiveKey"><l><option>w</option></l></block><block s="setHeading"><l>0</l></block></script><script x="20" y="862"><block s="receiveKey"><l><option>a</option></l></block><block s="setHeading"><l>-90</l></block></script><script x="20" y="935"><block s="receiveKey"><l><option>s</option></l></block><block s="setHeading"><l>180</l></block></script><script x="20" y="1008"><block s="receiveKey"><l><option>d</option></l></block><block s="setHeading"><l>90</l></block></script></scripts></sprite><sprite name="tail2" idx="5" x="-45" y="-15" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="255,255,255,1" pen="tip" id="339"><costumes><list struct="atomic" id="340"></list></costumes><sounds><list struct="atomic" id="341"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="up"></block><block s="gotoXY"><l>-45</l><l>-15</l></block><block s="hide"></block><block s="setColor"><color>255,255,255,1</color></block><block s="setSize"><l>12</l><comment w="233" collapsed="false">Draw slightly larger than the head2 sprite in order to erase entire width of snake. Otherwise get creepy blue lines that were missed when erasing.</comment></block><block s="down"></block></script><script x="20" y="214"><block s="receiveMessage"><l>move_tail2</l></block><block s="setHeading"><block s="reportListItem"><l>1</l><block var="directions to head2"/></block></block><block s="forward"><l>30</l></block><block s="doDeleteFromList"><l>1</l><block var="directions to head2"/></block></script></scripts></sprite><watcher scope="head" s="xPosition" style="normal" x="67.4653220488417" y="67.465322048842" color="74,108,212" hidden="true"/><watcher scope="head" s="yPosition" style="normal" x="67.4653220488417" y="269.86130168843266" color="74,108,212" hidden="true"/><watcher scope="Stage" s="getLastMessage" style="normal" x="84.11260930764706" y="588.7882987985746" color="230,168,34" hidden="true"/><watcher scope="Stage" s="getLastAnswer" style="normal" x="84.11260930764706" y="2851.417438706722" color="4,148,220" hidden="true"/><watcher var="lost" style="normal" x="31.705296093975903" y="31.70529609397603" color="243,118,29" hidden="true"/><watcher var="lost2" style="normal" x="13.339847005208412" y="41.35352838411518" color="243,118,29" hidden="true"/><watcher var="two_players" style="normal" x="97.38088313802109" y="74.70314856510534" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks></blocks><variables><variable name="lost"><bool>true</bool></variable><variable name="lost2"><bool>false</bool></variable><variable name="two_players"><bool>false</bool></variable><variable name="directions to head"><list struct="atomic" id="377">180,180,180,180</list></variable><variable name="directions to head2"><list struct="atomic" id="378">90</list></variable></variables></project><media name="Supplementary 8: Snake" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>