the Goddess watches the tyger get bored and [[leave|Start]].<<set $answered to true>>
the lake is beautiful to [[all|Start]].
he curses the [[Goddess|Start]].
you are <<cyclinglink $identity "the guru" "the tortoise" "a sunflower" "the Goddess" "the tyger">>.\n\n[[be|Starter]].
the tortoise prays, “[[help!|Start]]”
the tyger <<if visited("Smile")>>[[smiles|Start]]<<else if $answered>> slinks off to the [[lake|Lake]]<<set $slinks to true>><<else if visited("tyger5")>>paces around the [[tortoise|Start]]<<else>>is hunting his [[prey|tyger3]]<<endif>>.
the tyger [[smiles|Start]].
[[state.restart()]]<<playsound "block.mp3">>
the Goddess scares the tyger [[away|Start]].<<set $answered to true>>
the Goddess sees <<if $answered>>[[all|Start]]<<else if visited("tyger5")>>beauty, hope, and [[everything|Start]]<<elseif>>darkness, hunger, and [[herself|Start]]<<endif>>.
the guru is [[depressed|the guru 2]].
“cheer up, tyger!” she says. “look at the beautiful [[lake|Smile]]!”
the sunflower <<if visited("Smile")>>[[loves|Start]]<<else if $slinks is true and visited("Goddess-do")>>sees the tyger slink out of the [[woods|sunflowerwoods]]<<set $solved to true>><<else if visited("Goddess-do")>>grows on the shore of the [[lake|Lake]]<<else>>is shrouded in [[darkness|sunflower2]]<<endif>>.
(function () {\n "use strict";\n version.extensions['soundMacros'] = {\n major: 1,\n minor: 1,\n revision: 2\n };\n var p = macros['playsound'] = {\n soundtracks: {},\n handler: function (a, b, c, d) {\n var loop = function (m) {\n if (m.loop == undefined) {\n m.loopfn = function () {\n this.play();\n };\n m.addEventListener('ended', m.loopfn, 0);\n } else m.loop = true;\n m.play();\n };\n var s = eval(d.fullArgs());\n if (s) {\n s = s.toString();\n var m = this.soundtracks[s.slice(0, s.lastIndexOf("."))];\n if (m) {\n if (b == "playsound") {\n m.play();\n } else if (b == "loopsound") {\n loop(m);\n } else if (b == "pausesound") {\n m.pause();\n } else if (b == "unloopsound") {\n if (m.loop != undefined) {\n m.loop = false;\n } else if (m.loopfn) {\n m.removeEventListener('ended', m.loopfn);\n delete m.loopfn;\n }\n } else if (b == "stopsound") {\n m.pause();\n m.currentTime = 0;\n } else if (b == "fadeoutsound" || b == "fadeinsound") {\n if (m.interval) clearInterval(m.interval);\n if (b == "fadeinsound") {\n if (m.currentTime>0) return;\n m.volume = 0;\n loop(m);\n } else {\n if (!m.currentTime) return;\n m.play();\n }\n var v = m.volume;\n m.interval = setInterval(function () {\n v = Math.min(1, Math.max(0, v + 0.005 * (b == "fadeinsound" ? 1 : -1)));\n m.volume = Math.easeInOut(v);\n if (v == 0 || v == 1) clearInterval(m.interval);\n if (v == 0) {\n m.pause();\n m.currentTime = 0;\n m.volume = 1;\n }\n }, 10);\n }\n }\n }\n }\n }\n macros['fadeinsound'] = p;\n macros['fadeoutsound'] = p;\n macros['unloopsound'] = p;\n macros['loopsound'] = p;\n macros['pausesound'] = p;\n macros['stopsound'] = p;\n macros['stopallsound'] = {\n handler: function () {\n var s = macros.playsound.soundtracks;\n for (var j in s) {\n\t\tif (s.hasOwnProperty(j)) {\n s[j].pause();\n if (s[j].currentTime) {\n\t\t s[j].currentTime = 0;\n\t\t }\n\t\t}\n }\n }\n }\n var div = document.getElementById("storeArea").firstChild;\n var fe = ["ogg", "mp3", "wav", "webm"];\n while (div) {\n var b = String.fromCharCode(92);\n var q = '"';\n var re = "['" + q + "]([^" + q + "']*?)" + b + ".(ogg|mp3|wav|webm)['" + q + "]";\n k(new RegExp(re, "gi"));\n div = div.nextSibling;\n }\n\n function k(c, e) {\n do {\n var d = c.exec(div.innerHTML);\n if (d) {\n var a = new Audio();\n if (a.canPlayType) {\n for (var i = -1; i < fe.length; i += 1) {\n if (i >= 0) d[2] = fe[i];\n if (a.canPlayType("audio/" + d[2])) break;\n }\n if (i < fe.length) {\n a.setAttribute("src", d[1] + "." + d[2]);\n a.interval = null;\n\t\t\tif (d[1] == "music") a.volume = .1;\n macros.playsound.soundtracks[d[1]] = a;\n } else console.log("Browser can't play '" + d[1] + "'");\n }\n }\n } while (d);\n }\n}());
there is nothing she cannot [[see|Goddess-see]] or [[do|Goddess-do]].
the tortoise <<if $thanked is true>>goes and tells the guru what [[happened|guruhappened]].<<else if $answered>>pokes out his head and says, “thank you, [[Goddess|the tortoise]].”<<set $thanked to true>><<else if visited("tyger5")>>is shrounded in [[darkness|tortoisePrayer]].<<else>>is [[hungry|the tortoise2]].<<endif>>
the Goddess <<if $answered is true and visited("Goddess-do")>>[[is|Start]]<<else if $answered>>is [[all-powerful|Goddess2]]<<else if visited("tortoisePrayer")>>can [[answer|Goddess-answer]] or [[ignore|Goddess-ignore]] the prayer<<else>>is [[all-powerful|Goddess2]]<<endif>>.
the guru is #zen.<<playsound "notea0.mp3">>\n\n[[end.|TryToRestart]]
5 kōans
<<display $identity>><<identitor>>
many students come to [[play|gurugame2]].
the guru
the Goddess <<if visited() gt 1>>does [[all|Start]]<<else>>makes the sunflower [[grow|Start]]<<endif>>.
the tortoise says, “i wish i had some [[lettuce|the tortoise3]].”
version.extensions.cyclinglinkMacro={major:3,minor:3,revision:0};\nmacros.cyclinglink={handler:function(a,b,c){var rl="cyclingLink";\nfunction toggleText(w){w.classList.remove("cyclingLinkInit");\nw.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");\nw.style.display=((w.style.display=="none")?"inline":"none")}switch(c[c.length-1]){case"end":var end=true;\nc.pop();break;case"out":var out=true;c.pop();break}var v="";if(c.length&&c[0][0]=="$"){v=c[0].slice(1);\nc.shift()}var h=state.history[0].variables;if(out&&h[v]===""){return\n}var l=Wikifier.createInternalLink(a,null);l.className="internalLink cyclingLink";\nl.setAttribute("data-cycle",0);for(var i=0;i<c.length;i++){var on=(i==Math.max(c.indexOf(h[v]),0));\nvar d=insertElement(null,"span",null,"cyclingLinkInit cyclingLink"+((on)?"En":"Dis")+"abled");\nif(on){h[v]=c[i];l.setAttribute("data-cycle",i)}else{d.style.display="none"\n}insertText(d,c[i]);if(on&&end&&i==c.length-1){l.parentNode.replaceChild(d,l)\n}else{l.appendChild(d)}}l.onclick=function(){var t=this.childNodes;\nvar a = new Audio();\na.setAttribute("src", "block.mp3");\na.interval = null;\na.play();\nvar u=this.getAttribute("data-cycle")-0;var m=t.length;toggleText(t[u]);\nu=(u+1);if(!(out&&u==m)){u%=m;if(v){h[v]=c[u]}}else{h[v]=""}if((end||out)&&u==m-(end?1:0)){if(end){var n=this.removeChild(t[u]);\nn.className=rl+"End";n.style.display="inline";this.parentNode.replaceChild(n,this)\n}else{this.parentNode.removeChild(this);return}return}toggleText(t[u]);\nthis.setAttribute("data-cycle",u)}}};
/* Your story will use the CSS in this passage to style the page.\nGive this passage more tags, and it will only affect passages with those tags.\nExample selectors: */\n\nbody {\n\t/* This affects the entire page */\n\tbackground-color: white;\n\tcolor: black;\n\tfont-family: helvetica;\n}\n.passage {\n\t/* This only affects passages */\n\tfont-size: 40px;\n\t\n}\n.passage a {\n\t/* This affects passage links */\n\tcolor: black;\n\t\n}\n.passage a:hover {\n\t/* This affects links while the cursor is over them */\n\tcolor: green;\n\ttext-decoration: none;\n}\n#sidebar {\n\tdisplay: none;\n}\n#passages {\n\tborder-left: 0px;\n\tpadding-left: 0; \n\tmargin-top: 15%;\n\tmargin-left: auto;\n\tmargin-right: auto;\n\tmax-width: 500px;\n}
<<if $solved is true>>the guru says, “that's a wonderful story. i'll make it into a [[game|gurugame]].”<<set $gamed to true>><<else>>the guru says, “that story is missing [[something|Start]].”<<endif>>
this is the worst possible situation for a [[sunflower|Start]].
he has no [[students|the guru 3]].
he is [[poor|Start]].
delicious tortoise [[meat|tyger4]].
macros['identitor'] =\n{\n\thandler: function()\n\t{\n\t\tvar identity_now = state.history[0].variables['identity'];\n\t\tconsole.log(identity_now);\n\t\tif (identity_now == "the guru") play("notea0");\n\t\tif (identity_now == "the Goddess") play("notec0");\n\t\tif (identity_now == "a sunflower") play("noted0");\n\t\tif (identity_now == "the tortoise") play("notee0");\n\t\tif (identity_now == "the tyger") play("noteg0");\n\t}\n};\nfunction play(file_name) {\nvar a = new Audio();\nvar audio_array = ["mp3", "ogg"];\nvar fileformat = "";\nif (a.canPlayType) {\n for (var i = -1; i < audio_array.length; i += 1) {\n if (i >= 0) fileformat = audio_array[i];\n if (a.canPlayType("audio/" + fileformat)) break;\n }\nif (i < audio_array.length) {\n\ta.setAttribute("src", file_name + "." + fileformat);\n a.interval = null;\n a.play();\n} else console.log("Browser can't play '" + file_name + "'");\n}\n}
the tortoise crawls into his [[shell|Start]].
the tyger [[pounces|tyger5]]!