{"entry_id": "5370c630-084c-4fa6-95ca-5f8467a7bbb6", "infos": [{"txt": "Tour of CLIPSraylib", "language": "english", "position": {"atoms": [{"position_id": 0, "txt": "Tour of CLIPSraylib", "x": "//title"}]}, "tags": [], "label": "article_title", "web_segment_id": 0, "global_sentence_id": 0, "edu_l1_label": "BOT"}, {"txt": "(raylib-init-window 800 450 \"2D Camera Platform\")(deffacts cameras\t(camera center)\t(camera center center-inside-map)\t(camera center-inside-map center-smooth-follow)\t(camera center-smooth-follow even-out-landing)\t(camera even-out-landing player-bounds-push)\t(camera player-bounds-push center))(deffacts surfaces\t(surface 300 200 400 10) ;highest platform\t(surface 250 300 100 10) ;left platform\t(surface 650 300 100 10) ;right platform\t(surface 0 400 1000 200)) ;ground(deffacts physics\t(gravity 400))(deftemplate player\t(slot x (default 400))\t(slot y (default 280))\t(slot x-delta (default 0))\t(slot y-delta (default 0))\t(slot walk-speed (default 200.0))\t(slot jump-speed (default 350.0)))(deffunction c-pressed (?time)\t(raylib-is-key-pressed KEY_C))(deffunction r-pressed (?time)\t(raylib-is-key-down KEY_R))(deffunction space-pressed (?time)\t(raylib-is-key-down KEY_SPACE))(deffunction left-pressed (?time)\t(raylib-is-key-down KEY_LEFT))(deffunction right-pressed (?time)\t(raylib-is-key-down KEY_RIGHT))(defrule reset-player\t?player <- (player)\t(frame-time ?time)\t(should-exit FALSE)\t(test (r-pressed ?time))\t=>\t(modify ?player\t\t(x (deftemplate-slot-default-value player x))\t\t(y (deftemplate-slot-default-value player y))))(defrule jump\t?player <- (player\t\t(x ?playerx)\t\t(y ?playery)\t\t(y-delta 0)\t\t(jump-speed ?jump-speed))\t(frame-time ?time)\t(should-exit FALSE)\t(surface ?surfacex ?playery\t\t?width\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 60, "txt": "(raylib-init-window 800 450 \"2D Camera Platform\")\n\n(deffacts cameras\n\t(camera center)\n\t(camera center center-inside-map)\n\t(camera center-inside-map center-smooth-follow)\n\t(camera center-smooth-follow even-out-landing)\n\t(camera even-out-landing player-bounds-push)\n\t(camera player-bounds-push center))\n\n(deffacts surfaces\n\t(surface 300 200 400 10) ;highest platform\n\t(surface 250 300 100 10) ;left platform\n\t(surface 650 300 100 10) ;right platform\n\t(surface 0 400 1000 200)) ;ground\n\n(deffacts physics\n\t(gravity 400))\n\n(deftemplate player\n\t(slot x (default 400))\n\t(slot y (default 280))\n\t(slot x-delta (default 0))\n\t(slot y-delta (default 0))\n\t(slot walk-speed (default 200.0))\n\t(slot jump-speed (default 350.0)))\n\n(deffunction c-pressed (?time)\n\t(raylib-is-key-pressed KEY_C))\n\n(deffunction r-pressed (?time)\n\t(raylib-is-key-down KEY_R))\n\n(deffunction space-pressed (?time)\n\t(raylib-is-key-down KEY_SPACE))\n\n(deffunction left-pressed (?time)\n\t(raylib-is-key-down KEY_LEFT))\n\n(deffunction right-pressed (?time)\n\t(raylib-is-key-down KEY_RIGHT))\n\n(defrule reset-player\n\t?player <- (player)\n\t(frame-time ?time)\n\t(should-exit FALSE)\n\t(test (r-pressed ?time))\n\t=>\n\t(modify ?player\n\t\t(x (deftemplate-slot-default-value player x))\n\t\t(y (deftemplate-slot-default-value player y))))\n\n(defrule jump\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(y ?playery)\n\t\t(y-delta 0)\n\t\t(jump-speed ?jump-speed))\n\t(frame-time ?time)\n\t(should-exit FALSE)\n\t(surface ?surfacex ?playery\n\t\t?width\n\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "O", "web_segment_id": 5, "global_sentence_id": 1, "edu_l1_label": "IOS"}, {"txt": "(<= ?surfacex ?playerx)\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 61, "txt": "(<= ?surfacex ?playerx)\n\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 2, "edu_l1_label": "IOS"}, {"txt": "(>= (+ ?surfacex ?width) ?playerx)\t\t?)\t(not (new-player-y-delta ?))\t(test (space-pressed ?time))\t=>\t(assert\t\t(new-player-y (+ ?playery (* -1 ?jump-speed ?time)))\t\t(new-player-y-delta (* -1 ?jump-speed))))(defrule fall\t?player <- (player\t\t(x ?playerx)\t\t(y ?playery)\t\t(y-delta ?ydelta))\t(frame-time ?time)\t(gravity ?gravity)\t(should-exit FALSE)\t(not \t\t(surface ?surfacex\t\t\t?surfacey\t\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 62, "txt": "(>= (+ ?surfacex ?width) ?playerx)\n\t\t?)\n\t(not (new-player-y-delta ?))\n\t(test (space-pressed ?time))\n\t=>\n\t(assert\n\t\t(new-player-y (+ ?playery (* -1 ?jump-speed ?time)))\n\t\t(new-player-y-delta (* -1 ?jump-speed))))\n\n(defrule fall\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(y ?playery)\n\t\t(y-delta ?ydelta))\n\t(frame-time ?time)\n\t(gravity ?gravity)\n\t(should-exit FALSE)\n\t(not \n\t\t(surface ?surfacex\n\t\t\t?surfacey\n\t\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 3, "edu_l1_label": "IOS"}, {"txt": "(>= ?surfacey ?playery)\t\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 63, "txt": "(>= ?surfacey ?playery)\n\t\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 4, "edu_l1_label": "IOS"}, {"txt": "(<= ?surfacey (+ ?playery (* ?ydelta ?time)))\t\t\t?width\t\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 64, "txt": "(<= ?surfacey (+ ?playery (* ?ydelta ?time)))\n\t\t\t?width\n\t\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 5, "edu_l1_label": "IOS"}, {"txt": "(<= ?surfacex ?playerx)\t\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 65, "txt": "(<= ?surfacex ?playerx)\n\t\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 6, "edu_l1_label": "IOS"}, {"txt": "(>= (+ ?surfacex ?width) ?playerx)\t\t\t?))\t(not (new-player-y-delta ?))\t=>\t(assert\t\t(new-player-y (+ ?playery (* ?ydelta ?time)))\t\t(new-player-y-delta (+ ?ydelta (* ?time ?gravity)))))(defrule land\t?player <- (player\t\t(x ?playerx)\t\t(y ?playery)\t\t(y-delta ?ydelta&:", "language": "english", "position": {"atoms": [{"position_id": 66, "txt": "(>= (+ ?surfacex ?width) ?playerx)\n\t\t\t?))\n\t(not (new-player-y-delta ?))\n\t=>\n\t(assert\n\t\t(new-player-y (+ ?playery (* ?ydelta ?time)))\n\t\t(new-player-y-delta (+ ?ydelta (* ?time ?gravity)))))\n\n(defrule land\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(y ?playery)\n\t\t(y-delta ?ydelta&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 7, "edu_l1_label": "IOS"}, {"txt": "(> ?ydelta 0)))\t(frame-time ?time)\t(surface ?surfacex\t\t?surfacey\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 67, "txt": "(> ?ydelta 0)))\n\t(frame-time ?time)\n\t(surface ?surfacex\n\t\t?surfacey\n\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 8, "edu_l1_label": "IOS"}, {"txt": "(>= ?surfacey ?playery)\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 68, "txt": "(>= ?surfacey ?playery)\n\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 9, "edu_l1_label": "IOS"}, {"txt": "(<= ?surfacey (+ ?playery (* ?ydelta ?time)))\t\t?width\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 69, "txt": "(<= ?surfacey (+ ?playery (* ?ydelta ?time)))\n\t\t?width\n\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 10, "edu_l1_label": "IOS"}, {"txt": "(<= ?surfacex ?playerx)\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 70, "txt": "(<= ?surfacex ?playerx)\n\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 11, "edu_l1_label": "IOS"}, {"txt": "(>= (+ ?surfacex ?width) ?playerx)\t\t?)\t(should-exit FALSE)\t(not (new-player-y-delta ?))\t=>\t(assert\t\t(new-player-y ?surfacey)\t\t(new-player-y-delta 0)))(defrule on-the-ground\t?player <- (player\t\t(x ?playerx)\t\t(y ?playery)\t\t(y-delta 0))\t(frame-time ?time)\t(surface ?surfacex ?playery\t\t?width\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 71, "txt": "(>= (+ ?surfacex ?width) ?playerx)\n\t\t?)\n\t(should-exit FALSE)\n\t(not (new-player-y-delta ?))\n\t=>\n\t(assert\n\t\t(new-player-y ?surfacey)\n\t\t(new-player-y-delta 0)))\n\n(defrule on-the-ground\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(y ?playery)\n\t\t(y-delta 0))\n\t(frame-time ?time)\n\t(surface ?surfacex ?playery\n\t\t?width\n\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 12, "edu_l1_label": "IOS"}, {"txt": "(<= ?surfacex ?playerx)\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 72, "txt": "(<= ?surfacex ?playerx)\n\t\t\t&:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 13, "edu_l1_label": "IOS"}, {"txt": "(>= (+ ?surfacex ?width) ?playerx)\t\t?)\t(should-exit FALSE)\t(not (new-player-y-delta ?))\t(test (not (space-pressed ?time)))\t=>\t(assert\t\t(new-player-y ?playery)\t\t(new-player-y-delta 0)))(defrule standing-still\t?player <- (player\t\t(x ?playerx))\t(frame-time ?time)\t(should-exit FALSE)\t(not (new-player-x ?))\t(test (or\t\t(and\t\t\t(not (left-pressed ?time))\t\t\t(not (right-pressed ?time)))\t\t(and\t\t\t(left-pressed ?time)\t\t\t(right-pressed ?time))))\t=>\t(assert (new-player-x ?playerx)))(defrule move-left\t?player <- (player\t\t(x ?playerx)\t\t(walk-speed ?walk-speed))\t(frame-time ?time)\t(should-exit FALSE)\t(not (test (right-pressed ?time)))\t(not (new-player-x ?))\t(test (left-pressed ?time))\t=>\t(assert (new-player-x (- ?playerx (* ?time ?walk-speed)))))(defrule move-right\t?player <- (player\t\t(x ?playerx)\t\t(walk-speed ?walk-speed))\t(frame-time ?time)\t(should-exit FALSE)\t(not (test (left-pressed ?time)))\t(not (new-player-x ?))\t(test (right-pressed ?time))\t=>\t(assert (new-player-x (+ ?playerx (* ?time ?walk-speed)))))(defrule draw-scene-camera-center\t?player <- (player)\t?nx <- (new-player-x ?x)\t?ny <- (new-player-y ?y)\t?nyd <- (new-player-y-delta ?ydelta)\t?f <- (frame-time ?time)\t(camera center)\t(should-exit FALSE)\t=>\t(retract ?f ?nx ?ny ?nyd)\t(modify ?player\t\t(x ?x)\t\t(y ?y)\t\t(y-delta ?ydelta))\t(raylib-begin-drawing)\t\t(raylib-clear-background LIGHTGRAY)\t\t(raylib-begin-mode-2d 400 280 (integer ?x) (integer ?y))\t\t\t(raylib-draw-rectangle 0 0 1000 400 LIGHTGRAY) ;background\t\t\t(do-for-all-facts ((?s surface)) TRUE\t\t\t\t(raylib-draw-rectangle (nth$ 1 ?s:", "language": "english", "position": {"atoms": [{"position_id": 73, "txt": "(>= (+ ?surfacex ?width) ?playerx)\n\t\t?)\n\t(should-exit FALSE)\n\t(not (new-player-y-delta ?))\n\t(test (not (space-pressed ?time)))\n\t=>\n\t(assert\n\t\t(new-player-y ?playery)\n\t\t(new-player-y-delta 0)))\n\n(defrule standing-still\n\t?player <- (player\n\t\t(x ?playerx))\n\t(frame-time ?time)\n\t(should-exit FALSE)\n\t(not (new-player-x ?))\n\t(test (or\n\t\t(and\n\t\t\t(not (left-pressed ?time))\n\t\t\t(not (right-pressed ?time)))\n\t\t(and\n\t\t\t(left-pressed ?time)\n\t\t\t(right-pressed ?time))))\n\t=>\n\t(assert (new-player-x ?playerx)))\n\n(defrule move-left\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(walk-speed ?walk-speed))\n\t(frame-time ?time)\n\t(should-exit FALSE)\n\t(not (test (right-pressed ?time)))\n\t(not (new-player-x ?))\n\t(test (left-pressed ?time))\n\t=>\n\t(assert (new-player-x (- ?playerx (* ?time ?walk-speed)))))\n\n(defrule move-right\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(walk-speed ?walk-speed))\n\t(frame-time ?time)\n\t(should-exit FALSE)\n\t(not (test (left-pressed ?time)))\n\t(not (new-player-x ?))\n\t(test (right-pressed ?time))\n\t=>\n\t(assert (new-player-x (+ ?playerx (* ?time ?walk-speed)))))\n\n(defrule draw-scene-camera-center\n\t?player <- (player)\n\t?nx <- (new-player-x ?x)\n\t?ny <- (new-player-y ?y)\n\t?nyd <- (new-player-y-delta ?ydelta)\n\t?f <- (frame-time ?time)\n\t(camera center)\n\t(should-exit FALSE)\n\t=>\n\t(retract ?f ?nx ?ny ?nyd)\n\t(modify ?player\n\t\t(x ?x)\n\t\t(y ?y)\n\t\t(y-delta ?ydelta))\n\t(raylib-begin-drawing)\n\t\t(raylib-clear-background LIGHTGRAY)\n\t\t(raylib-begin-mode-2d 400 280 (integer ?x) (integer ?y))\n\t\t\t(raylib-draw-rectangle 0 0 1000 400 LIGHTGRAY) ;background\n\t\t\t(do-for-all-facts ((?s surface)) TRUE\n\t\t\t\t(raylib-draw-rectangle (nth$ 1 ?s:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 14, "edu_l1_label": "IOS"}, {"txt": "implied) (nth$ 2 ?s:", "language": "english", "position": {"atoms": [{"position_id": 74, "txt": "implied) (nth$ 2 ?s:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 15, "edu_l1_label": "IOS"}, {"txt": "implied) (nth$ 3 ?s:", "language": "english", "position": {"atoms": [{"position_id": 75, "txt": "implied) (nth$ 3 ?s:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 16, "edu_l1_label": "IOS"}, {"txt": "implied) (nth$ 4 ?s:", "language": "english", "position": {"atoms": [{"position_id": 76, "txt": "implied) (nth$ 4 ?s:", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 17, "edu_l1_label": "IOS"}, {"txt": "implied) GRAY))\t\t\t(raylib-draw-rectangle (- (integer ?x) 20) (- (integer ?y) 40) 40 40 RED) ;player\t\t(raylib-end-mode-2d)\t\t(raylib-draw-text \"Controls:\"", "language": "english", "position": {"atoms": [{"position_id": 77, "txt": "implied) GRAY))\n\n\t\t\t(raylib-draw-rectangle (- (integer ?x) 20) (- (integer ?y) 40) 40 40 RED) ;player\n\t\t(raylib-end-mode-2d)\n\n\t\t(raylib-draw-text \"Controls:\"", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 18, "edu_l1_label": "IOS"}, {"txt": " 20 20 10 BLACK)\t\t(raylib-draw-text \"- Right/Left to move\" 40 40 10 DARKGRAY)\t\t(raylib-draw-text \"- Space to jump\" 40 60 10 DARKGRAY)\t\t(raylib-draw-text \"- Mouse Wheel to Zoom in-out (not yet implemented), R to reset character\" 40 80 10 DARKGRAY)\t\t(raylib-draw-text \"- C to change camera mode (not yet implemented)\" 40 100 10 DARKGRAY)\t\t(raylib-draw-text \"Current camera mode:\"", "language": "english", "position": {"atoms": [{"position_id": 78, "txt": " 20 20 10 BLACK)\n\t\t(raylib-draw-text \"- Right/Left to move\" 40 40 10 DARKGRAY)\n\t\t(raylib-draw-text \"- Space to jump\" 40 60 10 DARKGRAY)\n\t\t(raylib-draw-text \"- Mouse Wheel to Zoom in-out (not yet implemented), R to reset character\" 40 80 10 DARKGRAY)\n\t\t(raylib-draw-text \"- C to change camera mode (not yet implemented)\" 40 100 10 DARKGRAY)\n\t\t(raylib-draw-text \"Current camera mode:\"", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 19, "edu_l1_label": "IOS"}, {"txt": " 20 120 10 BLACK)\t(raylib-end-drawing)\t(assert\t\t(frame-time (raylib-get-frame-time))\t\t(should-exit (raylib-window-should-close))))(defrule die\t(should-exit TRUE)\t=>\t(println \"Done.", "language": "english", "position": {"atoms": [{"position_id": 79, "txt": " 20 120 10 BLACK)\n\t(raylib-end-drawing)\n\t(assert\n\t\t(frame-time (raylib-get-frame-time))\n\t\t(should-exit (raylib-window-should-close))))\n\n(defrule die\n\t(should-exit TRUE)\n\t=>\n\t(println \"Done.", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 20, "edu_l1_label": "IOS"}, {"txt": " Exiting...\")\t(raylib-close-window)\t(exit))(reset)(assert\t(player)\t(frame-time 0)\t(should-exit FALSE))(raylib-set-target-fps 60)(run)", "language": "english", "position": {"atoms": [{"position_id": 80, "txt": " Exiting...\")\n\t(raylib-close-window)\n\t(exit))\n\n(reset)\n(assert\n\t(player)\n\t(frame-time 0)\n\t(should-exit FALSE))\n(raylib-set-target-fps 60)\n(run)", "x": "/html/body/div[1]/div[2]/div[1]"}]}, "tags": [], "label": "code", "web_segment_id": 5, "global_sentence_id": 21, "edu_l1_label": "IOS"}, {"txt": "\t  Programs:", "language": "english", "position": {"atoms": [{"position_id": 82, "txt": "\n\t  Programs:", "x": "/html/body/div[1]/div[2]/div[2]"}]}, "tags": [], "label": "O", "web_segment_id": 6, "global_sentence_id": 22, "edu_l1_label": "EDU_O"}, {"txt": "What is this?", "language": "english", "position": {"atoms": [{"position_id": 84, "txt": "What is this?", "x": "/html/body/div[2]/h2[1]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 8, "global_sentence_id": 23, "edu_l1_label": "BOS"}, {"txt": "\tThis site,\tTour of CLIPSraylib,\tis\tWasm-CLIPSraylib,\ta site demonstrating how you can build videogames in real time in your browser\tusing\tCLIPS,\traylib,\tand\tEmscripten.", "language": "english", "position": {"atoms": [{"position_id": 86, "txt": "\n\tThis site,\n\t", "x": "/html/body/div[2]/p[1]"}, {"position_id": 88, "txt": "Tour of CLIPSraylib", "x": "/html/body/div[2]/p[1]/a[1]"}, {"position_id": 90, "txt": ",\n\tis\n\t", "x": "/html/body/div[2]/p[1]/a[1]"}, {"position_id": 92, "txt": "Wasm-CLIPSraylib", "x": "/html/body/div[2]/p[1]/a[2]"}, {"position_id": 94, "txt": ",\n\ta site demonstrating how you can build videogames in real time in your browser\n\tusing\n\t", "x": "/html/body/div[2]/p[1]/a[2]"}, {"position_id": 96, "txt": "CLIPS", "x": "/html/body/div[2]/p[1]/a[3]"}, {"position_id": 98, "txt": ",\n\t", "x": "/html/body/div[2]/p[1]/a[3]"}, {"position_id": 100, "txt": "raylib", "x": "/html/body/div[2]/p[1]/a[4]"}, {"position_id": 102, "txt": ",\n\tand\n\t", "x": "/html/body/div[2]/p[1]/a[4]"}, {"position_id": 104, "txt": "Emscripten", "x": "/html/body/div[2]/p[1]/a[5]"}, {"position_id": 106, "txt": ".", "x": "/html/body/div[2]/p[1]/a[5]"}]}, "tags": [], "label": "content", "web_segment_id": 9, "global_sentence_id": 24, "edu_l1_label": "IOS"}, {"txt": "\tIt lets you make changes to the code in the textarea HTML element\tand render the changes to a canvas element.", "language": "english", "position": {"atoms": [{"position_id": 107, "txt": "\n\tIt lets you make changes to the code in the ", "x": "/html/body/div[2]/p[1]/a[5]"}, {"position_id": 109, "txt": "textarea", "x": "/html/body/div[2]/p[1]/code[1]"}, {"position_id": 111, "txt": " HTML element\n\tand render the changes to a ", "x": "/html/body/div[2]/p[1]/code[1]"}, {"position_id": 113, "txt": "canvas", "x": "/html/body/div[2]/p[1]/code[2]"}, {"position_id": 115, "txt": " element.", "x": "/html/body/div[2]/p[1]/code[2]"}]}, "tags": [], "label": "content", "web_segment_id": 9, "global_sentence_id": 25, "edu_l1_label": "IOS"}, {"txt": "\tIt uses no other front-end frameworks to accomplish this.", "language": "english", "position": {"atoms": [{"position_id": 116, "txt": "\n\tIt uses no other front-end frameworks to accomplish this.", "x": "/html/body/div[2]/p[1]/code[2]"}]}, "tags": [], "label": "content", "web_segment_id": 9, "global_sentence_id": 26, "edu_l1_label": "IOS"}, {"txt": "What is CLIPS?", "language": "english", "position": {"atoms": [{"position_id": 118, "txt": "What is CLIPS?", "x": "/html/body/div[2]/h2[2]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 10, "global_sentence_id": 27, "edu_l1_label": "BOS"}, {"txt": "CLIPS\tis a programming language well suited for building\tRules Engines,\tprograms that express your business logic as \"Rules\" and \"Facts.\"", "language": "english", "position": {"atoms": [{"position_id": 120, "txt": "CLIPS", "x": "/html/body/div[2]/p[2]/a[1]"}, {"position_id": 122, "txt": "\n\tis a programming language well suited for building\n\t", "x": "/html/body/div[2]/p[2]/a[1]"}, {"position_id": 124, "txt": "Rules Engines", "x": "/html/body/div[2]/p[2]/a[2]"}, {"position_id": 126, "txt": ",\n\tprograms that express your business logic as \"Rules\" and \"Facts.\"", "x": "/html/body/div[2]/p[2]/a[2]"}]}, "tags": [], "label": "content", "web_segment_id": 11, "global_sentence_id": 28, "edu_l1_label": "IOS"}, {"txt": "\tIt was originally written by engineers at NASA between 1985 and 1996 and was touted\tas \"NASA's AI Language.\"", "language": "english", "position": {"atoms": [{"position_id": 127, "txt": "\n\tIt was originally written by engineers at NASA between 1985 and 1996 and was touted\n\tas \"NASA's AI Language.\"", "x": "/html/body/div[2]/p[2]/a[2]"}]}, "tags": [], "label": "content", "web_segment_id": 11, "global_sentence_id": 29, "edu_l1_label": "IOS"}, {"txt": "\tIt is still actively maintained by one of the original programmers,\tGary Riley.", "language": "english", "position": {"atoms": [{"position_id": 128, "txt": "\n\tIt is still actively maintained by one of the original programmers,\n\t", "x": "/html/body/div[2]/p[2]/a[2]"}, {"position_id": 130, "txt": "Gary Riley", "x": "/html/body/div[2]/p[2]/a[3]"}, {"position_id": 132, "txt": ".", "x": "/html/body/div[2]/p[2]/a[3]"}]}, "tags": [], "label": "content", "web_segment_id": 11, "global_sentence_id": 30, "edu_l1_label": "IOS"}, {"txt": "\tCLIPS is very convenient for building Video Games because\tGames express instructions for playing them as \"Rules.\"  ", "language": "english", "position": {"atoms": [{"position_id": 133, "txt": "\n\tCLIPS is very convenient for building Video Games because\n\tGames express instructions for playing them as \"Rules.\"\n  ", "x": "/html/body/div[2]/p[2]/a[3]"}]}, "tags": [], "label": "content", "web_segment_id": 11, "global_sentence_id": 31, "edu_l1_label": "IOS"}, {"txt": "What is raylib?", "language": "english", "position": {"atoms": [{"position_id": 135, "txt": "What is raylib?", "x": "/html/body/div[2]/h2[3]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 12, "global_sentence_id": 32, "edu_l1_label": "BOS"}, {"txt": "raylib\tis \"a simple and easy-to-use library to enjoy videogames programming.\"", "language": "english", "position": {"atoms": [{"position_id": 137, "txt": "raylib", "x": "/html/body/div[2]/p[3]/a[1]"}, {"position_id": 139, "txt": "\n\tis \"a simple and easy-to-use library to enjoy videogames programming.\"", "x": "/html/body/div[2]/p[3]/a[1]"}]}, "tags": [], "label": "content", "web_segment_id": 13, "global_sentence_id": 33, "edu_l1_label": "IOS"}, {"txt": "\tIts lead developer is\traysan,\ta University Lecturer at\tTechnoCampus.", "language": "english", "position": {"atoms": [{"position_id": 140, "txt": "\n\tIts lead developer is\n\t", "x": "/html/body/div[2]/p[3]/a[1]"}, {"position_id": 142, "txt": "raysan", "x": "/html/body/div[2]/p[3]/a[2]"}, {"position_id": 144, "txt": ",\n\ta University Lecturer at\n\t", "x": "/html/body/div[2]/p[3]/a[2]"}, {"position_id": 146, "txt": "TechnoCampus", "x": "/html/body/div[2]/p[3]/a[3]"}, {"position_id": 148, "txt": ".", "x": "/html/body/div[2]/p[3]/a[3]"}]}, "tags": [], "label": "content", "web_segment_id": 13, "global_sentence_id": 34, "edu_l1_label": "IOS"}, {"txt": "\traylib works really well with CLIPS because its API is very easy to implement\tas CLIPS User Defined Functions.", "language": "english", "position": {"atoms": [{"position_id": 149, "txt": "\n\traylib works really well with CLIPS because its API is very easy to implement\n\tas CLIPS User Defined Functions.", "x": "/html/body/div[2]/p[3]/a[3]"}]}, "tags": [], "label": "content", "web_segment_id": 13, "global_sentence_id": 35, "edu_l1_label": "IOS"}, {"txt": "What is Emscripten?", "language": "english", "position": {"atoms": [{"position_id": 151, "txt": "What is Emscripten?", "x": "/html/body/div[2]/h2[4]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 14, "global_sentence_id": 36, "edu_l1_label": "BOS"}, {"txt": "Emscripten\tis \"a complete compiler toolchain to WebAssembly, using LLVM,\twith a special focus on speed, size, and the Web platform.\"", "language": "english", "position": {"atoms": [{"position_id": 153, "txt": "Emscripten", "x": "/html/body/div[2]/p[4]/a"}, {"position_id": 155, "txt": "\n\tis \"a complete compiler toolchain to WebAssembly, using LLVM,\n\twith a special focus on speed, size, and the Web platform.\"", "x": "/html/body/div[2]/p[4]/a"}]}, "tags": [], "label": "content", "web_segment_id": 15, "global_sentence_id": 37, "edu_l1_label": "IOS"}, {"txt": " It's been around\tsince 2010, and it's easy to use with raylib and CLIPS.", "language": "english", "position": {"atoms": [{"position_id": 156, "txt": " It's been around\n\tsince 2010, and it's easy to use with raylib and CLIPS.", "x": "/html/body/div[2]/p[4]/a"}]}, "tags": [], "label": "content", "web_segment_id": 15, "global_sentence_id": 38, "edu_l1_label": "IOS"}, {"txt": " Simply specify\tPLATFORM_WEB for raylib\tand change your C compiler to emcc for CLIPS and you're good to go.", "language": "english", "position": {"atoms": [{"position_id": 157, "txt": " Simply specify\n\t", "x": "/html/body/div[2]/p[4]/a"}, {"position_id": 159, "txt": "PLATFORM_WEB", "x": "/html/body/div[2]/p[4]/code[1]"}, {"position_id": 161, "txt": " for raylib\n\tand change your C compiler to ", "x": "/html/body/div[2]/p[4]/code[1]"}, {"position_id": 163, "txt": "emcc", "x": "/html/body/div[2]/p[4]/code[2]"}, {"position_id": 165, "txt": " for CLIPS and you're good to go.", "x": "/html/body/div[2]/p[4]/code[2]"}]}, "tags": [], "label": "content", "web_segment_id": 15, "global_sentence_id": 39, "edu_l1_label": "IOS"}, {"txt": "(raylib-init-window 800 450 \"CLIPSraylib [shapes] example - bouncing ball\")(raylib-set-target-fps 60)(deffacts init\t(xposition 20.0)\t(yposition 20.0)\t(xspeed 5.0)\t(yspeed 4.0)\t(radius 20)\t(pause FALSE)\t(frames 0)\t(window-should-close FALSE))(defrule ball-hits-wall\t(xposition ?xposition)\t(radius ?radius)\t?f <- (xspeed ?xspeed)\t(pause FALSE)\t(window-should-close FALSE)\t(test (or\t\t(and\t\t\t(< ?xspeed 0)\t\t\t(<= ?xposition ?radius))\t\t(and\t\t\t(> ?xspeed 0)\t\t\t(>= ?xposition (- (raylib-get-screen-width) ?radius)))))\t=>\t(retract ?f)\t(assert\t\t(xspeed (* -1 ?xspeed))))(defrule ball-hits-ceiling-or-floor\t(yposition ?yposition)\t(radius ?radius)\t?f <- (yspeed ?yspeed)\t(pause FALSE)\t(window-should-close FALSE)\t(test (or\t\t(and\t\t\t(< ?yspeed 0)\t\t\t(<= ?yposition ?radius))\t\t(and\t\t\t(> ?yspeed 0)\t\t\t(>= ?yposition (- (raylib-get-screen-height) ?radius)))))\t=>\t(retract ?f)\t(assert\t\t(yspeed (* -1 ?yspeed))))(defrule render\t?x <- (xposition ?xposition)\t?y <- (yposition ?yposition)\t(xspeed ?xspeed)\t(yspeed ?yspeed)\t(radius ?radius)\t?pause <- (pause FALSE)\t?w <- (window-should-close FALSE)\t(test (and\t\t(or\t\t\t(= ?xspeed 0)\t\t\t(and\t\t\t\t(> ?xspeed 0)\t\t\t\t(<= ?xposition (- (raylib-get-screen-width) ?radius)))\t\t\t(and\t\t\t\t(< ?xspeed 0)\t\t\t\t(>= ?xposition ?radius)))\t\t(or\t\t\t(= ?yspeed 0)\t\t\t(and\t\t\t\t(< ?yspeed 0)\t\t\t\t(>= ?yposition ?radius))\t\t\t(and\t\t\t\t(> ?yspeed 0)\t\t\t\t(<= ?yposition (- (raylib-get-screen-height) ?radius))))))\t=>\t(retract ?x ?y ?w ?pause)\t(assert\t\t(window-should-close (raylib-window-should-close))\t\t(pause (raylib-is-key-pressed KEY_SPACE))\t\t(unpause FALSE)\t\t(xposition (+ ?xposition ?xspeed))\t\t(yposition (+ ?yposition ?yspeed)))\t(raylib-begin-drawing)\t\t(raylib-clear-background RAYWHITE)\t\t(raylib-draw-circle-v ?xposition ?yposition ?radius MAROON)\t\t(raylib-draw-text \"PRESS SPACE to PAUSE BALL MOVEMENT\" 10 (- (raylib-get-screen-height) 25) 20 LIGHTGRAY)\t\t(raylib-draw-fps 10 10)\t(raylib-end-drawing))(defrule wait\t?f <- (frames ?frames)\t(pause TRUE)\t?unpause <- (unpause FALSE)\t?w <- (window-should-close FALSE)\t=>\t(retract ?f ?unpause ?w)\t(raylib-begin-drawing)\t(if (= (mod (integer (/ ?frames 30)) 2) 0)\t\tthen\t\t(raylib-draw-text \"PAUSED\" 350 200 30 GRAY))\t(assert\t\t(frames (+ 1 ?frames))\t\t(window-should-close (raylib-window-should-close))\t\t(unpause (raylib-is-key-pressed KEY_SPACE)))\t\t(raylib-clear-background RAYWHITE)\t(raylib-end-drawing))(defrule unpause\t?pause <- (pause TRUE)\t?unpause <- (unpause TRUE)\t?w <- (window-should-close FALSE)\t=>\t(retract ?pause ?unpause)\t(assert\t\t(pause FALSE)\t\t(window-should-close (raylib-window-should-close))))(defrule die\t(window-should-close TRUE)\t=>\t(println \"Done.", "language": "english", "position": {"atoms": [{"position_id": 167, "txt": "(raylib-init-window 800 450 \"CLIPSraylib [shapes] example - bouncing ball\")\n(raylib-set-target-fps 60)\n\n(deffacts init\n\t(xposition 20.0)\n\t(yposition 20.0)\n\t(xspeed 5.0)\n\t(yspeed 4.0)\n\t(radius 20)\n\t(pause FALSE)\n\t(frames 0)\n\t(window-should-close FALSE))\n\n(defrule ball-hits-wall\n\t(xposition ?xposition)\n\t(radius ?radius)\n\t?f <- (xspeed ?xspeed)\n\t(pause FALSE)\n\t(window-should-close FALSE)\n\t(test (or\n\t\t(and\n\t\t\t(< ?xspeed 0)\n\t\t\t(<= ?xposition ?radius))\n\t\t(and\n\t\t\t(> ?xspeed 0)\n\t\t\t(>= ?xposition (- (raylib-get-screen-width) ?radius)))))\n\t=>\n\t(retract ?f)\n\t(assert\n\t\t(xspeed (* -1 ?xspeed))))\n\n(defrule ball-hits-ceiling-or-floor\n\t(yposition ?yposition)\n\t(radius ?radius)\n\t?f <- (yspeed ?yspeed)\n\t(pause FALSE)\n\t(window-should-close FALSE)\n\t(test (or\n\t\t(and\n\t\t\t(< ?yspeed 0)\n\t\t\t(<= ?yposition ?radius))\n\t\t(and\n\t\t\t(> ?yspeed 0)\n\t\t\t(>= ?yposition (- (raylib-get-screen-height) ?radius)))))\n\t=>\n\t(retract ?f)\n\t(assert\n\t\t(yspeed (* -1 ?yspeed))))\n\n(defrule render\n\t?x <- (xposition ?xposition)\n\t?y <- (yposition ?yposition)\n\t(xspeed ?xspeed)\n\t(yspeed ?yspeed)\n\t(radius ?radius)\n\t?pause <- (pause FALSE)\n\t?w <- (window-should-close FALSE)\n\t(test (and\n\t\t(or\n\t\t\t(= ?xspeed 0)\n\t\t\t(and\n\t\t\t\t(> ?xspeed 0)\n\t\t\t\t(<= ?xposition (- (raylib-get-screen-width) ?radius)))\n\t\t\t(and\n\t\t\t\t(< ?xspeed 0)\n\t\t\t\t(>= ?xposition ?radius)))\n\t\t(or\n\t\t\t(= ?yspeed 0)\n\t\t\t(and\n\t\t\t\t(< ?yspeed 0)\n\t\t\t\t(>= ?yposition ?radius))\n\t\t\t(and\n\t\t\t\t(> ?yspeed 0)\n\t\t\t\t(<= ?yposition (- (raylib-get-screen-height) ?radius))))))\n\t=>\n\t(retract ?x ?y ?w ?pause)\n\t(assert\n\t\t(window-should-close (raylib-window-should-close))\n\t\t(pause (raylib-is-key-pressed KEY_SPACE))\n\t\t(unpause FALSE)\n\t\t(xposition (+ ?xposition ?xspeed))\n\t\t(yposition (+ ?yposition ?yspeed)))\n\t(raylib-begin-drawing)\n\t\t(raylib-clear-background RAYWHITE)\n\t\t(raylib-draw-circle-v ?xposition ?yposition ?radius MAROON)\n\t\t(raylib-draw-text \"PRESS SPACE to PAUSE BALL MOVEMENT\" 10 (- (raylib-get-screen-height) 25) 20 LIGHTGRAY)\n\t\t(raylib-draw-fps 10 10)\n\t(raylib-end-drawing))\n\n(defrule wait\n\t?f <- (frames ?frames)\n\t(pause TRUE)\n\t?unpause <- (unpause FALSE)\n\t?w <- (window-should-close FALSE)\n\t=>\n\t(retract ?f ?unpause ?w)\n\t(raylib-begin-drawing)\n\t(if (= (mod (integer (/ ?frames 30)) 2) 0)\n\t\tthen\n\t\t(raylib-draw-text \"PAUSED\" 350 200 30 GRAY))\n\t(assert\n\t\t(frames (+ 1 ?frames))\n\t\t(window-should-close (raylib-window-should-close))\n\t\t(unpause (raylib-is-key-pressed KEY_SPACE)))\n\t\t(raylib-clear-background RAYWHITE)\n\t(raylib-end-drawing))\n\n(defrule unpause\n\t?pause <- (pause TRUE)\n\t?unpause <- (unpause TRUE)\n\t?w <- (window-should-close FALSE)\n\t=>\n\t(retract ?pause ?unpause)\n\t(assert\n\t\t(pause FALSE)\n\t\t(window-should-close (raylib-window-should-close))))\n\n(defrule die\n\t(window-should-close TRUE)\n\t=>\n\t(println \"Done.", "x": "/html/body/div[3]"}]}, "tags": [], "label": "code", "web_segment_id": 16, "global_sentence_id": 40, "edu_l1_label": "EDU_O"}, {"txt": " Exiting...\")\t(raylib-close-window)\t(exit))(reset)(run)", "language": "english", "position": {"atoms": [{"position_id": 168, "txt": " Exiting...\")\n\t(raylib-close-window)\n\t(exit))\n(reset)\n(run)", "x": "/html/body/div[3]"}]}, "tags": [], "label": "code", "web_segment_id": 16, "global_sentence_id": 41, "edu_l1_label": "EDU_O"}, {"txt": "(raylib-init-window 800 400 \"Hello, keyboard\")(deffunction check-if-should-exit (?delta)\t(raylib-window-should-close))(defrule before\t?f <- (new-spacebar-pressed FALSE)\t(not (test (check-if-should-exit ?f)))\t=>\t(retract ?f)\t(raylib-begin-drawing)\t\t(raylib-clear-background RAYWHITE)\t\t(raylib-draw-text \"Press the spacebar for as long as you can\" 190 200 20 BLACK)\t(raylib-end-drawing)\t(assert (new-spacebar-pressed (raylib-is-key-down KEY_SPACE))))(defrule end-before\t?d <- (new-spacebar-pressed FALSE)\t(test (check-if-should-exit ?d))\t=>\t(println \"Exiting early...\")\t(raylib-close-window)\t(exit))(defrule start\t?f <- (new-spacebar-pressed TRUE)\t(not (test (check-if-should-exit ?f)))\t=>\t(assert\t\t(new-spacebar-hold (raylib-is-key-down KEY_SPACE))\t\t(began-holding (time))))(defrule continue\t?d <- (new-spacebar-hold TRUE)\t(began-holding ?began)\t(not (test (check-if-should-exit ?d)))\t=>\t(retract ?d)\t(raylib-begin-drawing)\t\t(raylib-clear-background GREEN)\t\t(raylib-draw-text (format nil \"Keep holding!", "language": "english", "position": {"atoms": [{"position_id": 170, "txt": "(raylib-init-window 800 400 \"Hello, keyboard\")\n\n(deffunction check-if-should-exit (?delta)\n\t(raylib-window-should-close))\n\n(defrule before\n\t?f <- (new-spacebar-pressed FALSE)\n\t(not (test (check-if-should-exit ?f)))\n\t=>\n\t(retract ?f)\n\t(raylib-begin-drawing)\n\t\t(raylib-clear-background RAYWHITE)\n\t\t(raylib-draw-text \"Press the spacebar for as long as you can\" 190 200 20 BLACK)\n\t(raylib-end-drawing)\n\t(assert (new-spacebar-pressed (raylib-is-key-down KEY_SPACE))))\n\n(defrule end-before\n\t?d <- (new-spacebar-pressed FALSE)\n\t(test (check-if-should-exit ?d))\n\t=>\n\t(println \"Exiting early...\")\n\t(raylib-close-window)\n\t(exit))\n\n(defrule start\n\t?f <- (new-spacebar-pressed TRUE)\n\t(not (test (check-if-should-exit ?f)))\n\t=>\n\t(assert\n\t\t(new-spacebar-hold (raylib-is-key-down KEY_SPACE))\n\t\t(began-holding (time))))\n\n(defrule continue\n\t?d <- (new-spacebar-hold TRUE)\n\t(began-holding ?began)\n\t(not (test (check-if-should-exit ?d)))\n\t=>\n\t(retract ?d)\n\t(raylib-begin-drawing)\n\t\t(raylib-clear-background GREEN)\n\t\t(raylib-draw-text (format nil \"Keep holding!", "x": "/html/body/div[4]"}]}, "tags": [], "label": "code", "web_segment_id": 17, "global_sentence_id": 42, "edu_l1_label": "EDU_O"}, {"txt": " Seconds held so far:", "language": "english", "position": {"atoms": [{"position_id": 171, "txt": " Seconds held so far:", "x": "/html/body/div[4]"}]}, "tags": [], "label": "code", "web_segment_id": 17, "global_sentence_id": 43, "edu_l1_label": "EDU_O"}, {"txt": " %f\" (- (time) ?began)) 190 200 20 DARKGREEN)\t(raylib-end-drawing)\t(assert (new-spacebar-hold (raylib-is-key-down KEY_SPACE))))(defrule stopped-holding-spacebar\t?d <- (new-spacebar-hold FALSE)\t(began-holding ?time)\t(not (stopped-holding ?time))\t(not (test (check-if-should-exit ?d)))\t=>\t(assert\t\t(stopped-holding (time))\t\t(time (time))))(defrule report\t(new-spacebar-hold FALSE)\t(began-holding ?began)\t(stopped-holding ?ended)\t?d <- (time ?now)\t(not (test (check-if-should-exit ?d)))\t=>\t(retract ?d)\t(raylib-begin-drawing)\t\t(raylib-clear-background SKYBLUE)\t\t(raylib-draw-text (format nil \"Nice!", "language": "english", "position": {"atoms": [{"position_id": 172, "txt": " %f\" (- (time) ?began)) 190 200 20 DARKGREEN)\n\t(raylib-end-drawing)\n\t(assert (new-spacebar-hold (raylib-is-key-down KEY_SPACE))))\n\n(defrule stopped-holding-spacebar\n\t?d <- (new-spacebar-hold FALSE)\n\t(began-holding ?time)\n\t(not (stopped-holding ?time))\n\t(not (test (check-if-should-exit ?d)))\n\t=>\n\t(assert\n\t\t(stopped-holding (time))\n\t\t(time (time))))\n\n(defrule report\n\t(new-spacebar-hold FALSE)\n\t(began-holding ?began)\n\t(stopped-holding ?ended)\n\t?d <- (time ?now)\n\t(not (test (check-if-should-exit ?d)))\n\t=>\n\t(retract ?d)\n\t(raylib-begin-drawing)\n\t\t(raylib-clear-background SKYBLUE)\n\t\t(raylib-draw-text (format nil \"Nice!", "x": "/html/body/div[4]"}]}, "tags": [], "label": "code", "web_segment_id": 17, "global_sentence_id": 44, "edu_l1_label": "EDU_O"}, {"txt": " You held for %f seconds!\" (- ?ended ?began)) 190 200 20 DARKBLUE)\t(raylib-end-drawing)\t(assert (time (time))))(defrule end-after\t?t <- (time ?time)\t(test (check-if-should-exit ?t))\t=>\t(println \"Done.", "language": "english", "position": {"atoms": [{"position_id": 173, "txt": " You held for %f seconds!\" (- ?ended ?began)) 190 200 20 DARKBLUE)\n\t(raylib-end-drawing)\n\t(assert (time (time))))\n\n(defrule end-after\n\t?t <- (time ?time)\n\t(test (check-if-should-exit ?t))\n\t=>\n\t(println \"Done.", "x": "/html/body/div[4]"}]}, "tags": [], "label": "code", "web_segment_id": 17, "global_sentence_id": 45, "edu_l1_label": "EDU_O"}, {"txt": " Exiting...\")\t(raylib-close-window)\t(exit))(reset)(assert (new-spacebar-pressed FALSE))(run)", "language": "english", "position": {"atoms": [{"position_id": 174, "txt": " Exiting...\")\n\t(raylib-close-window)\n\t(exit))\n\n(reset)\n(assert (new-spacebar-pressed FALSE))\n(run)", "x": "/html/body/div[4]"}]}, "tags": [], "label": "code", "web_segment_id": 17, "global_sentence_id": 46, "edu_l1_label": "EDU_O"}, {"txt": "(raylib-init-window 800 400 \"Hello, mouse\")(deffacts setup\t(should-exit FALSE)\t(new-mouse-delta 0 0)\t(new-mouse-position 0 0)\t(new-mouse-button FALSE FALSE))(defrule continue\t?d <- (new-mouse-delta ?ndx ?ndy)\t?p <- (new-mouse-position ?npx ?npy)\t?c <- (new-mouse-color ?color)\t?b <- (new-mouse-button ?", "language": "english", "position": {"atoms": [{"position_id": 176, "txt": "(raylib-init-window 800 400 \"Hello, mouse\")\n\n(deffacts setup\n\t(should-exit FALSE)\n\t(new-mouse-delta 0 0)\n\t(new-mouse-position 0 0)\n\t(new-mouse-button FALSE FALSE))\n\n(defrule continue\n\t?d <- (new-mouse-delta ?ndx ?ndy)\n\t?p <- (new-mouse-position ?npx ?npy)\n\t?c <- (new-mouse-color ?color)\n\t?b <- (new-mouse-button ?", "x": "/html/body/div[5]"}]}, "tags": [], "label": "code", "web_segment_id": 18, "global_sentence_id": 47, "edu_l1_label": "EDU_O"}, {"txt": " ?)\t?s <- (should-exit FALSE)\t=>\t(retract ?d ?p ?c ?b ?s)\t(raylib-begin-drawing)\t\t(raylib-clear-background RAYWHITE)\t\t(raylib-draw-circle (integer ?npx) (integer ?npy) 100 ?color)\t(raylib-end-drawing)\t(assert\t\t(should-exit (raylib-window-should-close))\t\t(new-mouse-delta (raylib-get-mouse-delta))\t\t(new-mouse-position (raylib-get-mouse-position))\t\t(new-mouse-button\t\t\t(raylib-is-mouse-button-down MOUSE_BUTTON_LEFT)\t\t      \t(raylib-is-mouse-button-down MOUSE_BUTTON_RIGHT))))(defrule determine-color-gray\t(new-mouse-button FALSE FALSE)\t=>\t(assert (new-mouse-color DARKGRAY)))(defrule determine-color-red\t(new-mouse-button TRUE FALSE)\t=>\t(assert (new-mouse-color RED)))(defrule determine-color-blue\t(new-mouse-button FALSE TRUE)\t=>\t(assert (new-mouse-color BLUE)))(defrule determine-color-purple\t(new-mouse-button TRUE TRUE)\t=>\t(assert (new-mouse-color PURPLE)))(defrule die\t(should-exit TRUE)\t=>\t(raylib-close-window)\t(println \"Closing program...\")\t(exit))(reset)(run)", "language": "english", "position": {"atoms": [{"position_id": 177, "txt": " ?)\n\t?s <- (should-exit FALSE)\n\t=>\n\t(retract ?d ?p ?c ?b ?s)\n\t(raylib-begin-drawing)\n\t\t(raylib-clear-background RAYWHITE)\n\t\t(raylib-draw-circle (integer ?npx) (integer ?npy) 100 ?color)\n\t(raylib-end-drawing)\n\t(assert\n\t\t(should-exit (raylib-window-should-close))\n\t\t(new-mouse-delta (raylib-get-mouse-delta))\n\t\t(new-mouse-position (raylib-get-mouse-position))\n\t\t(new-mouse-button\n\t\t\t(raylib-is-mouse-button-down MOUSE_BUTTON_LEFT)\n\t\t      \t(raylib-is-mouse-button-down MOUSE_BUTTON_RIGHT))))\n\n(defrule determine-color-gray\n\t(new-mouse-button FALSE FALSE)\n\t=>\n\t(assert (new-mouse-color DARKGRAY)))\n\n(defrule determine-color-red\n\t(new-mouse-button TRUE FALSE)\n\t=>\n\t(assert (new-mouse-color RED)))\n\n(defrule determine-color-blue\n\t(new-mouse-button FALSE TRUE)\n\t=>\n\t(assert (new-mouse-color BLUE)))\n\n(defrule determine-color-purple\n\t(new-mouse-button TRUE TRUE)\n\t=>\n\t(assert (new-mouse-color PURPLE)))\n\n(defrule die\n\t(should-exit TRUE)\n\t=>\n\t(raylib-close-window)\n\t(println \"Closing program...\")\n\t(exit))\n\n(reset)\n(run)", "x": "/html/body/div[5]"}]}, "tags": [], "label": "code", "web_segment_id": 18, "global_sentence_id": 48, "edu_l1_label": "EDU_O"}, {"txt": "(raylib-init-window 800 450 \"2D Camera Platform\")(deffacts cameras\t(camera center)\t(camera center center-inside-map)\t(camera center-inside-map center-smooth-follow)\t(camera center-smooth-follow even-out-landing)\t(camera even-out-landing player-bounds-push)\t(camera player-bounds-push center))(deffacts surfaces\t(surface 300 200 400 10) ;highest platform\t(surface 250 300 100 10) ;left platform\t(surface 650 300 100 10) ;right platform\t(surface 0 400 1000 200)) ;ground(deffacts physics\t(gravity 400))(deftemplate player\t(slot x (default 400))\t(slot y (default 280))\t(slot x-delta (default 0))\t(slot y-delta (default 0))\t(slot walk-speed (default 200.0))\t(slot jump-speed (default 350.0)))(deffunction c-pressed (?time)\t(raylib-is-key-pressed KEY_C))(deffunction r-pressed (?time)\t(raylib-is-key-down KEY_R))(deffunction space-pressed (?time)\t(raylib-is-key-down KEY_SPACE))(deffunction left-pressed (?time)\t(raylib-is-key-down KEY_LEFT))(deffunction right-pressed (?time)\t(raylib-is-key-down KEY_RIGHT))(defrule reset-player\t?player <- (player)\t(frame-time ?time)\t(should-exit FALSE)\t(test (r-pressed ?time))\t=>\t(modify ?player\t\t(x (deftemplate-slot-default-value player x))\t\t(y (deftemplate-slot-default-value player y))))(defrule jump\t?player <- (player\t\t(x ?playerx)\t\t(y ?playery)\t\t(y-delta 0)\t\t(jump-speed ?jump-speed))\t(frame-time ?time)\t(should-exit FALSE)\t(surface ?surfacex ?playery\t\t?width\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 179, "txt": "(raylib-init-window 800 450 \"2D Camera Platform\")\n\n(deffacts cameras\n\t(camera center)\n\t(camera center center-inside-map)\n\t(camera center-inside-map center-smooth-follow)\n\t(camera center-smooth-follow even-out-landing)\n\t(camera even-out-landing player-bounds-push)\n\t(camera player-bounds-push center))\n\n(deffacts surfaces\n\t(surface 300 200 400 10) ;highest platform\n\t(surface 250 300 100 10) ;left platform\n\t(surface 650 300 100 10) ;right platform\n\t(surface 0 400 1000 200)) ;ground\n\n(deffacts physics\n\t(gravity 400))\n\n(deftemplate player\n\t(slot x (default 400))\n\t(slot y (default 280))\n\t(slot x-delta (default 0))\n\t(slot y-delta (default 0))\n\t(slot walk-speed (default 200.0))\n\t(slot jump-speed (default 350.0)))\n\n(deffunction c-pressed (?time)\n\t(raylib-is-key-pressed KEY_C))\n\n(deffunction r-pressed (?time)\n\t(raylib-is-key-down KEY_R))\n\n(deffunction space-pressed (?time)\n\t(raylib-is-key-down KEY_SPACE))\n\n(deffunction left-pressed (?time)\n\t(raylib-is-key-down KEY_LEFT))\n\n(deffunction right-pressed (?time)\n\t(raylib-is-key-down KEY_RIGHT))\n\n(defrule reset-player\n\t?player <- (player)\n\t(frame-time ?time)\n\t(should-exit FALSE)\n\t(test (r-pressed ?time))\n\t=>\n\t(modify ?player\n\t\t(x (deftemplate-slot-default-value player x))\n\t\t(y (deftemplate-slot-default-value player y))))\n\n(defrule jump\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(y ?playery)\n\t\t(y-delta 0)\n\t\t(jump-speed ?jump-speed))\n\t(frame-time ?time)\n\t(should-exit FALSE)\n\t(surface ?surfacex ?playery\n\t\t?width\n\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "O", "web_segment_id": 19, "global_sentence_id": 49, "edu_l1_label": "EDU_O"}, {"txt": "(<= ?surfacex ?playerx)\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 180, "txt": "(<= ?surfacex ?playerx)\n\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 50, "edu_l1_label": "EDU_O"}, {"txt": "(>= (+ ?surfacex ?width) ?playerx)\t\t?)\t(not (new-player-y-delta ?))\t(test (space-pressed ?time))\t=>\t(assert\t\t(new-player-y (+ ?playery (* -1 ?jump-speed ?time)))\t\t(new-player-y-delta (* -1 ?jump-speed))))(defrule fall\t?player <- (player\t\t(x ?playerx)\t\t(y ?playery)\t\t(y-delta ?ydelta))\t(frame-time ?time)\t(gravity ?gravity)\t(should-exit FALSE)\t(not \t\t(surface ?surfacex\t\t\t?surfacey\t\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 181, "txt": "(>= (+ ?surfacex ?width) ?playerx)\n\t\t?)\n\t(not (new-player-y-delta ?))\n\t(test (space-pressed ?time))\n\t=>\n\t(assert\n\t\t(new-player-y (+ ?playery (* -1 ?jump-speed ?time)))\n\t\t(new-player-y-delta (* -1 ?jump-speed))))\n\n(defrule fall\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(y ?playery)\n\t\t(y-delta ?ydelta))\n\t(frame-time ?time)\n\t(gravity ?gravity)\n\t(should-exit FALSE)\n\t(not \n\t\t(surface ?surfacex\n\t\t\t?surfacey\n\t\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 51, "edu_l1_label": "EDU_O"}, {"txt": "(>= ?surfacey ?playery)\t\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 182, "txt": "(>= ?surfacey ?playery)\n\t\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 52, "edu_l1_label": "EDU_O"}, {"txt": "(<= ?surfacey (+ ?playery (* ?ydelta ?time)))\t\t\t?width\t\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 183, "txt": "(<= ?surfacey (+ ?playery (* ?ydelta ?time)))\n\t\t\t?width\n\t\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 53, "edu_l1_label": "EDU_O"}, {"txt": "(<= ?surfacex ?playerx)\t\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 184, "txt": "(<= ?surfacex ?playerx)\n\t\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 54, "edu_l1_label": "EDU_O"}, {"txt": "(>= (+ ?surfacex ?width) ?playerx)\t\t\t?))\t(not (new-player-y-delta ?))\t=>\t(assert\t\t(new-player-y (+ ?playery (* ?ydelta ?time)))\t\t(new-player-y-delta (+ ?ydelta (* ?time ?gravity)))))(defrule land\t?player <- (player\t\t(x ?playerx)\t\t(y ?playery)\t\t(y-delta ?ydelta&:", "language": "english", "position": {"atoms": [{"position_id": 185, "txt": "(>= (+ ?surfacex ?width) ?playerx)\n\t\t\t?))\n\t(not (new-player-y-delta ?))\n\t=>\n\t(assert\n\t\t(new-player-y (+ ?playery (* ?ydelta ?time)))\n\t\t(new-player-y-delta (+ ?ydelta (* ?time ?gravity)))))\n\n(defrule land\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(y ?playery)\n\t\t(y-delta ?ydelta&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 55, "edu_l1_label": "EDU_O"}, {"txt": "(> ?ydelta 0)))\t(frame-time ?time)\t(surface ?surfacex\t\t?surfacey\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 186, "txt": "(> ?ydelta 0)))\n\t(frame-time ?time)\n\t(surface ?surfacex\n\t\t?surfacey\n\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 56, "edu_l1_label": "EDU_O"}, {"txt": "(>= ?surfacey ?playery)\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 187, "txt": "(>= ?surfacey ?playery)\n\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 57, "edu_l1_label": "EDU_O"}, {"txt": "(<= ?surfacey (+ ?playery (* ?ydelta ?time)))\t\t?width\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 188, "txt": "(<= ?surfacey (+ ?playery (* ?ydelta ?time)))\n\t\t?width\n\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 58, "edu_l1_label": "EDU_O"}, {"txt": "(<= ?surfacex ?playerx)\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 189, "txt": "(<= ?surfacex ?playerx)\n\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 59, "edu_l1_label": "EDU_O"}, {"txt": "(>= (+ ?surfacex ?width) ?playerx)\t\t?)\t(should-exit FALSE)\t(not (new-player-y-delta ?))\t=>\t(assert\t\t(new-player-y ?surfacey)\t\t(new-player-y-delta 0)))(defrule on-the-ground\t?player <- (player\t\t(x ?playerx)\t\t(y ?playery)\t\t(y-delta 0))\t(frame-time ?time)\t(surface ?surfacex ?playery\t\t?width\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 190, "txt": "(>= (+ ?surfacex ?width) ?playerx)\n\t\t?)\n\t(should-exit FALSE)\n\t(not (new-player-y-delta ?))\n\t=>\n\t(assert\n\t\t(new-player-y ?surfacey)\n\t\t(new-player-y-delta 0)))\n\n(defrule on-the-ground\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(y ?playery)\n\t\t(y-delta 0))\n\t(frame-time ?time)\n\t(surface ?surfacex ?playery\n\t\t?width\n\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 60, "edu_l1_label": "EDU_O"}, {"txt": "(<= ?surfacex ?playerx)\t\t\t&:", "language": "english", "position": {"atoms": [{"position_id": 191, "txt": "(<= ?surfacex ?playerx)\n\t\t\t&:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 61, "edu_l1_label": "EDU_O"}, {"txt": "(>= (+ ?surfacex ?width) ?playerx)\t\t?)\t(should-exit FALSE)\t(not (new-player-y-delta ?))\t(test (not (space-pressed ?time)))\t=>\t(assert\t\t(new-player-y ?playery)\t\t(new-player-y-delta 0)))(defrule standing-still\t?player <- (player\t\t(x ?playerx))\t(frame-time ?time)\t(should-exit FALSE)\t(not (new-player-x ?))\t(test (or\t\t(and\t\t\t(not (left-pressed ?time))\t\t\t(not (right-pressed ?time)))\t\t(and\t\t\t(left-pressed ?time)\t\t\t(right-pressed ?time))))\t=>\t(assert (new-player-x ?playerx)))(defrule move-left\t?player <- (player\t\t(x ?playerx)\t\t(walk-speed ?walk-speed))\t(frame-time ?time)\t(should-exit FALSE)\t(not (test (right-pressed ?time)))\t(not (new-player-x ?))\t(test (left-pressed ?time))\t=>\t(assert (new-player-x (- ?playerx (* ?time ?walk-speed)))))(defrule move-right\t?player <- (player\t\t(x ?playerx)\t\t(walk-speed ?walk-speed))\t(frame-time ?time)\t(should-exit FALSE)\t(not (test (left-pressed ?time)))\t(not (new-player-x ?))\t(test (right-pressed ?time))\t=>\t(assert (new-player-x (+ ?playerx (* ?time ?walk-speed)))))(defrule draw-scene-camera-center\t?player <- (player)\t?nx <- (new-player-x ?x)\t?ny <- (new-player-y ?y)\t?nyd <- (new-player-y-delta ?ydelta)\t?f <- (frame-time ?time)\t(camera center)\t(should-exit FALSE)\t=>\t(retract ?f ?nx ?ny ?nyd)\t(modify ?player\t\t(x ?x)\t\t(y ?y)\t\t(y-delta ?ydelta))\t(raylib-begin-drawing)\t\t(raylib-clear-background LIGHTGRAY)\t\t(raylib-begin-mode-2d 400 280 (integer ?x) (integer ?y))\t\t\t(raylib-draw-rectangle 0 0 1000 400 LIGHTGRAY) ;background\t\t\t(do-for-all-facts ((?s surface)) TRUE\t\t\t\t(raylib-draw-rectangle (nth$ 1 ?s:", "language": "english", "position": {"atoms": [{"position_id": 192, "txt": "(>= (+ ?surfacex ?width) ?playerx)\n\t\t?)\n\t(should-exit FALSE)\n\t(not (new-player-y-delta ?))\n\t(test (not (space-pressed ?time)))\n\t=>\n\t(assert\n\t\t(new-player-y ?playery)\n\t\t(new-player-y-delta 0)))\n\n(defrule standing-still\n\t?player <- (player\n\t\t(x ?playerx))\n\t(frame-time ?time)\n\t(should-exit FALSE)\n\t(not (new-player-x ?))\n\t(test (or\n\t\t(and\n\t\t\t(not (left-pressed ?time))\n\t\t\t(not (right-pressed ?time)))\n\t\t(and\n\t\t\t(left-pressed ?time)\n\t\t\t(right-pressed ?time))))\n\t=>\n\t(assert (new-player-x ?playerx)))\n\n(defrule move-left\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(walk-speed ?walk-speed))\n\t(frame-time ?time)\n\t(should-exit FALSE)\n\t(not (test (right-pressed ?time)))\n\t(not (new-player-x ?))\n\t(test (left-pressed ?time))\n\t=>\n\t(assert (new-player-x (- ?playerx (* ?time ?walk-speed)))))\n\n(defrule move-right\n\t?player <- (player\n\t\t(x ?playerx)\n\t\t(walk-speed ?walk-speed))\n\t(frame-time ?time)\n\t(should-exit FALSE)\n\t(not (test (left-pressed ?time)))\n\t(not (new-player-x ?))\n\t(test (right-pressed ?time))\n\t=>\n\t(assert (new-player-x (+ ?playerx (* ?time ?walk-speed)))))\n\n(defrule draw-scene-camera-center\n\t?player <- (player)\n\t?nx <- (new-player-x ?x)\n\t?ny <- (new-player-y ?y)\n\t?nyd <- (new-player-y-delta ?ydelta)\n\t?f <- (frame-time ?time)\n\t(camera center)\n\t(should-exit FALSE)\n\t=>\n\t(retract ?f ?nx ?ny ?nyd)\n\t(modify ?player\n\t\t(x ?x)\n\t\t(y ?y)\n\t\t(y-delta ?ydelta))\n\t(raylib-begin-drawing)\n\t\t(raylib-clear-background LIGHTGRAY)\n\t\t(raylib-begin-mode-2d 400 280 (integer ?x) (integer ?y))\n\t\t\t(raylib-draw-rectangle 0 0 1000 400 LIGHTGRAY) ;background\n\t\t\t(do-for-all-facts ((?s surface)) TRUE\n\t\t\t\t(raylib-draw-rectangle (nth$ 1 ?s:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 62, "edu_l1_label": "EDU_O"}, {"txt": "implied) (nth$ 2 ?s:", "language": "english", "position": {"atoms": [{"position_id": 193, "txt": "implied) (nth$ 2 ?s:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 63, "edu_l1_label": "EDU_O"}, {"txt": "implied) (nth$ 3 ?s:", "language": "english", "position": {"atoms": [{"position_id": 194, "txt": "implied) (nth$ 3 ?s:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 64, "edu_l1_label": "EDU_O"}, {"txt": "implied) (nth$ 4 ?s:", "language": "english", "position": {"atoms": [{"position_id": 195, "txt": "implied) (nth$ 4 ?s:", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 65, "edu_l1_label": "EDU_O"}, {"txt": "implied) GRAY))\t\t\t(raylib-draw-rectangle (- (integer ?x) 20) (- (integer ?y) 40) 40 40 RED) ;player\t\t(raylib-end-mode-2d)\t\t(raylib-draw-text \"Controls:\"", "language": "english", "position": {"atoms": [{"position_id": 196, "txt": "implied) GRAY))\n\n\t\t\t(raylib-draw-rectangle (- (integer ?x) 20) (- (integer ?y) 40) 40 40 RED) ;player\n\t\t(raylib-end-mode-2d)\n\n\t\t(raylib-draw-text \"Controls:\"", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 66, "edu_l1_label": "EDU_O"}, {"txt": " 20 20 10 BLACK)\t\t(raylib-draw-text \"- Right/Left to move\" 40 40 10 DARKGRAY)\t\t(raylib-draw-text \"- Space to jump\" 40 60 10 DARKGRAY)\t\t(raylib-draw-text \"- Mouse Wheel to Zoom in-out (not yet implemented), R to reset character\" 40 80 10 DARKGRAY)\t\t(raylib-draw-text \"- C to change camera mode (not yet implemented)\" 40 100 10 DARKGRAY)\t\t(raylib-draw-text \"Current camera mode:\"", "language": "english", "position": {"atoms": [{"position_id": 197, "txt": " 20 20 10 BLACK)\n\t\t(raylib-draw-text \"- Right/Left to move\" 40 40 10 DARKGRAY)\n\t\t(raylib-draw-text \"- Space to jump\" 40 60 10 DARKGRAY)\n\t\t(raylib-draw-text \"- Mouse Wheel to Zoom in-out (not yet implemented), R to reset character\" 40 80 10 DARKGRAY)\n\t\t(raylib-draw-text \"- C to change camera mode (not yet implemented)\" 40 100 10 DARKGRAY)\n\t\t(raylib-draw-text \"Current camera mode:\"", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 67, "edu_l1_label": "EDU_O"}, {"txt": " 20 120 10 BLACK)\t(raylib-end-drawing)\t(assert\t\t(frame-time (raylib-get-frame-time))\t\t(should-exit (raylib-window-should-close))))(defrule die\t(should-exit TRUE)\t=>\t(println \"Done.", "language": "english", "position": {"atoms": [{"position_id": 198, "txt": " 20 120 10 BLACK)\n\t(raylib-end-drawing)\n\t(assert\n\t\t(frame-time (raylib-get-frame-time))\n\t\t(should-exit (raylib-window-should-close))))\n\n(defrule die\n\t(should-exit TRUE)\n\t=>\n\t(println \"Done.", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 68, "edu_l1_label": "EDU_O"}, {"txt": " Exiting...\")\t(raylib-close-window)\t(exit))(reset)(assert\t(player)\t(frame-time 0)\t(should-exit FALSE))(raylib-set-target-fps 60)(run)", "language": "english", "position": {"atoms": [{"position_id": 199, "txt": " Exiting...\")\n\t(raylib-close-window)\n\t(exit))\n\n(reset)\n(assert\n\t(player)\n\t(frame-time 0)\n\t(should-exit FALSE))\n(raylib-set-target-fps 60)\n(run)", "x": "/html/body/div[6]"}]}, "tags": [], "label": "code", "web_segment_id": 19, "global_sentence_id": 69, "edu_l1_label": "EDU_O"}, {"txt": "(deffacts init\t(screen-width 800) (screen-height 450)\t(roundness 0.2)\t(width 200.0)\t(height 100.0)\t(segments 0.0)\t(thickness 1.0)\t(draw FALSE TRUE FALSE)\t(window-should-close FALSE))\t(raylib-init-window 800 450 \"CLIPSraylib [shapes] example - draw rectangle rounded\")(raylib-set-target-fps 60)(defrule begin-drawing\t(window-should-close FALSE)\t(not (drawing))\t=>\t(raylib-begin-drawing)\t\t(raylib-draw-fps 20 20)\t\t(raylib-draw-line 560 0 560 (raylib-get-screen-height) (raylib-fade LIGHTGRAY 0.6))\t\t(raylib-draw-rectangle 560 0 (- (raylib-get-screen-width) 500) (raylib-get-screen-height) (raylib-fade LIGHTGRAY 0.3))\t(assert (drawing)))(defrule draw-rect\t(drawing)\t(draw TRUE ?", "language": "english", "position": {"atoms": [{"position_id": 201, "txt": "(deffacts init\n\t(screen-width 800) (screen-height 450)\n\t(roundness 0.2)\n\t(width 200.0)\n\t(height 100.0)\n\t(segments 0.0)\n\t(thickness 1.0)\n\t(draw FALSE TRUE FALSE)\n\t(window-should-close FALSE))\n\t\n(raylib-init-window 800 450 \"CLIPSraylib [shapes] example - draw rectangle rounded\")\n(raylib-set-target-fps 60)\n\n(defrule begin-drawing\n\t(window-should-close FALSE)\n\t(not (drawing))\n\t=>\n\t(raylib-begin-drawing)\n\t\t(raylib-draw-fps 20 20)\n\t\t(raylib-draw-line 560 0 560 (raylib-get-screen-height) (raylib-fade LIGHTGRAY 0.6))\n\t\t(raylib-draw-rectangle 560 0 (- (raylib-get-screen-width) 500) (raylib-get-screen-height) (raylib-fade LIGHTGRAY 0.3))\n\t(assert (drawing)))\n\n\n(defrule draw-rect\n\t(drawing)\n\t(draw TRUE ?", "x": "/html/body/div[7]"}]}, "tags": [], "label": "code", "web_segment_id": 20, "global_sentence_id": 70, "edu_l1_label": "EDU_O"}, {"txt": " ?)\t(height ?height)\t(width ?width)\t(screen-height ?screen-height)\t(screen-width ?screen-width)\t=>\t(raylib-draw-rectangle\t\t(integer (/ (- ?screen-width ?width 250) 2))\t\t(integer (/ (- ?screen-height ?height) 2))\t\t(integer ?width)\t\t(integer ?height)\t\t(raylib-fade GOLD 0.6))\t(assert (rectangle-drawn)))(defrule do-not-draw-rect\t(drawing)\t(draw FALSE ?", "language": "english", "position": {"atoms": [{"position_id": 202, "txt": " ?)\n\t(height ?height)\n\t(width ?width)\n\t(screen-height ?screen-height)\n\t(screen-width ?screen-width)\n\t=>\n\t(raylib-draw-rectangle\n\t\t(integer (/ (- ?screen-width ?width 250) 2))\n\t\t(integer (/ (- ?screen-height ?height) 2))\n\t\t(integer ?width)\n\t\t(integer ?height)\n\t\t(raylib-fade GOLD 0.6))\n\t(assert (rectangle-drawn)))\n\n(defrule do-not-draw-rect\n\t(drawing)\n\t(draw FALSE ?", "x": "/html/body/div[7]"}]}, "tags": [], "label": "code", "web_segment_id": 20, "global_sentence_id": 71, "edu_l1_label": "EDU_O"}, {"txt": " ?)\t=>\t(assert (rectangle-drawn)))\t(defrule draw-rounded-rect\t(drawing)\t(draw ?", "language": "english", "position": {"atoms": [{"position_id": 203, "txt": " ?)\n\t=>\n\t(assert (rectangle-drawn)))\n\t\n(defrule draw-rounded-rect\n\t(drawing)\n\t(draw ?", "x": "/html/body/div[7]"}]}, "tags": [], "label": "code", "web_segment_id": 20, "global_sentence_id": 72, "edu_l1_label": "EDU_O"}, {"txt": " TRUE ?)\t(height ?height)\t(width ?width)\t(roundness ?roundness)\t(segments ?segments)\t(screen-width ?screen-width)\t(screen-height ?screen-height)\t=>\t(raylib-draw-rectangle-rounded\t\t(/ (- ?screen-width ?width 250) 2)\t\t(/ (- ?screen-height ?height) 2)\t\t?width\t\t?height\t\t?roundness\t\t(integer ?segments)\t\t(raylib-fade BLUE 0.9))\t(assert (rounded-rectangle-drawn)))(defrule do-not-draw-rounded-rect\t(drawing)\t(draw ?", "language": "english", "position": {"atoms": [{"position_id": 204, "txt": " TRUE ?)\n\t(height ?height)\n\t(width ?width)\n\t(roundness ?roundness)\n\t(segments ?segments)\n\t(screen-width ?screen-width)\n\t(screen-height ?screen-height)\n\t=>\n\t(raylib-draw-rectangle-rounded\n\t\t(/ (- ?screen-width ?width 250) 2)\n\t\t(/ (- ?screen-height ?height) 2)\n\t\t?width\n\t\t?height\n\t\t?roundness\n\t\t(integer ?segments)\n\t\t(raylib-fade BLUE 0.9))\n\t(assert (rounded-rectangle-drawn)))\n\n(defrule do-not-draw-rounded-rect\n\t(drawing)\n\t(draw ?", "x": "/html/body/div[7]"}]}, "tags": [], "label": "code", "web_segment_id": 20, "global_sentence_id": 73, "edu_l1_label": "EDU_O"}, {"txt": " FALSE ?)\t=>\t(assert (rounded-rectangle-drawn)))\t(defrule draw-rounded-lines\t(drawing)\t(draw ?", "language": "english", "position": {"atoms": [{"position_id": 205, "txt": " FALSE ?)\n\t=>\n\t(assert (rounded-rectangle-drawn)))\n\t\n(defrule draw-rounded-lines\n\t(drawing)\n\t(draw ?", "x": "/html/body/div[7]"}]}, "tags": [], "label": "code", "web_segment_id": 20, "global_sentence_id": 74, "edu_l1_label": "EDU_O"}, {"txt": " ?", "language": "english", "position": {"atoms": [{"position_id": 206, "txt": " ?", "x": "/html/body/div[7]"}]}, "tags": [], "label": "code", "web_segment_id": 20, "global_sentence_id": 75, "edu_l1_label": "EDU_O"}, {"txt": " TRUE)\t(height ?height)\t(width ?width)\t(thickness ?thickness)\t(roundness ?roundness)\t(segments ?segments)\t(screen-height ?screen-height)\t(screen-width ?screen-width)\t=>\t(raylib-draw-rectangle-rounded-lines-ex\t\t(/ (- ?screen-width ?width 250) 2)\t\t(/ (- ?screen-height ?height) 2)\t\t?width\t\t?height\t\t?roundness\t\t(integer ?segments)\t\t?thickness\t\tRED)\t(assert (rounded-rectangle-with-lines-drawn)))(defrule do-not-draw-rounded-lines\t(drawing)\t(draw ?", "language": "english", "position": {"atoms": [{"position_id": 207, "txt": " TRUE)\n\t(height ?height)\n\t(width ?width)\n\t(thickness ?thickness)\n\t(roundness ?roundness)\n\t(segments ?segments)\n\t(screen-height ?screen-height)\n\t(screen-width ?screen-width)\n\t=>\n\t(raylib-draw-rectangle-rounded-lines-ex\n\t\t(/ (- ?screen-width ?width 250) 2)\n\t\t(/ (- ?screen-height ?height) 2)\n\t\t?width\n\t\t?height\n\t\t?roundness\n\t\t(integer ?segments)\n\t\t?thickness\n\t\tRED)\n\t(assert (rounded-rectangle-with-lines-drawn)))\n\n(defrule do-not-draw-rounded-lines\n\t(drawing)\n\t(draw ?", "x": "/html/body/div[7]"}]}, "tags": [], "label": "code", "web_segment_id": 20, "global_sentence_id": 76, "edu_l1_label": "EDU_O"}, {"txt": " ?", "language": "english", "position": {"atoms": [{"position_id": 208, "txt": " ?", "x": "/html/body/div[7]"}]}, "tags": [], "label": "code", "web_segment_id": 20, "global_sentence_id": 77, "edu_l1_label": "EDU_O"}, {"txt": " FALSE)\t=>\t(assert (rounded-rectangle-with-lines-drawn)))\t(defrule end-drawing\t?d <- (drawing)\t?rd <- (rectangle-drawn)\t?rrd <- (rounded-rectangle-drawn)\t?rrld <- (rounded-rectangle-with-lines-drawn)\t?w <- (width ?width)\t?h <- (height ?height)\t?r <- (roundness ?roundness)\t?t <- (thickness ?thickness)\t?s <- (segments ?segments)\t?f <- (window-should-close FALSE)\t?dr <- (draw ?rect ?rounded ?lines)\t=>\t(retract ?d ?rd ?rrd ?rrld ?w ?h ?r ?t ?s ?f ?dr)\t(assert\t\t(window-should-close (raylib-window-should-close))\t\t(width\t\t\t(raylib-gui-slider-bar\t\t\t\t640 40 105 20\t\t\t\t\"Width\"\t\t\t\t(format nil \"%.2f\" ?width)\t\t\t\t?width\t\t\t\t0.0\t\t\t\t(float (- (raylib-get-screen-width) 300))))\t\t(height\t\t\t(raylib-gui-slider-bar\t\t\t\t640 70 105 20\t\t\t\t\"Height\"\t\t\t\t(format nil \"%.2f\" ?height)\t\t\t\t?height\t\t\t\t0.0\t\t\t\t(float (- (raylib-get-screen-height) 50))))\t\t(roundness\t\t\t(raylib-gui-slider-bar\t\t\t\t640 140 105 20\t\t\t\t\"Roundness\"\t\t\t\t(format nil \"%.2f\" ?roundness)\t\t\t\t?roundness\t\t\t\t0.0 1.0))\t\t(thickness\t\t\t(raylib-gui-slider-bar\t\t\t\t640 170 105 20\t\t\t\t\"Thickness\"\t\t\t\t(format nil \"%.2f\" ?thickness)\t\t\t\t?thickness\t\t\t\t0.0 20.0))\t\t(segments\t\t\t(raylib-gui-slider-bar\t\t\t\t640 240 105 20\t\t\t\t\"Segments\"\t\t\t\t(format nil \"%.2f\" ?segments)\t\t\t\t?segments\t\t\t\t0.0 60.0))\t\t(draw\t\t\t(raylib-gui-check-box\t\t\t\t640 320 20 20\t\t\t\t\"DrawRect\"\t\t\t\t?rect)\t\t\t(raylib-gui-check-box\t\t\t\t640 350 20 20\t\t\t\t\"DrawRoundedRect\"\t\t\t\t?rounded)\t\t\t(raylib-gui-check-box\t\t\t\t640 380 20 20\t\t\t\t\"DrawRoundedLines\"\t\t\t\t?lines)))\t\t(raylib-clear-background WHITE)\t(raylib-end-drawing))(defrule die\t(window-should-close TRUE)\t=>\t(println \"Done.", "language": "english", "position": {"atoms": [{"position_id": 209, "txt": " FALSE)\n\t=>\n\t(assert (rounded-rectangle-with-lines-drawn)))\n\t\n(defrule end-drawing\n\t?d <- (drawing)\n\t?rd <- (rectangle-drawn)\n\t?rrd <- (rounded-rectangle-drawn)\n\t?rrld <- (rounded-rectangle-with-lines-drawn)\n\t?w <- (width ?width)\n\t?h <- (height ?height)\n\t?r <- (roundness ?roundness)\n\t?t <- (thickness ?thickness)\n\t?s <- (segments ?segments)\n\t?f <- (window-should-close FALSE)\n\t?dr <- (draw ?rect ?rounded ?lines)\n\t=>\n\t(retract ?d ?rd ?rrd ?rrld ?w ?h ?r ?t ?s ?f ?dr)\n\t(assert\n\t\t(window-should-close (raylib-window-should-close))\n\t\t(width\n\t\t\t(raylib-gui-slider-bar\n\t\t\t\t640 40 105 20\n\t\t\t\t\"Width\"\n\t\t\t\t(format nil \"%.2f\" ?width)\n\t\t\t\t?width\n\t\t\t\t0.0\n\t\t\t\t(float (- (raylib-get-screen-width) 300))))\n\t\t(height\n\t\t\t(raylib-gui-slider-bar\n\t\t\t\t640 70 105 20\n\t\t\t\t\"Height\"\n\t\t\t\t(format nil \"%.2f\" ?height)\n\t\t\t\t?height\n\t\t\t\t0.0\n\t\t\t\t(float (- (raylib-get-screen-height) 50))))\n\t\t(roundness\n\t\t\t(raylib-gui-slider-bar\n\t\t\t\t640 140 105 20\n\t\t\t\t\"Roundness\"\n\t\t\t\t(format nil \"%.2f\" ?roundness)\n\t\t\t\t?roundness\n\t\t\t\t0.0 1.0))\n\t\t(thickness\n\t\t\t(raylib-gui-slider-bar\n\t\t\t\t640 170 105 20\n\t\t\t\t\"Thickness\"\n\t\t\t\t(format nil \"%.2f\" ?thickness)\n\t\t\t\t?thickness\n\t\t\t\t0.0 20.0))\n\t\t(segments\n\t\t\t(raylib-gui-slider-bar\n\t\t\t\t640 240 105 20\n\t\t\t\t\"Segments\"\n\t\t\t\t(format nil \"%.2f\" ?segments)\n\t\t\t\t?segments\n\t\t\t\t0.0 60.0))\n\t\t(draw\n\t\t\t(raylib-gui-check-box\n\t\t\t\t640 320 20 20\n\t\t\t\t\"DrawRect\"\n\t\t\t\t?rect)\n\t\t\t(raylib-gui-check-box\n\t\t\t\t640 350 20 20\n\t\t\t\t\"DrawRoundedRect\"\n\t\t\t\t?rounded)\n\t\t\t(raylib-gui-check-box\n\t\t\t\t640 380 20 20\n\t\t\t\t\"DrawRoundedLines\"\n\t\t\t\t?lines)))\n\t\t(raylib-clear-background WHITE)\n\t(raylib-end-drawing))\n\n(defrule die\n\t(window-should-close TRUE)\n\t=>\n\t(println \"Done.", "x": "/html/body/div[7]"}]}, "tags": [], "label": "code", "web_segment_id": 20, "global_sentence_id": 78, "edu_l1_label": "EDU_O"}, {"txt": " Exiting...\")\t(raylib-close-window)\t(exit))(reset)(run)", "language": "english", "position": {"atoms": [{"position_id": 210, "txt": " Exiting...\")\n\t(raylib-close-window)\n\t(exit))\n\n(reset)\n(run)", "x": "/html/body/div[7]"}]}, "tags": [], "label": "code", "web_segment_id": 20, "global_sentence_id": 79, "edu_l1_label": "EDU_O"}, {"txt": "(raylib-init-window 800 450 \"CLIPSraylib [shapes] example - raylib logo animation\")(raylib-set-target-fps 60)(deffacts init\t(logoPositionX (integer (- (/ (raylib-get-screen-width) 2) 128)))\t(logoPositionY (integer (- (/ (raylib-get-screen-height) 2) 128)))\t(framesCounter 0)\t(lettersAppearingFramesCounter 0)\t(lettersCount 0)\t(topSideRecWidth 16)\t(leftSideRecHeight 16)\t(bottomSideRecWidth 16)\t(rightSideRecHeight 16)\t(alpha 1.0)\t(replay FALSE)\t(WindowShouldClose FALSE))(defrule reset-and-replay\t(alpha ?alpha&:", "language": "english", "position": {"atoms": [{"position_id": 212, "txt": "(raylib-init-window 800 450 \"CLIPSraylib [shapes] example - raylib logo animation\")\n(raylib-set-target-fps 60)\n\n(deffacts init\n\t(logoPositionX (integer (- (/ (raylib-get-screen-width) 2) 128)))\n\t(logoPositionY (integer (- (/ (raylib-get-screen-height) 2) 128)))\n\t(framesCounter 0)\n\t(lettersAppearingFramesCounter 0)\n\t(lettersCount 0)\n\n\t(topSideRecWidth 16)\n\t(leftSideRecHeight 16)\n\n\t(bottomSideRecWidth 16)\n\t(rightSideRecHeight 16)\n\n\t(alpha 1.0)\n\t(replay FALSE)\n\t(WindowShouldClose FALSE))\n\n(defrule reset-and-replay\n\t(alpha ?alpha&:", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 80, "edu_l1_label": "EDU_O"}, {"txt": "(<= ?alpha 0))\t?r <- (replay TRUE)\t=>\t(reset))(defrule start-drawing\t?w <- (WindowShouldClose FALSE)\t(not (drawing))\t=>\t(retract ?w)\t(assert\t\t(drawing)\t\t(WindowShouldClose (raylib-window-should-close)))\t(raylib-begin-drawing)\t\t(raylib-clear-background RAYWHITE))(defrule small-box-blinking-on\t(logoPositionX ?logoPositionX)\t(logoPositionY ?logoPositionY)\t(drawing)\t(not (done-drawing))\t?f <- (framesCounter ?frames&:", "language": "english", "position": {"atoms": [{"position_id": 213, "txt": "(<= ?alpha 0))\n\t?r <- (replay TRUE)\n\t=>\n\t(reset))\n\n(defrule start-drawing\n\t?w <- (WindowShouldClose FALSE)\n\t(not (drawing))\n\t=>\n\t(retract ?w)\n\t(assert\n\t\t(drawing)\n\t\t(WindowShouldClose (raylib-window-should-close)))\n\t(raylib-begin-drawing)\n\t\t(raylib-clear-background RAYWHITE))\n\n(defrule small-box-blinking-on\n\t(logoPositionX ?logoPositionX)\n\t(logoPositionY ?logoPositionY)\n\t(drawing)\n\t(not (done-drawing))\n\t?f <- (framesCounter ?frames&:", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 81, "edu_l1_label": "EDU_O"}, {"txt": "(< ?frames 120))\t(WindowShouldClose FALSE)\t(test (> (mod (/ ?frames 15) 2) 0))\t=>\t\t(raylib-draw-rectangle ?logoPositionX ?logoPositionY 16 16 BLACK)\t(retract ?f)\t(assert\t\t(framesCounter (+ 1 ?frames))))(defrule small-box-blinking-off\t(logoPositionX ?logoPositionX)\t(logoPositionY ?logoPositionY)\t(drawing)\t(not (done-drawing))\t?f <- (framesCounter ?frames&:", "language": "english", "position": {"atoms": [{"position_id": 214, "txt": "(< ?frames 120))\n\t(WindowShouldClose FALSE)\n\t(test (> (mod (/ ?frames 15) 2) 0))\n\t=>\n\t\t(raylib-draw-rectangle ?logoPositionX ?logoPositionY 16 16 BLACK)\n\t(retract ?f)\n\t(assert\n\t\t(framesCounter (+ 1 ?frames))))\n\n(defrule small-box-blinking-off\n\t(logoPositionX ?logoPositionX)\n\t(logoPositionY ?logoPositionY)\n\t(drawing)\n\t(not (done-drawing))\n\t?f <- (framesCounter ?frames&:", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 82, "edu_l1_label": "EDU_O"}, {"txt": "(< ?frames 120))\t(WindowShouldClose FALSE)\t(test (= (mod (/ ?frames 15) 2) 0))\t=>\t(retract ?f)\t(assert\t\t(framesCounter (+ 1 ?frames))))(defrule top-and-left-bars-growing\t(logoPositionX ?logoPositionX)\t(logoPositionY ?logoPositionY)\t(drawing)\t(not (done-drawing))\t(framesCounter 120)\t(WindowShouldClose FALSE)\t?t <- (topSideRecWidth ?topSideRecWidth&:", "language": "english", "position": {"atoms": [{"position_id": 215, "txt": "(< ?frames 120))\n\t(WindowShouldClose FALSE)\n\t(test (= (mod (/ ?frames 15) 2) 0))\n\t=>\n\t(retract ?f)\n\t(assert\n\t\t(framesCounter (+ 1 ?frames))))\n\n(defrule top-and-left-bars-growing\n\t(logoPositionX ?logoPositionX)\n\t(logoPositionY ?logoPositionY)\n\t(drawing)\n\t(not (done-drawing))\n\t(framesCounter 120)\n\t(WindowShouldClose FALSE)\n\t?t <- (topSideRecWidth ?topSideRecWidth&:", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 83, "edu_l1_label": "EDU_O"}, {"txt": "(< ?topSideRecWidth 256))\t?l <- (leftSideRecHeight ?leftSideRecHeight)\t=>                (raylib-draw-rectangle ?logoPositionX ?logoPositionY ?topSideRecWidth 16 BLACK)                (raylib-draw-rectangle ?logoPositionX ?logoPositionY 16 ?leftSideRecHeight BLACK)\t(retract ?t ?l)\t(assert\t\t(done-drawing)\t\t(topSideRecWidth (+ ?topSideRecWidth 4))\t\t(leftSideRecHeight (+ ?leftSideRecHeight 4))))(defrule bottom-and-right-bars-growing\t(logoPositionX ?logoPositionX)\t(logoPositionY ?logoPositionY)\t(drawing)\t(not (done-drawing))\t(framesCounter 120)\t(WindowShouldClose FALSE)\t(topSideRecWidth 256)\t(leftSideRecHeight ?leftSideRecHeight)\t?b <- (bottomSideRecWidth ?bottomSideRecWidth&:", "language": "english", "position": {"atoms": [{"position_id": 216, "txt": "(< ?topSideRecWidth 256))\n\t?l <- (leftSideRecHeight ?leftSideRecHeight)\n\t=>\n                (raylib-draw-rectangle ?logoPositionX ?logoPositionY ?topSideRecWidth 16 BLACK)\n                (raylib-draw-rectangle ?logoPositionX ?logoPositionY 16 ?leftSideRecHeight BLACK)\n\t(retract ?t ?l)\n\t(assert\n\t\t(done-drawing)\n\t\t(topSideRecWidth (+ ?topSideRecWidth 4))\n\t\t(leftSideRecHeight (+ ?leftSideRecHeight 4))))\n\n(defrule bottom-and-right-bars-growing\n\t(logoPositionX ?logoPositionX)\n\t(logoPositionY ?logoPositionY)\n\t(drawing)\n\t(not (done-drawing))\n\t(framesCounter 120)\n\t(WindowShouldClose FALSE)\n\t(topSideRecWidth 256)\n\t(leftSideRecHeight ?leftSideRecHeight)\n\t?b <- (bottomSideRecWidth ?bottomSideRecWidth&:", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 84, "edu_l1_label": "EDU_O"}, {"txt": "(< ?bottomSideRecWidth 256))\t?r <- (rightSideRecHeight ?rightSideRecHeight)\t=>                (raylib-draw-rectangle ?logoPositionX ?logoPositionY 256 16 BLACK)                (raylib-draw-rectangle ?logoPositionX ?logoPositionY 16 ?leftSideRecHeight BLACK)                (raylib-draw-rectangle (+ 240 ?logoPositionX) ?logoPositionY 16 ?rightSideRecHeight BLACK)                (raylib-draw-rectangle ?logoPositionX (+ 240 ?logoPositionY) ?bottomSideRecWidth 16 BLACK)\t(retract ?b ?r)\t(assert\t\t(done-drawing)\t\t(bottomSideRecWidth (+ 4 ?bottomSideRecWidth))\t\t(rightSideRecHeight (+ 4 ?rightSideRecHeight))))(defrule one-more-letter\t(drawing)\t(not (done-drawing))\t(framesCounter 120)\t?c <- (lettersCount ?count&:", "language": "english", "position": {"atoms": [{"position_id": 217, "txt": "(< ?bottomSideRecWidth 256))\n\t?r <- (rightSideRecHeight ?rightSideRecHeight)\n\t=>\n                (raylib-draw-rectangle ?logoPositionX ?logoPositionY 256 16 BLACK)\n                (raylib-draw-rectangle ?logoPositionX ?logoPositionY 16 ?leftSideRecHeight BLACK)\n\n                (raylib-draw-rectangle (+ 240 ?logoPositionX) ?logoPositionY 16 ?rightSideRecHeight BLACK)\n                (raylib-draw-rectangle ?logoPositionX (+ 240 ?logoPositionY) ?bottomSideRecWidth 16 BLACK)\n\t(retract ?b ?r)\n\t(assert\n\t\t(done-drawing)\n\t\t(bottomSideRecWidth (+ 4 ?bottomSideRecWidth))\n\t\t(rightSideRecHeight (+ 4 ?rightSideRecHeight))))\n\n(defrule one-more-letter\n\t(drawing)\n\t(not (done-drawing))\n\t(framesCounter 120)\n\t?c <- (lettersCount ?count&:", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 85, "edu_l1_label": "EDU_O"}, {"txt": "(< ?count 10))\t?l <- (lettersAppearingFramesCounter 12)\t(WindowShouldClose FALSE)\t(bottomSideRecWidth 256)\t(not (draw-letters))\t=>\t(retract ?c ?l)\t(assert\t\t(lettersAppearingFramesCounter 0)\t\t(lettersCount (+ 1 ?count))\t\t(draw-letters)))(defrule same-amount-of-letters\t(drawing)\t(not (done-drawing))\t(framesCounter 120)\t(lettersCount ?count&:", "language": "english", "position": {"atoms": [{"position_id": 218, "txt": "(< ?count 10))\n\t?l <- (lettersAppearingFramesCounter 12)\n\t(WindowShouldClose FALSE)\n\t(bottomSideRecWidth 256)\n\t(not (draw-letters))\n\t=>\n\t(retract ?c ?l)\n\t(assert\n\t\t(lettersAppearingFramesCounter 0)\n\t\t(lettersCount (+ 1 ?count))\n\t\t(draw-letters)))\n\n(defrule same-amount-of-letters\n\t(drawing)\n\t(not (done-drawing))\n\t(framesCounter 120)\n\t(lettersCount ?count&:", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 86, "edu_l1_label": "EDU_O"}, {"txt": "(< ?count 10))\t?l <- (lettersAppearingFramesCounter ?frames&~12)\t(WindowShouldClose FALSE)\t(bottomSideRecWidth 256)\t(not (draw-letters))\t=>\t(retract ?l)\t(assert\t\t(draw-letters)\t\t(lettersAppearingFramesCounter (+ 1 ?frames))))(defrule letters-appearing\t(logoPositionX ?logoPositionX)\t(logoPositionY ?logoPositionY)\t(drawing)\t(not (done-drawing))\t(framesCounter 120)\t(lettersCount ?lettersCount)\t(WindowShouldClose FALSE)\t(bottomSideRecWidth 256)\t(rightSideRecHeight ?rightSideRecHeight)\t(leftSideRecHeight ?leftSideRecHeight)\t(alpha ?alpha&:", "language": "english", "position": {"atoms": [{"position_id": 219, "txt": "(< ?count 10))\n\t?l <- (lettersAppearingFramesCounter ?frames&~12)\n\t(WindowShouldClose FALSE)\n\t(bottomSideRecWidth 256)\n\t(not (draw-letters))\n\t=>\n\t(retract ?l)\n\t(assert\n\t\t(draw-letters)\n\t\t(lettersAppearingFramesCounter (+ 1 ?frames))))\n\n(defrule letters-appearing\n\t(logoPositionX ?logoPositionX)\n\t(logoPositionY ?logoPositionY)\n\t(drawing)\n\t(not (done-drawing))\n\t(framesCounter 120)\n\t(lettersCount ?lettersCount)\n\t(WindowShouldClose FALSE)\n\t(bottomSideRecWidth 256)\n\t(rightSideRecHeight ?rightSideRecHeight)\n\t(leftSideRecHeight ?leftSideRecHeight)\n\t(alpha ?alpha&:", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 87, "edu_l1_label": "EDU_O"}, {"txt": "(> ?alpha 0))\t(or\t\t(test (= ?lettersCount 10))\t\t(exists (draw-letters)))\t=>                (raylib-draw-rectangle ?logoPositionX ?logoPositionY 256 16 (raylib-fade BLACK ?alpha))                (raylib-draw-rectangle ?logoPositionX (+ ?logoPositionY 16) 16 (- ?leftSideRecHeight 32) (raylib-fade BLACK ?alpha))                (raylib-draw-rectangle (+ 240 ?logoPositionX) (+ 16 ?logoPositionY) 16 (- ?rightSideRecHeight 32) (raylib-fade BLACK ?alpha))                (raylib-draw-rectangle ?logoPositionX (+ 240 ?logoPositionY) 256 16 (raylib-fade BLACK ?alpha))\t\t(raylib-draw-rectangle\t\t\t(integer (- (/ (raylib-get-screen-width) 2) 112))\t\t\t(integer (- (/ (raylib-get-screen-height) 2) 112))\t\t\t224 224 (raylib-fade RAYWHITE ?alpha))\t\t(raylib-draw-text\t\t\t(sub-string 0 ?lettersCount raylib)\t\t\t(integer (- (/ (raylib-get-screen-width) 2) 44))\t\t\t(integer (+ (/ (raylib-get-screen-height) 2) 48))\t\t\t50\t\t\t(raylib-fade BLACK ?alpha))\t(assert (ready-to-fade)))(defrule wait-to-fade\t(lettersCount ~10)\t(alpha ?alpha&:", "language": "english", "position": {"atoms": [{"position_id": 220, "txt": "(> ?alpha 0))\n\t(or\n\t\t(test (= ?lettersCount 10))\n\t\t(exists (draw-letters)))\n\t=>\n                (raylib-draw-rectangle ?logoPositionX ?logoPositionY 256 16 (raylib-fade BLACK ?alpha))\n                (raylib-draw-rectangle ?logoPositionX (+ ?logoPositionY 16) 16 (- ?leftSideRecHeight 32) (raylib-fade BLACK ?alpha))\n\n                (raylib-draw-rectangle (+ 240 ?logoPositionX) (+ 16 ?logoPositionY) 16 (- ?rightSideRecHeight 32) (raylib-fade BLACK ?alpha))\n                (raylib-draw-rectangle ?logoPositionX (+ 240 ?logoPositionY) 256 16 (raylib-fade BLACK ?alpha))\n\n\t\t(raylib-draw-rectangle\n\t\t\t(integer (- (/ (raylib-get-screen-width) 2) 112))\n\t\t\t(integer (- (/ (raylib-get-screen-height) 2) 112))\n\t\t\t224 224 (raylib-fade RAYWHITE ?alpha))\n\n\t\t(raylib-draw-text\n\t\t\t(sub-string 0 ?lettersCount raylib)\n\t\t\t(integer (- (/ (raylib-get-screen-width) 2) 44))\n\t\t\t(integer (+ (/ (raylib-get-screen-height) 2) 48))\n\t\t\t50\n\t\t\t(raylib-fade BLACK ?alpha))\n\t(assert (ready-to-fade)))\n\n(defrule wait-to-fade\n\t(lettersCount ~10)\n\t(alpha ?alpha&:", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 88, "edu_l1_label": "EDU_O"}, {"txt": "(> ?alpha 0))\t(drawing)\t(not (done-drawing))\t(ready-to-fade)\t?d <- (draw-letters)\t=>\t(retract ?d)\t(assert (done-drawing)))(defrule fade-out\t(lettersCount 10)\t?a <- (alpha ?alpha&:", "language": "english", "position": {"atoms": [{"position_id": 221, "txt": "(> ?alpha 0))\n\t(drawing)\n\t(not (done-drawing))\n\t(ready-to-fade)\n\t?d <- (draw-letters)\n\t=>\n\t(retract ?d)\n\t(assert (done-drawing)))\n\n(defrule fade-out\n\t(lettersCount 10)\n\t?a <- (alpha ?alpha&:", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 89, "edu_l1_label": "EDU_O"}, {"txt": "(> ?alpha 0))\t(drawing)\t(not (done-drawing))\t?r <- (ready-to-fade)\t=>\t(retract ?a ?r)\t(assert\t\t(alpha (- ?alpha 0.02))\t\t(done-drawing)))(defrule describe-replay\t(lettersCount 10)\t(drawing)\t(not (done-drawing))\t(alpha ?alpha&:", "language": "english", "position": {"atoms": [{"position_id": 222, "txt": "(> ?alpha 0))\n\t(drawing)\n\t(not (done-drawing))\n\t?r <- (ready-to-fade)\n\t=>\n\t(retract ?a ?r)\n\t(assert\n\t\t(alpha (- ?alpha 0.02))\n\t\t(done-drawing)))\n\n(defrule describe-replay\n\t(lettersCount 10)\n\t(drawing)\n\t(not (done-drawing))\n\t(alpha ?alpha&:", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 90, "edu_l1_label": "EDU_O"}, {"txt": "(<= ?alpha 0))\t?r <- (replay FALSE)\t=>\t\t(raylib-draw-text \"[R] REPLAY\" 340 200 20 GRAY)\t(retract ?r)\t(assert\t\t(done-drawing)\t\t(replay (raylib-is-key-pressed KEY_R))))(defrule end-drawing\t?d <- (drawing)\t?dd <- (done-drawing)\t=>\t(raylib-end-drawing)\t(retract ?d ?dd))(defrule die\t(WindowShouldClose TRUE)\t=>\t(println \"Done.", "language": "english", "position": {"atoms": [{"position_id": 223, "txt": "(<= ?alpha 0))\n\t?r <- (replay FALSE)\n\t=>\n\t\t(raylib-draw-text \"[R] REPLAY\" 340 200 20 GRAY)\n\t(retract ?r)\n\t(assert\n\t\t(done-drawing)\n\t\t(replay (raylib-is-key-pressed KEY_R))))\n\n(defrule end-drawing\n\t?d <- (drawing)\n\t?dd <- (done-drawing)\n\t=>\n\t(raylib-end-drawing)\n\t(retract ?d ?dd))\n\n(defrule die\n\t(WindowShouldClose TRUE)\n\t=>\n\t(println \"Done.", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 91, "edu_l1_label": "EDU_O"}, {"txt": " Exiting...\")\t(raylib-close-window)\t(exit))(reset)(run)", "language": "english", "position": {"atoms": [{"position_id": 224, "txt": " Exiting...\")\n\t(raylib-close-window)\n\t(exit))\n\n(reset)\n(run)", "x": "/html/body/div[8]"}]}, "tags": [], "label": "code", "web_segment_id": 21, "global_sentence_id": 92, "edu_l1_label": "EDU_O"}, {"txt": "(deffacts pixels\t(map-tile-size 32)\t(player-size 16)\t(player-tile-visibility 2))(deffacts map\t(tiles-x 25)\t(tiles-y 15))(deffacts player\t(player-position 180 130))(deffacts init\t(texture (raylib-load-render-texture 25 15))\t(window-should-close FALSE)\t(KEY_RIGHT FALSE)\t(KEY_LEFT FALSE)\t(KEY_DOWN FALSE)\t(KEY_UP FALSE))(raylib-init-window 800 450 \"CLIPSraylib [textures] example - fog of war\")(raylib-set-target-fps 60)(defrule init\t(declare (salience 1))\t(texture ?", "language": "english", "position": {"atoms": [{"position_id": 226, "txt": "(deffacts pixels\n\t(map-tile-size 32)\n\t(player-size 16)\n\t(player-tile-visibility 2))\n\n(deffacts map\n\t(tiles-x 25)\n\t(tiles-y 15))\n\n(deffacts player\n\t(player-position 180 130))\n\n(deffacts init\n\t(texture (raylib-load-render-texture 25 15))\n\t(window-should-close FALSE)\n\t(KEY_RIGHT FALSE)\n\t(KEY_LEFT FALSE)\n\t(KEY_DOWN FALSE)\n\t(KEY_UP FALSE))\n\n(raylib-init-window 800 450 \"CLIPSraylib [textures] example - fog of war\")\n(raylib-set-target-fps 60)\n\n(defrule init\n\t(declare (salience 1))\n\t(texture ?", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 93, "edu_l1_label": "EDU_O"}, {"txt": " ?id ?width ?height ?mipmaps ?format ?", "language": "english", "position": {"atoms": [{"position_id": 227, "txt": " ?id ?width ?height ?mipmaps ?format ?", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 94, "edu_l1_label": "EDU_O"}, {"txt": " ?", "language": "english", "position": {"atoms": [{"position_id": 228, "txt": " ?", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 95, "edu_l1_label": "EDU_O"}, {"txt": " ?", "language": "english", "position": {"atoms": [{"position_id": 229, "txt": " ?", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 96, "edu_l1_label": "EDU_O"}, {"txt": " ?", "language": "english", "position": {"atoms": [{"position_id": 230, "txt": " ?", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 97, "edu_l1_label": "EDU_O"}, {"txt": " ?)\t=>\t(raylib-set-texture-filter\t\t?id ?width ?height ?mipmaps ?format TEXTURE_FILTER_BILINEAR))(defrule determine-player-tile-x-y\t(map-tile-size ?MAP_TILE_SIZE)\t(player-position ?x ?y)\t=>\t(assert\t\t(player-tile-x (integer (/ (+ ?x (/ ?MAP_TILE_SIZE 2)) ?MAP_TILE_SIZE)))\t\t(player-tile-y (integer (/ (+ ?y (/ ?MAP_TILE_SIZE 2)) ?MAP_TILE_SIZE)))))(defrule move-right\t(tiles-x ?tiles-x)\t(map-tile-size ?map-tile-size)\t(player-size ?player-size)\t?f <- (KEY_RIGHT TRUE)\t?p <- (player-position ?x&:", "language": "english", "position": {"atoms": [{"position_id": 231, "txt": " ?)\n\t=>\n\t(raylib-set-texture-filter\n\t\t?id ?width ?height ?mipmaps ?format TEXTURE_FILTER_BILINEAR))\n\n(defrule determine-player-tile-x-y\n\t(map-tile-size ?MAP_TILE_SIZE)\n\t(player-position ?x ?y)\n\t=>\n\t(assert\n\t\t(player-tile-x (integer (/ (+ ?x (/ ?MAP_TILE_SIZE 2)) ?MAP_TILE_SIZE)))\n\t\t(player-tile-y (integer (/ (+ ?y (/ ?MAP_TILE_SIZE 2)) ?MAP_TILE_SIZE)))))\n\n(defrule move-right\n\t(tiles-x ?tiles-x)\n\t(map-tile-size ?map-tile-size)\n\t(player-size ?player-size)\n\t?f <- (KEY_RIGHT TRUE)\n\t?p <- (player-position ?x&:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 98, "edu_l1_label": "EDU_O"}, {"txt": "(< (+ ?x ?player-size) (* ?tiles-x ?map-tile-size)) ?y)\t?ptx <- (player-tile-x ?)\t?pty <- (player-tile-y ?)\t=>\t(retract ?f ?p ?ptx ?pty)\t(assert\t\t(KEY_RIGHT FALSE)\t\t(player-position (+ 5 ?x) ?y)))(defrule cannot-move-right\t(tiles-x ?tiles-x)\t(map-tile-size ?map-tile-size)\t(player-size ?player-size)\t?f <- (KEY_RIGHT TRUE)\t?p <- (player-position ?x&:", "language": "english", "position": {"atoms": [{"position_id": 232, "txt": "(< (+ ?x ?player-size) (* ?tiles-x ?map-tile-size)) ?y)\n\t?ptx <- (player-tile-x ?)\n\t?pty <- (player-tile-y ?)\n\t=>\n\t(retract ?f ?p ?ptx ?pty)\n\t(assert\n\t\t(KEY_RIGHT FALSE)\n\t\t(player-position (+ 5 ?x) ?y)))\n\n(defrule cannot-move-right\n\t(tiles-x ?tiles-x)\n\t(map-tile-size ?map-tile-size)\n\t(player-size ?player-size)\n\t?f <- (KEY_RIGHT TRUE)\n\t?p <- (player-position ?x&:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 99, "edu_l1_label": "EDU_O"}, {"txt": "(>= (+ ?x ?player-size) (* ?tiles-x ?map-tile-size)) ?y)\t?ptx <- (player-tile-x ?)\t?pty <- (player-tile-y ?)\t=>\t(retract ?f ?p ?ptx ?pty)\t(assert\t\t(KEY_RIGHT FALSE)\t\t(player-position (* ?tiles-x ?map-tile-size) ?y)))(defrule move-left\t(tiles-x ?tiles-x)\t(map-tile-size ?map-tile-size)\t(player-size ?player-size)\t?f <- (KEY_LEFT TRUE)\t?p <- (player-position ?x&:", "language": "english", "position": {"atoms": [{"position_id": 233, "txt": "(>= (+ ?x ?player-size) (* ?tiles-x ?map-tile-size)) ?y)\n\t?ptx <- (player-tile-x ?)\n\t?pty <- (player-tile-y ?)\n\t=>\n\t(retract ?f ?p ?ptx ?pty)\n\t(assert\n\t\t(KEY_RIGHT FALSE)\n\t\t(player-position (* ?tiles-x ?map-tile-size) ?y)))\n\n(defrule move-left\n\t(tiles-x ?tiles-x)\n\t(map-tile-size ?map-tile-size)\n\t(player-size ?player-size)\n\t?f <- (KEY_LEFT TRUE)\n\t?p <- (player-position ?x&:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 100, "edu_l1_label": "EDU_O"}, {"txt": "(> (+ ?x ?player-size) 0) ?y)\t?ptx <- (player-tile-x ?)\t?pty <- (player-tile-y ?)\t=>\t(retract ?f ?p ?ptx ?pty)\t(assert\t\t(KEY_LEFT FALSE)\t\t(player-position (- ?x 5) ?y)))(defrule cannot-move-left\t(tiles-x ?tiles-x)\t(map-tile-size ?map-tile-size)\t(player-size ?player-size)\t?f <- (KEY_LEFT TRUE)\t?p <- (player-position ?x&:", "language": "english", "position": {"atoms": [{"position_id": 234, "txt": "(> (+ ?x ?player-size) 0) ?y)\n\t?ptx <- (player-tile-x ?)\n\t?pty <- (player-tile-y ?)\n\t=>\n\t(retract ?f ?p ?ptx ?pty)\n\t(assert\n\t\t(KEY_LEFT FALSE)\n\t\t(player-position (- ?x 5) ?y)))\n\n(defrule cannot-move-left\n\t(tiles-x ?tiles-x)\n\t(map-tile-size ?map-tile-size)\n\t(player-size ?player-size)\n\t?f <- (KEY_LEFT TRUE)\n\t?p <- (player-position ?x&:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 101, "edu_l1_label": "EDU_O"}, {"txt": "(<= (+ ?x ?player-size) 0) ?y)\t?ptx <- (player-tile-x ?)\t?pty <- (player-tile-y ?)\t=>\t(retract ?f ?p ?ptx ?pty)\t(assert\t\t(KEY_LEFT FALSE)\t\t(player-position 0 ?y)))(defrule move-down\t(tiles-y ?tiles-y)\t(map-tile-size ?map-tile-size)\t(player-size ?player-size)\t?f <- (KEY_DOWN TRUE)\t?p <- (player-position ?x ?y&:", "language": "english", "position": {"atoms": [{"position_id": 235, "txt": "(<= (+ ?x ?player-size) 0) ?y)\n\t?ptx <- (player-tile-x ?)\n\t?pty <- (player-tile-y ?)\n\t=>\n\t(retract ?f ?p ?ptx ?pty)\n\t(assert\n\t\t(KEY_LEFT FALSE)\n\t\t(player-position 0 ?y)))\n\n(defrule move-down\n\t(tiles-y ?tiles-y)\n\t(map-tile-size ?map-tile-size)\n\t(player-size ?player-size)\n\t?f <- (KEY_DOWN TRUE)\n\t?p <- (player-position ?x ?y&:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 102, "edu_l1_label": "EDU_O"}, {"txt": "(< (+ ?y ?player-size) (* ?tiles-y ?map-tile-size)))\t?ptx <- (player-tile-x ?)\t?pty <- (player-tile-y ?)\t=>\t(retract ?f ?p ?ptx ?pty)\t(assert\t\t(KEY_DOWN FALSE)\t\t(player-position ?x (+ 5 ?y))))(defrule cannot-move-down\t(tiles-y ?tiles-y)\t(map-tile-size ?map-tile-size)\t(player-size ?player-size)\t?f <- (KEY_DOWN TRUE)\t?p <- (player-position ?x ?y&:", "language": "english", "position": {"atoms": [{"position_id": 236, "txt": "(< (+ ?y ?player-size) (* ?tiles-y ?map-tile-size)))\n\t?ptx <- (player-tile-x ?)\n\t?pty <- (player-tile-y ?)\n\t=>\n\t(retract ?f ?p ?ptx ?pty)\n\t(assert\n\t\t(KEY_DOWN FALSE)\n\t\t(player-position ?x (+ 5 ?y))))\n\n(defrule cannot-move-down\n\t(tiles-y ?tiles-y)\n\t(map-tile-size ?map-tile-size)\n\t(player-size ?player-size)\n\t?f <- (KEY_DOWN TRUE)\n\t?p <- (player-position ?x ?y&:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 103, "edu_l1_label": "EDU_O"}, {"txt": "(>= (+ ?y ?player-size) (* ?tiles-y ?map-tile-size)))\t?ptx <- (player-tile-x ?)\t?pty <- (player-tile-y ?)\t=>\t(retract ?f ?p ?ptx ?pty)\t(assert\t\t(KEY_DOWN FALSE)\t\t(player-position ?x (* ?tiles-y ?map-tile-size))))(defrule move-up\t(tiles-y ?tiles-y)\t(player-size ?player-size)\t?f <- (KEY_UP TRUE)\t?p <- (player-position ?x ?y&:", "language": "english", "position": {"atoms": [{"position_id": 237, "txt": "(>= (+ ?y ?player-size) (* ?tiles-y ?map-tile-size)))\n\t?ptx <- (player-tile-x ?)\n\t?pty <- (player-tile-y ?)\n\t=>\n\t(retract ?f ?p ?ptx ?pty)\n\t(assert\n\t\t(KEY_DOWN FALSE)\n\t\t(player-position ?x (* ?tiles-y ?map-tile-size))))\n\n(defrule move-up\n\t(tiles-y ?tiles-y)\n\t(player-size ?player-size)\n\t?f <- (KEY_UP TRUE)\n\t?p <- (player-position ?x ?y&:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 104, "edu_l1_label": "EDU_O"}, {"txt": "(> (+ ?y ?player-size) 0))\t?ptx <- (player-tile-x ?)\t?pty <- (player-tile-y ?)\t=>\t(retract ?f ?p ?ptx ?pty)\t(assert\t\t(KEY_UP FALSE)\t\t(player-position ?x (- ?y 5))))(defrule cannot-move-up\t(tiles-y ?tiles-y)\t(player-size ?player-size)\t?f <- (KEY_UP TRUE)\t?p <- (player-position ?x ?y&:", "language": "english", "position": {"atoms": [{"position_id": 238, "txt": "(> (+ ?y ?player-size) 0))\n\t?ptx <- (player-tile-x ?)\n\t?pty <- (player-tile-y ?)\n\t=>\n\t(retract ?f ?p ?ptx ?pty)\n\t(assert\n\t\t(KEY_UP FALSE)\n\t\t(player-position ?x (- ?y 5))))\n\n(defrule cannot-move-up\n\t(tiles-y ?tiles-y)\n\t(player-size ?player-size)\n\t?f <- (KEY_UP TRUE)\n\t?p <- (player-position ?x ?y&:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 105, "edu_l1_label": "EDU_O"}, {"txt": "(<= (+ ?y ?player-size) 0))\t?ptx <- (player-tile-x ?)\t?pty <- (player-tile-y ?)\t=>\t(retract ?f ?p ?ptx ?pty)\t(assert\t\t(KEY_UP FALSE)\t\t(player-position ?x 0)))(defrule set-unseen-tile-to-seen\t?f <- (tile ?x ?y ?blue ~1)\t(player-tile-visibility ?player-tile-visibility)\t(player-tile-y ?player-tile-y)\t(player-tile-x ?player-tile-x)\t(and\t\t(test\t(>= ?y (- ?player-tile-y ?player-tile-visibility)))\t\t(test\t(<= ?y (+ ?player-tile-y ?player-tile-visibility)))\t\t(test\t(>= ?x (- ?player-tile-x ?player-tile-visibility)))\t\t(test\t(<= ?x (+ ?player-tile-x ?player-tile-visibility))))\t=>\t(retract ?f)\t(assert (tile ?x ?y ?blue 1)))(defrule set-previous-seen-tile-to-partial-fog\t?f <- (tile ?x ?y ?blue 1)\t(player-tile-visibility ?player-tile-visibility)\t(player-tile-y ?player-tile-y)\t(player-tile-x ?player-tile-x)\t(or\t\t(test\t(< ?y (- ?player-tile-y ?player-tile-visibility)))\t\t(test\t(> ?y (+ ?player-tile-y ?player-tile-visibility)))\t\t(test\t(< ?x (- ?player-tile-x ?player-tile-visibility)))\t\t(test\t(> ?x (+ ?player-tile-x ?player-tile-visibility))))\t=>\t(retract ?f)\t(assert (tile ?x ?y ?blue 2)))(defrule render\t(texture ?id ?tid ?twidth ?theight ?tmipmaps ?tformat ?did ?dwidth ?dheight ?dmipmaps ?dformat)\t(map-tile-size ?MAP_TILE_SIZE)\t(player-size ?player-size)\t(player-position ?player-position-x ?player-position-y)\t(player-tile-visibility ?player-tile-visibility)\t(tiles-x ?tiles-x)\t(tiles-y ?tiles-y)\t(player-tile-x ?player-tile-x)\t(player-tile-y ?player-tile-y)\t?w <- (window-should-close FALSE)\t?r <- (KEY_RIGHT FALSE)\t?l <- (KEY_LEFT FALSE)\t?d <- (KEY_DOWN FALSE)\t?u <- (KEY_UP FALSE)\t(forall\t\t(tile ?x ?y ?", "language": "english", "position": {"atoms": [{"position_id": 239, "txt": "(<= (+ ?y ?player-size) 0))\n\t?ptx <- (player-tile-x ?)\n\t?pty <- (player-tile-y ?)\n\t=>\n\t(retract ?f ?p ?ptx ?pty)\n\t(assert\n\t\t(KEY_UP FALSE)\n\t\t(player-position ?x 0)))\n\n(defrule set-unseen-tile-to-seen\n\t?f <- (tile ?x ?y ?blue ~1)\n\t(player-tile-visibility ?player-tile-visibility)\n\t(player-tile-y ?player-tile-y)\n\t(player-tile-x ?player-tile-x)\n\t(and\n\t\t(test\t(>= ?y (- ?player-tile-y ?player-tile-visibility)))\n\t\t(test\t(<= ?y (+ ?player-tile-y ?player-tile-visibility)))\n\t\t(test\t(>= ?x (- ?player-tile-x ?player-tile-visibility)))\n\t\t(test\t(<= ?x (+ ?player-tile-x ?player-tile-visibility))))\n\t=>\n\t(retract ?f)\n\t(assert (tile ?x ?y ?blue 1)))\n\n(defrule set-previous-seen-tile-to-partial-fog\n\t?f <- (tile ?x ?y ?blue 1)\n\t(player-tile-visibility ?player-tile-visibility)\n\t(player-tile-y ?player-tile-y)\n\t(player-tile-x ?player-tile-x)\n\t(or\n\t\t(test\t(< ?y (- ?player-tile-y ?player-tile-visibility)))\n\t\t(test\t(> ?y (+ ?player-tile-y ?player-tile-visibility)))\n\t\t(test\t(< ?x (- ?player-tile-x ?player-tile-visibility)))\n\t\t(test\t(> ?x (+ ?player-tile-x ?player-tile-visibility))))\n\t=>\n\t(retract ?f)\n\t(assert (tile ?x ?y ?blue 2)))\n\n(defrule render\n\t(texture ?id ?tid ?twidth ?theight ?tmipmaps ?tformat ?did ?dwidth ?dheight ?dmipmaps ?dformat)\n\t(map-tile-size ?MAP_TILE_SIZE)\n\t(player-size ?player-size)\n\t(player-position ?player-position-x ?player-position-y)\n\t(player-tile-visibility ?player-tile-visibility)\n\t(tiles-x ?tiles-x)\n\t(tiles-y ?tiles-y)\n\t(player-tile-x ?player-tile-x)\n\t(player-tile-y ?player-tile-y)\n\t?w <- (window-should-close FALSE)\n\t?r <- (KEY_RIGHT FALSE)\n\t?l <- (KEY_LEFT FALSE)\n\t?d <- (KEY_DOWN FALSE)\n\t?u <- (KEY_UP FALSE)\n\t(forall\n\t\t(tile ?x ?y ?", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 106, "edu_l1_label": "EDU_O"}, {"txt": " 1)\t\t(and\t\t\t(test (>= ?y (- ?player-tile-y ?player-tile-visibility)))\t\t\t(test (<= ?y (+ ?player-tile-y ?player-tile-visibility)))\t\t\t(test (>= ?x (- ?player-tile-x ?player-tile-visibility)))\t\t\t(test (<= ?x (+ ?player-tile-x ?player-tile-visibility)))))\t(forall\t\t(tile ?x ?y ?", "language": "english", "position": {"atoms": [{"position_id": 240, "txt": " 1)\n\t\t(and\n\t\t\t(test (>= ?y (- ?player-tile-y ?player-tile-visibility)))\n\t\t\t(test (<= ?y (+ ?player-tile-y ?player-tile-visibility)))\n\t\t\t(test (>= ?x (- ?player-tile-x ?player-tile-visibility)))\n\t\t\t(test (<= ?x (+ ?player-tile-x ?player-tile-visibility)))))\n\t(forall\n\t\t(tile ?x ?y ?", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 107, "edu_l1_label": "EDU_O"}, {"txt": " 0|2)\t\t(or\t\t\t(test\t(< ?y (- ?player-tile-y ?player-tile-visibility)))\t\t\t(test\t(> ?y (+ ?player-tile-y ?player-tile-visibility)))\t\t\t(test\t(< ?x (- ?player-tile-x ?player-tile-visibility)))\t\t\t(test\t(> ?x (+ ?player-tile-x ?player-tile-visibility)))))\t=>\t(raylib-begin-texture-mode ?id ?tid ?twidth ?theight ?tmipmaps ?tformat ?did ?dwidth ?dheight ?dmipmaps ?dformat)\t    (raylib-clear-background BLANK)\t\t(do-for-all-facts ((?t tile)) (= 0 (nth$ 4 ?t:", "language": "english", "position": {"atoms": [{"position_id": 241, "txt": " 0|2)\n\t\t(or\n\t\t\t(test\t(< ?y (- ?player-tile-y ?player-tile-visibility)))\n\t\t\t(test\t(> ?y (+ ?player-tile-y ?player-tile-visibility)))\n\t\t\t(test\t(< ?x (- ?player-tile-x ?player-tile-visibility)))\n\t\t\t(test\t(> ?x (+ ?player-tile-x ?player-tile-visibility)))))\n\t=>\n\t(raylib-begin-texture-mode ?id ?tid ?twidth ?theight ?tmipmaps ?tformat ?did ?dwidth ?dheight ?dmipmaps ?dformat)\n\t    (raylib-clear-background BLANK)\n\t\t(do-for-all-facts ((?t tile)) (= 0 (nth$ 4 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 108, "edu_l1_label": "EDU_O"}, {"txt": "implied))\t\t\t(raylib-draw-rectangle (nth$ 1 ?t:", "language": "english", "position": {"atoms": [{"position_id": 242, "txt": "implied))\n\t\t\t(raylib-draw-rectangle (nth$ 1 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 109, "edu_l1_label": "EDU_O"}, {"txt": "implied) (nth$ 2 ?t:", "language": "english", "position": {"atoms": [{"position_id": 243, "txt": "implied) (nth$ 2 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 110, "edu_l1_label": "EDU_O"}, {"txt": "implied) 1 1 BLACK))\t\t(do-for-all-facts ((?t tile)) (= 2 (nth$ 4 ?t:", "language": "english", "position": {"atoms": [{"position_id": 244, "txt": "implied) 1 1 BLACK))\n\t\t(do-for-all-facts ((?t tile)) (= 2 (nth$ 4 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 111, "edu_l1_label": "EDU_O"}, {"txt": "implied))\t\t\t(raylib-draw-rectangle (nth$ 1 ?t:", "language": "english", "position": {"atoms": [{"position_id": 245, "txt": "implied))\n\t\t\t(raylib-draw-rectangle (nth$ 1 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 112, "edu_l1_label": "EDU_O"}, {"txt": "implied) (nth$ 2 ?t:", "language": "english", "position": {"atoms": [{"position_id": 246, "txt": "implied) (nth$ 2 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 113, "edu_l1_label": "EDU_O"}, {"txt": "implied) 1 1 (raylib-fade BLACK 0.8)))\t(raylib-end-texture-mode)\t(raylib-begin-drawing)\t\t(raylib-clear-background RAYWHITE)\t\t(do-for-all-facts ((?t tile)) (= 0 (nth$ 3 ?t:", "language": "english", "position": {"atoms": [{"position_id": 247, "txt": "implied) 1 1 (raylib-fade BLACK 0.8)))\n\t(raylib-end-texture-mode)\n\n\t(raylib-begin-drawing)\n\t\t(raylib-clear-background RAYWHITE)\n\t\t(do-for-all-facts ((?t tile)) (= 0 (nth$ 3 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 114, "edu_l1_label": "EDU_O"}, {"txt": "implied))\t\t\t(raylib-draw-rectangle (* (nth$ 1 ?t:", "language": "english", "position": {"atoms": [{"position_id": 248, "txt": "implied))\n\t\t\t(raylib-draw-rectangle (* (nth$ 1 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 115, "edu_l1_label": "EDU_O"}, {"txt": "implied)  ?MAP_TILE_SIZE) (* (nth$ 2 ?t:", "language": "english", "position": {"atoms": [{"position_id": 249, "txt": "implied)  ?MAP_TILE_SIZE) (* (nth$ 2 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 116, "edu_l1_label": "EDU_O"}, {"txt": "implied) ?MAP_TILE_SIZE) ?MAP_TILE_SIZE ?MAP_TILE_SIZE BLUE)\t\t\t(raylib-draw-rectangle-lines (* (nth$ 1 ?t:", "language": "english", "position": {"atoms": [{"position_id": 250, "txt": "implied) ?MAP_TILE_SIZE) ?MAP_TILE_SIZE ?MAP_TILE_SIZE BLUE)\n\t\t\t(raylib-draw-rectangle-lines (* (nth$ 1 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 117, "edu_l1_label": "EDU_O"}, {"txt": "implied)  ?MAP_TILE_SIZE) (* (nth$ 2 ?t:", "language": "english", "position": {"atoms": [{"position_id": 251, "txt": "implied)  ?MAP_TILE_SIZE) (* (nth$ 2 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 118, "edu_l1_label": "EDU_O"}, {"txt": "implied) ?MAP_TILE_SIZE) ?MAP_TILE_SIZE ?MAP_TILE_SIZE (raylib-fade DARKBLUE 0.5)))\t\t(do-for-all-facts ((?t tile)) (= 1 (nth$ 3 ?t:", "language": "english", "position": {"atoms": [{"position_id": 252, "txt": "implied) ?MAP_TILE_SIZE) ?MAP_TILE_SIZE ?MAP_TILE_SIZE (raylib-fade DARKBLUE 0.5)))\n\t\t(do-for-all-facts ((?t tile)) (= 1 (nth$ 3 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 119, "edu_l1_label": "EDU_O"}, {"txt": "implied))\t\t\t(raylib-draw-rectangle (* (nth$ 1 ?t:", "language": "english", "position": {"atoms": [{"position_id": 253, "txt": "implied))\n\t\t\t(raylib-draw-rectangle (* (nth$ 1 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 120, "edu_l1_label": "EDU_O"}, {"txt": "implied)  ?MAP_TILE_SIZE) (* (nth$ 2 ?t:", "language": "english", "position": {"atoms": [{"position_id": 254, "txt": "implied)  ?MAP_TILE_SIZE) (* (nth$ 2 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 121, "edu_l1_label": "EDU_O"}, {"txt": "implied) ?MAP_TILE_SIZE) ?MAP_TILE_SIZE ?MAP_TILE_SIZE (raylib-fade BLUE 0.9))\t\t\t(raylib-draw-rectangle-lines (* (nth$ 1 ?t:", "language": "english", "position": {"atoms": [{"position_id": 255, "txt": "implied) ?MAP_TILE_SIZE) ?MAP_TILE_SIZE ?MAP_TILE_SIZE (raylib-fade BLUE 0.9))\n\t\t\t(raylib-draw-rectangle-lines (* (nth$ 1 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 122, "edu_l1_label": "EDU_O"}, {"txt": "implied)  ?MAP_TILE_SIZE) (* (nth$ 2 ?t:", "language": "english", "position": {"atoms": [{"position_id": 256, "txt": "implied)  ?MAP_TILE_SIZE) (* (nth$ 2 ?t:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 123, "edu_l1_label": "EDU_O"}, {"txt": "implied) ?MAP_TILE_SIZE) ?MAP_TILE_SIZE ?MAP_TILE_SIZE (raylib-fade DARKBLUE 0.5)))\t\t(raylib-draw-rectangle ?player-position-x ?player-position-y ?player-size ?player-size RED)\t\t(raylib-draw-texture-pro ?tid ?twidth ?theight ?tmipmaps ?tformat 0 0 ?twidth (* -1 ?theight)\t\t\t0 0 (* ?MAP_TILE_SIZE ?tiles-x) (* ?MAP_TILE_SIZE ?tiles-y)\t\t\t0 0 0 WHITE)\t\t(raylib-draw-text (format nil \"Current tile:", "language": "english", "position": {"atoms": [{"position_id": 257, "txt": "implied) ?MAP_TILE_SIZE) ?MAP_TILE_SIZE ?MAP_TILE_SIZE (raylib-fade DARKBLUE 0.5)))\n\n\t\t(raylib-draw-rectangle ?player-position-x ?player-position-y ?player-size ?player-size RED)\n\n\t\t(raylib-draw-texture-pro ?tid ?twidth ?theight ?tmipmaps ?tformat 0 0 ?twidth (* -1 ?theight)\n\t\t\t0 0 (* ?MAP_TILE_SIZE ?tiles-x) (* ?MAP_TILE_SIZE ?tiles-y)\n\t\t\t0 0 0 WHITE)\n\n\t\t(raylib-draw-text (format nil \"Current tile:", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 124, "edu_l1_label": "EDU_O"}, {"txt": " [%d, %d]\" ?player-tile-x ?player-tile-y) 10 10 20 RAYWHITE)\t\t(raylib-draw-text \"ARROW KEYS to move\" 10 (- (raylib-get-screen-height) 25) 20 RAYWHITE)\t(raylib-end-drawing)\t(retract ?w ?r ?l ?d ?u)\t(assert\t\t(window-should-close (raylib-window-should-close))\t\t(KEY_RIGHT (raylib-is-key-down KEY_RIGHT))\t\t(KEY_LEFT (raylib-is-key-down KEY_LEFT))\t\t(KEY_DOWN (raylib-is-key-down KEY_DOWN))\t\t(KEY_UP (raylib-is-key-down KEY_UP))))(defrule die\t(window-should-close TRUE)\t=>\t(println \"Done.", "language": "english", "position": {"atoms": [{"position_id": 258, "txt": " [%d, %d]\" ?player-tile-x ?player-tile-y) 10 10 20 RAYWHITE)\n\t\t(raylib-draw-text \"ARROW KEYS to move\" 10 (- (raylib-get-screen-height) 25) 20 RAYWHITE)\n\t(raylib-end-drawing)\n\n\t(retract ?w ?r ?l ?d ?u)\n\t(assert\n\t\t(window-should-close (raylib-window-should-close))\n\t\t(KEY_RIGHT (raylib-is-key-down KEY_RIGHT))\n\t\t(KEY_LEFT (raylib-is-key-down KEY_LEFT))\n\t\t(KEY_DOWN (raylib-is-key-down KEY_DOWN))\n\t\t(KEY_UP (raylib-is-key-down KEY_UP))))\n\n(defrule die\n\t(window-should-close TRUE)\n\t=>\n\t(println \"Done.", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 125, "edu_l1_label": "EDU_O"}, {"txt": " Exiting...\")\t(raylib-close-window)\t(exit))(reset)(loop-for-count (?x 0 25) do\t(loop-for-count (?y 0 15) do\t\t(assert (tile ?x ?y (random 0 1) 0))))(run)", "language": "english", "position": {"atoms": [{"position_id": 259, "txt": " Exiting...\")\n\t(raylib-close-window)\n\t(exit))\n\n(reset)\n(loop-for-count (?x 0 25) do\n\t(loop-for-count (?y 0 15) do\n\t\t(assert (tile ?x ?y (random 0 1) 0))))\n(run)", "x": "/html/body/div[9]"}]}, "tags": [], "label": "code", "web_segment_id": 22, "global_sentence_id": 126, "edu_l1_label": "EDU_O"}, {"txt": "(raylib-init-window 800 450 \"CLIPSraylib [shapes] example - collision area\")(raylib-set-target-fps 60)(deffacts init\t(box-a 10 175 200 100)\t(box-a-speed 4)\t(box-b 370 175 60 60)\t(pause FALSE)\t(unpause FALSE)\t(window-should-close FALSE)\t(screen-upper-limit 40))(defrule begin-render\t(box-a ?ax ?ay ?awidth ?aheight)\t(box-b ?bx ?by ?bwidth ?bheight)\t(screen-upper-limit ?u)\t(not (drawing))\t?w <- (window-should-close FALSE)\t=>\t(retract ?w)\t(assert\t\t(drawing)\t\t(window-should-close (raylib-window-should-close))\t\t(pause (raylib-is-key-pressed KEY_SPACE)))\t(raylib-begin-drawing)\t\t(raylib-draw-text \"Press SPACE to PAUSE/RESUME\" 20 (- (raylib-get-screen-height) 35) 20 LIGHTGRAY)\t\t(raylib-draw-rectangle ?ax ?ay ?awidth ?aheight GOLD)\t\t(raylib-draw-rectangle ?bx ?by ?bwidth ?bheight BLUE))(defrule draw-no-collision\t(drawing)\t(box-a ?ax ?ay ?awidth ?aheight)\t(box-b ?bx ?by ?bwidth ?bheight) (screen-upper-limit ?u)\t(window-should-close FALSE)\t(test (not (raylib-check-collision-recs\t\t?ax ?ay ?awidth ?aheight\t\t?bx ?by ?bwidth ?bheight)))\t=>\t\t(raylib-draw-rectangle 0 0 (raylib-get-screen-width) ?u BLACK)\t\t(raylib-draw-fps 10 10)\t\t(raylib-clear-background RAYWHITE)\t(raylib-end-drawing)\t(assert (done)))(defrule draw-collision\t(drawing)\t(box-a ?ax ?ay ?awidth ?aheight)\t(box-b ?bx ?by ?bwidth ?bheight)\t(screen-upper-limit ?u)\t(window-should-close FALSE)\t(test (raylib-check-collision-recs\t\t?ax ?ay ?awidth ?aheight\t\t?bx ?by ?bwidth ?bheight))\t=>\t\t(raylib-draw-rectangle 0 0 (raylib-get-screen-width) ?u RED)\t\t(raylib-draw-text\t\t\t\"COLLISION!\"\t\t\t(integer (-\t\t\t\t(/ (raylib-get-screen-width) 2)\t\t\t\t(/ (raylib-measure-text \"COLLISION!\" 20) 2)))\t\t\t(integer (- (/ ?u 2) 10))\t\t\t20\t\t\tBLACK)\t(assert (collision-rectangle (raylib-get-collision-rec\t\t?ax ?ay ?awidth ?aheight\t\t?bx ?by ?bwidth ?bheight))))(defrule draw-collision-rectangle\t(drawing)\t(screen-upper-limit ?u)\t(window-should-close FALSE)\t?c <- (collision-rectangle ?x ?y ?width ?height)\t=>\t\t(raylib-draw-text\t\t\t(format nil \"Collision Area:", "language": "english", "position": {"atoms": [{"position_id": 261, "txt": "(raylib-init-window 800 450 \"CLIPSraylib [shapes] example - collision area\")\n(raylib-set-target-fps 60)\n\n(deffacts init\n\t(box-a 10 175 200 100)\n\t(box-a-speed 4)\n\t(box-b 370 175 60 60)\n\t(pause FALSE)\n\t(unpause FALSE)\n\t(window-should-close FALSE)\n\t(screen-upper-limit 40))\n\n(defrule begin-render\n\t(box-a ?ax ?ay ?awidth ?aheight)\n\t(box-b ?bx ?by ?bwidth ?bheight)\n\t(screen-upper-limit ?u)\n\t(not (drawing))\n\t?w <- (window-should-close FALSE)\n\t=>\n\t(retract ?w)\n\t(assert\n\t\t(drawing)\n\t\t(window-should-close (raylib-window-should-close))\n\t\t(pause (raylib-is-key-pressed KEY_SPACE)))\n\t(raylib-begin-drawing)\n\t\t(raylib-draw-text \"Press SPACE to PAUSE/RESUME\" 20 (- (raylib-get-screen-height) 35) 20 LIGHTGRAY)\n\t\t(raylib-draw-rectangle ?ax ?ay ?awidth ?aheight GOLD)\n\t\t(raylib-draw-rectangle ?bx ?by ?bwidth ?bheight BLUE))\n\n(defrule draw-no-collision\n\t(drawing)\n\t(box-a ?ax ?ay ?awidth ?aheight)\n\t(box-b ?bx ?by ?bwidth ?bheight) (screen-upper-limit ?u)\n\t(window-should-close FALSE)\n\t(test (not (raylib-check-collision-recs\n\t\t?ax ?ay ?awidth ?aheight\n\t\t?bx ?by ?bwidth ?bheight)))\n\t=>\n\t\t(raylib-draw-rectangle 0 0 (raylib-get-screen-width) ?u BLACK)\n\t\t(raylib-draw-fps 10 10)\n\t\t(raylib-clear-background RAYWHITE)\n\t(raylib-end-drawing)\n\t(assert (done)))\n\n(defrule draw-collision\n\t(drawing)\n\t(box-a ?ax ?ay ?awidth ?aheight)\n\t(box-b ?bx ?by ?bwidth ?bheight)\n\t(screen-upper-limit ?u)\n\t(window-should-close FALSE)\n\t(test (raylib-check-collision-recs\n\t\t?ax ?ay ?awidth ?aheight\n\t\t?bx ?by ?bwidth ?bheight))\n\t=>\n\t\t(raylib-draw-rectangle 0 0 (raylib-get-screen-width) ?u RED)\n\t\t(raylib-draw-text\n\t\t\t\"COLLISION!\"\n\t\t\t(integer (-\n\t\t\t\t(/ (raylib-get-screen-width) 2)\n\t\t\t\t(/ (raylib-measure-text \"COLLISION!\" 20) 2)))\n\t\t\t(integer (- (/ ?u 2) 10))\n\t\t\t20\n\t\t\tBLACK)\n\t(assert (collision-rectangle (raylib-get-collision-rec\n\t\t?ax ?ay ?awidth ?aheight\n\t\t?bx ?by ?bwidth ?bheight))))\n\n(defrule draw-collision-rectangle\n\t(drawing)\n\t(screen-upper-limit ?u)\n\t(window-should-close FALSE)\n\t?c <- (collision-rectangle ?x ?y ?width ?height)\n\t=>\n\t\t(raylib-draw-text\n\t\t\t(format nil \"Collision Area:", "x": "/html/body/div[10]"}]}, "tags": [], "label": "code", "web_segment_id": 23, "global_sentence_id": 127, "edu_l1_label": "EDU_O"}, {"txt": " %d\" (* ?width ?height))\t\t       \t(integer (- (/ (raylib-get-screen-width) 2) 100))\t\t\t(integer (+ ?u 10))\t\t\t20\t\t\tBLACK)\t\t(raylib-draw-rectangle\t\t\t(integer ?x)\t\t\t(integer ?y)\t\t\t(integer ?width)\t\t\t(integer ?height)\t\t\tLIME)\t\t(raylib-draw-fps 10 10)\t\t(raylib-clear-background RAYWHITE)\t(raylib-end-drawing)\t(assert (done))\t(retract ?c))(defrule bounce-a-off-wall\t(box-a ?ax ?ay ?awidth ?aheight)\t?s <- (box-a-speed ?aspeed)\t(drawing)\t(done)\t(window-should-close FALSE)\t(not (pause TRUE))\t(test (or\t\t(and (> ?aspeed 0) (>= ?ax (- (raylib-get-screen-width) ?awidth)))\t\t(and (< ?aspeed 0) (<= ?ax 0))))\t=>\t(retract ?s)\t(assert (box-a-speed (* -1 ?aspeed))))(defrule recalculate-box-positions\t?a <- (box-a ?ax ?ay ?awidth ?aheight)\t?b <- (box-b ?bx ?by ?bwidth ?bheight)\t(box-a-speed ?aspeed)\t?d <- (drawing)\t?dd <- (done)\t(not (pause TRUE))\t(window-should-close FALSE)\t(test (or\t\t(and (> ?aspeed 0) (< ?ax (- (raylib-get-screen-width) ?awidth)))\t\t(and (< ?aspeed 0) (> ?ax 0))))\t=>\t(retract ?a ?b ?d ?dd)\t(assert\t\t(box-a\t\t\t(+ ?ax ?aspeed)\t\t\t?ay\t\t\t?awidth\t\t\t?aheight)\t\t(box-b\t\t\t(integer (- (raylib-get-mouse-x) (/ ?bwidth 2)))\t\t\t(integer (- (raylib-get-mouse-y) (/ ?bheight 2)))\t\t\t?bwidth ?bheight)))(defrule pause-and-wait\t(pause TRUE)\t?unpause <- (unpause FALSE)\t?w <- (window-should-close FALSE)\t=>\t(retract ?unpause ?w)\t(assert\t\t(window-should-close (raylib-window-should-close))\t\t(unpause (raylib-is-key-pressed KEY_SPACE))))(defrule unpause\t?p <- (pause TRUE)\t?unpause <- (unpause TRUE)\t?w <- (window-should-close FALSE)\t=>\t(retract ?p ?unpause ?w)\t(assert\t\t(window-should-close (raylib-window-should-close))\t\t(unpause FALSE)))(defrule die\t(window-should-close TRUE)\t=>\t(println \"Done.", "language": "english", "position": {"atoms": [{"position_id": 262, "txt": " %d\" (* ?width ?height))\n\t\t       \t(integer (- (/ (raylib-get-screen-width) 2) 100))\n\t\t\t(integer (+ ?u 10))\n\t\t\t20\n\t\t\tBLACK)\n\t\t(raylib-draw-rectangle\n\t\t\t(integer ?x)\n\t\t\t(integer ?y)\n\t\t\t(integer ?width)\n\t\t\t(integer ?height)\n\t\t\tLIME)\n\t\t(raylib-draw-fps 10 10)\n\t\t(raylib-clear-background RAYWHITE)\n\t(raylib-end-drawing)\n\t(assert (done))\n\t(retract ?c))\n\n(defrule bounce-a-off-wall\n\t(box-a ?ax ?ay ?awidth ?aheight)\n\t?s <- (box-a-speed ?aspeed)\n\t(drawing)\n\t(done)\n\t(window-should-close FALSE)\n\t(not (pause TRUE))\n\t(test (or\n\t\t(and (> ?aspeed 0) (>= ?ax (- (raylib-get-screen-width) ?awidth)))\n\t\t(and (< ?aspeed 0) (<= ?ax 0))))\n\t=>\n\t(retract ?s)\n\t(assert (box-a-speed (* -1 ?aspeed))))\n\n(defrule recalculate-box-positions\n\t?a <- (box-a ?ax ?ay ?awidth ?aheight)\n\t?b <- (box-b ?bx ?by ?bwidth ?bheight)\n\t(box-a-speed ?aspeed)\n\t?d <- (drawing)\n\t?dd <- (done)\n\t(not (pause TRUE))\n\t(window-should-close FALSE)\n\t(test (or\n\t\t(and (> ?aspeed 0) (< ?ax (- (raylib-get-screen-width) ?awidth)))\n\t\t(and (< ?aspeed 0) (> ?ax 0))))\n\t=>\n\t(retract ?a ?b ?d ?dd)\n\t(assert\n\t\t(box-a\n\t\t\t(+ ?ax ?aspeed)\n\t\t\t?ay\n\t\t\t?awidth\n\t\t\t?aheight)\n\t\t(box-b\n\t\t\t(integer (- (raylib-get-mouse-x) (/ ?bwidth 2)))\n\t\t\t(integer (- (raylib-get-mouse-y) (/ ?bheight 2)))\n\t\t\t?bwidth ?bheight)))\n\n(defrule pause-and-wait\n\t(pause TRUE)\n\t?unpause <- (unpause FALSE)\n\t?w <- (window-should-close FALSE)\n\t=>\n\t(retract ?unpause ?w)\n\t(assert\n\t\t(window-should-close (raylib-window-should-close))\n\t\t(unpause (raylib-is-key-pressed KEY_SPACE))))\n\n(defrule unpause\n\t?p <- (pause TRUE)\n\t?unpause <- (unpause TRUE)\n\t?w <- (window-should-close FALSE)\n\t=>\n\t(retract ?p ?unpause ?w)\n\t(assert\n\t\t(window-should-close (raylib-window-should-close))\n\t\t(unpause FALSE)))\n\n(defrule die\n\t(window-should-close TRUE)\n\t=>\n\t(println \"Done.", "x": "/html/body/div[10]"}]}, "tags": [], "label": "code", "web_segment_id": 23, "global_sentence_id": 128, "edu_l1_label": "EDU_O"}, {"txt": " Exiting...\")\t(raylib-close-window)\t(exit))(reset)(run)", "language": "english", "position": {"atoms": [{"position_id": 263, "txt": " Exiting...\")\n\t(raylib-close-window)\n\t(exit))\n\n(reset)\n(run)", "x": "/html/body/div[10]"}]}, "tags": [], "label": "code", "web_segment_id": 23, "global_sentence_id": 129, "edu_l1_label": "EDU_O"}, {"txt": "(deffacts init\t(texture (raylib-load-texture \"scarfy.png\"))\t(total-frames 6)\t(current-frame 0)\t(frames-counter 0)\t(frames-speed 8)\t(window-should-close FALSE)\t(increase-frame-speed FALSE)\t(decrease-frame-speed FALSE))(defrule render\t(total-frames ?total)\t(frames-speed ?frames-speed)\t(current-frame ?current-frame&:", "language": "english", "position": {"atoms": [{"position_id": 265, "txt": "(deffacts init\n\t(texture (raylib-load-texture \"scarfy.png\"))\n\t(total-frames 6)\n\t(current-frame 0)\n\t(frames-counter 0)\n\t(frames-speed 8)\n\t(window-should-close FALSE)\n\t(increase-frame-speed FALSE)\n\t(decrease-frame-speed FALSE))\n\n(defrule render\n\t(total-frames ?total)\n\t(frames-speed ?frames-speed)\n\t(current-frame ?current-frame&:", "x": "/html/body/div[11]"}]}, "tags": [], "label": "code", "web_segment_id": 24, "global_sentence_id": 130, "edu_l1_label": "EDU_O"}, {"txt": "(<= ?current-frame ?total))\t(current-x ?x)\t?f <- (frames-counter ?frames-counter&:", "language": "english", "position": {"atoms": [{"position_id": 266, "txt": "(<= ?current-frame ?total))\n\t(current-x ?x)\n\t?f <- (frames-counter ?frames-counter&:", "x": "/html/body/div[11]"}]}, "tags": [], "label": "code", "web_segment_id": 24, "global_sentence_id": 131, "edu_l1_label": "EDU_O"}, {"txt": "(< ?frames-counter (/ 60 ?frames-speed)))\t(texture ?id ?width ?height ?mipmaps ?format)\t?w <- (window-should-close FALSE)\t?i <- (increase-frame-speed FALSE)\t?d <- (decrease-frame-speed FALSE)\t=>\t(retract ?f ?w ?i ?d)\t(bind ?start-x (/ (- (raylib-get-screen-width) ?width) 2))\t(raylib-begin-drawing)\t\t(raylib-draw-texture ?id ?width ?height ?mipmaps ?format ?start-x 40 WHITE)\t\t(raylib-draw-rectangle-lines ?start-x 40 ?width ?height LIME)\t\t(raylib-draw-rectangle-lines (+ ?start-x ?x) 40 (/ ?width ?total) ?height RED)\t\t(raylib-draw-text \"FRAME SPEED: \"", "language": "english", "position": {"atoms": [{"position_id": 267, "txt": "(< ?frames-counter (/ 60 ?frames-speed)))\n\t(texture ?id ?width ?height ?mipmaps ?format)\n\t?w <- (window-should-close FALSE)\n\t?i <- (increase-frame-speed FALSE)\n\t?d <- (decrease-frame-speed FALSE)\n\t=>\n\t(retract ?f ?w ?i ?d)\n\t(bind ?start-x (/ (- (raylib-get-screen-width) ?width) 2))\n\t(raylib-begin-drawing)\n\t\t(raylib-draw-texture ?id ?width ?height ?mipmaps ?format ?start-x 40 WHITE)\n\t\t(raylib-draw-rectangle-lines ?start-x 40 ?width ?height LIME)\n\t\t(raylib-draw-rectangle-lines (+ ?start-x ?x) 40 (/ ?width ?total) ?height RED)\n\n\t\t(raylib-draw-text \"FRAME SPEED: \"", "x": "/html/body/div[11]"}]}, "tags": [], "label": "code", "web_segment_id": 24, "global_sentence_id": 132, "edu_l1_label": "EDU_O"}, {"txt": " 165 210 10 DARKGRAY)\t\t(raylib-draw-text (format nil \"%02d FPS\" ?frames-speed) 575 210 10 DARKGRAY)\t\t(raylib-draw-text \"PRESS RIGHT/LEFT KEYS to CHANGE SPEED!\" 290 240 10 DARKGRAY)\t\t(loop-for-count (?cnt 0 14) do\t\t\t(if (<= (+ ?cnt 1) ?frames-speed) then\t\t\t\t(raylib-draw-rectangle (+ (* ?cnt 21) 250) 205 20 20 RED))\t\t\t(raylib-draw-rectangle-lines (+ (* ?cnt 21) 250) 205 20 20 MAROON)\t\t)\t\t(raylib-draw-texture-rec\t\t\t?id ?width ?height ?mipmaps ?format ; texture\t\t\t?x 0 (/ ?width ?total) ?height ; rectangle\t\t\t(- (/ (raylib-get-screen-width) 2) (/ (/ ?width ?total) 2)) 280 ; position\t\t\tWHITE)\t\t(raylib-draw-text \"(c) Scarfy sprite by Eiden Marsal\" (- (raylib-get-screen-width) 200) (- (raylib-get-screen-height) 20) 10 GRAY)\t\t(assert (frames-counter (+ ?frames-counter 1))\t\t\t(window-should-close (raylib-window-should-close))\t\t\t(decrease-frame-speed (raylib-is-key-pressed KEY_LEFT))\t\t\t(increase-frame-speed (raylib-is-key-pressed KEY_RIGHT)))\t\t(raylib-clear-background RAYWHITE)\t(raylib-end-drawing))(defrule next-frame\t?c <- (current-frame ?current-frame)\t?x <- (current-x ?)\t(frames-speed ?frames-speed)\t?f <- (frames-counter ?frames-counter&:", "language": "english", "position": {"atoms": [{"position_id": 268, "txt": " 165 210 10 DARKGRAY)\n\t\t(raylib-draw-text (format nil \"%02d FPS\" ?frames-speed) 575 210 10 DARKGRAY)\n\t\t(raylib-draw-text \"PRESS RIGHT/LEFT KEYS to CHANGE SPEED!\" 290 240 10 DARKGRAY)\n\t\t(loop-for-count (?cnt 0 14) do\n\t\t\t(if (<= (+ ?cnt 1) ?frames-speed) then\n\t\t\t\t(raylib-draw-rectangle (+ (* ?cnt 21) 250) 205 20 20 RED))\n\t\t\t(raylib-draw-rectangle-lines (+ (* ?cnt 21) 250) 205 20 20 MAROON)\n\t\t)\n\t\t(raylib-draw-texture-rec\n\t\t\t?id ?width ?height ?mipmaps ?format ; texture\n\t\t\t?x 0 (/ ?width ?total) ?height ; rectangle\n\t\t\t(- (/ (raylib-get-screen-width) 2) (/ (/ ?width ?total) 2)) 280 ; position\n\t\t\tWHITE)\n\n\t\t(raylib-draw-text \"(c) Scarfy sprite by Eiden Marsal\" (- (raylib-get-screen-width) 200) (- (raylib-get-screen-height) 20) 10 GRAY)\n\n\t\t(assert (frames-counter (+ ?frames-counter 1))\n\t\t\t(window-should-close (raylib-window-should-close))\n\t\t\t(decrease-frame-speed (raylib-is-key-pressed KEY_LEFT))\n\t\t\t(increase-frame-speed (raylib-is-key-pressed KEY_RIGHT)))\n\t\t(raylib-clear-background RAYWHITE)\n\t(raylib-end-drawing))\n\n(defrule next-frame\n\t?c <- (current-frame ?current-frame)\n\t?x <- (current-x ?)\n\t(frames-speed ?frames-speed)\n\t?f <- (frames-counter ?frames-counter&:", "x": "/html/body/div[11]"}]}, "tags": [], "label": "code", "web_segment_id": 24, "global_sentence_id": 133, "edu_l1_label": "EDU_O"}, {"txt": "(>= ?frames-counter (/ 60 ?frames-speed)))\t=>\t(retract ?c ?f ?x)\t(assert (current-frame (+ 1 ?current-frame))\t\t(frames-counter 0)))(defrule determine-current-x\t(total-frames ?total)\t(current-frame ?current-frame&~?total)\t(texture ?id ?width ?height ?mipmaps ?format)\t=>\t(assert (current-x (* ?current-frame (/ ?width ?total)))))(defrule reset-current-frame\t(total-frames ?total)\t?c <- (current-frame ?total)\t=>\t(retract ?c)\t(assert (current-frame 0)))(defrule increase-frame-speed\t?f <- (increase-frame-speed TRUE)\t?ff <- (frames-speed ?frames-speed&:", "language": "english", "position": {"atoms": [{"position_id": 269, "txt": "(>= ?frames-counter (/ 60 ?frames-speed)))\n\t=>\n\t(retract ?c ?f ?x)\n\t(assert (current-frame (+ 1 ?current-frame))\n\t\t(frames-counter 0)))\n\n(defrule determine-current-x\n\t(total-frames ?total)\n\t(current-frame ?current-frame&~?total)\n\t(texture ?id ?width ?height ?mipmaps ?format)\n\t=>\n\t(assert (current-x (* ?current-frame (/ ?width ?total)))))\n\n(defrule reset-current-frame\n\t(total-frames ?total)\n\t?c <- (current-frame ?total)\n\t=>\n\t(retract ?c)\n\t(assert (current-frame 0)))\n\n(defrule increase-frame-speed\n\t?f <- (increase-frame-speed TRUE)\n\t?ff <- (frames-speed ?frames-speed&:", "x": "/html/body/div[11]"}]}, "tags": [], "label": "code", "web_segment_id": 24, "global_sentence_id": 134, "edu_l1_label": "EDU_O"}, {"txt": "(< ?frames-speed 15))\t=>\t(retract ?f ?ff)\t(assert (frames-speed (+ ?frames-speed 1))\t\t(increase-frame-speed FALSE)))(defrule cannot-increase-frame-speed\t?f <- (increase-frame-speed TRUE)\t(frames-speed 15)\t=>\t(retract ?f)\t(assert (increase-frame-speed FALSE)))(defrule decrease-frame-speed\t?f <- (decrease-frame-speed TRUE)\t?ff <- (frames-speed ?frames-speed&:", "language": "english", "position": {"atoms": [{"position_id": 270, "txt": "(< ?frames-speed 15))\n\t=>\n\t(retract ?f ?ff)\n\t(assert (frames-speed (+ ?frames-speed 1))\n\t\t(increase-frame-speed FALSE)))\n\n(defrule cannot-increase-frame-speed\n\t?f <- (increase-frame-speed TRUE)\n\t(frames-speed 15)\n\t=>\n\t(retract ?f)\n\t(assert (increase-frame-speed FALSE)))\n\n(defrule decrease-frame-speed\n\t?f <- (decrease-frame-speed TRUE)\n\t?ff <- (frames-speed ?frames-speed&:", "x": "/html/body/div[11]"}]}, "tags": [], "label": "code", "web_segment_id": 24, "global_sentence_id": 135, "edu_l1_label": "EDU_O"}, {"txt": "(> ?frames-speed 1))\t=>\t(retract ?f ?ff)\t(assert (frames-speed (- ?frames-speed 1))\t\t(decrease-frame-speed FALSE)))(defrule cannot-decrease-frame-speed\t?f <- (decrease-frame-speed TRUE)\t(frames-speed 1)\t=>\t(retract ?f)\t(assert (decrease-frame-speed FALSE)))(defrule die\t(window-should-close TRUE)\t=>\t(println \"Done.", "language": "english", "position": {"atoms": [{"position_id": 271, "txt": "(> ?frames-speed 1))\n\t=>\n\t(retract ?f ?ff)\n\t(assert (frames-speed (- ?frames-speed 1))\n\t\t(decrease-frame-speed FALSE)))\n\n(defrule cannot-decrease-frame-speed\n\t?f <- (decrease-frame-speed TRUE)\n\t(frames-speed 1)\n\t=>\n\t(retract ?f)\n\t(assert (decrease-frame-speed FALSE)))\n\n(defrule die\n\t(window-should-close TRUE)\n\t=>\n\t(println \"Done.", "x": "/html/body/div[11]"}]}, "tags": [], "label": "code", "web_segment_id": 24, "global_sentence_id": 136, "edu_l1_label": "EDU_O"}, {"txt": " Exiting...\")\t(raylib-close-window)\t(exit))(raylib-init-window 800 450 \"CLIPSraylib [texture] example - sprite anim\")(raylib-set-target-fps 60)(reset)(run)", "language": "english", "position": {"atoms": [{"position_id": 272, "txt": " Exiting...\")\n\t(raylib-close-window)\n\t(exit))\n\n(raylib-init-window 800 450 \"CLIPSraylib [texture] example - sprite anim\")\n(raylib-set-target-fps 60)\n(reset)\n(run)", "x": "/html/body/div[11]"}]}, "tags": [], "label": "code", "web_segment_id": 24, "global_sentence_id": 137, "edu_l1_label": "EDU_O"}, {"txt": "(deftemplate texture\t(slot id)\t(slot width)\t(slot height)\t(slot mipmaps)\t(slot format)\t(slot total-frames)\t(slot frames-counter (default 0))\t(slot current-frame (default 0))\t(slot frames-speed (default 8))\t(slot current-x (default -1))\t(slot x (default -1)))(deffacts init\t(frame 0)\t(total-width-of-textures 0)\t(number-of-textures 0)\t(texture-path \"scarfy.png\" 6)\t(texture-path \"spinny-orange.png\" 11)\t(texture-path \"blobbyboiwalking.png\" 7)\t(texture-path \"purple hero running.png\" 13)\t(window-should-close FALSE)\t(mouse-position -1 -1)\t(decrease-frame-speed FALSE)\t(increase-frame-speed FALSE))(defrule texture-path-to-texture\t?fff <- (total-width-of-textures ?tw)\t?ff <- (number-of-textures ?number)\t?f <- (texture-path ?path ?total-frames)\t=>\t(retract ?fff ?ff ?f)\t(bind ?texture (raylib-load-texture ?path))\t(assert\t\t(number-of-textures (+ 1 ?number))\t\t(total-width-of-textures (+ ?tw (/ (nth$ 2 ?texture) ?total-frames)))\t\t(texture\t\t\t(id (nth$ 1 ?texture))\t\t\t(width (nth$ 2 ?texture))\t\t\t(height (nth$ 3 ?texture))\t\t\t(mipmaps (nth$ 4 ?texture))\t\t\t(format (nth$ 5 ?texture))\t\t\t(total-frames ?total-frames))))(defrule current-texture\t?t <- (texture)\t(not (current-texture ?))\t=>\t(assert (current-texture ?t)))(defrule render\t(total-width-of-textures ?tw)\t(number-of-textures ?number-of-textures)\t(window-should-close FALSE)\t?t <- (texture\t\t(id ?id)\t\t(width ?width)\t\t(height ?height)\t\t(mipmaps ?mipmaps)\t\t(format ?format)\t\t(total-frames ?total-frames)\t\t(frames-speed ?frames-speed)\t\t(current-x ?current-x))\t(current-texture ?t)\t?m <- (mouse-position ?", "language": "english", "position": {"atoms": [{"position_id": 274, "txt": "(deftemplate texture\n\t(slot id)\n\t(slot width)\n\t(slot height)\n\t(slot mipmaps)\n\t(slot format)\n\t(slot total-frames)\n\t(slot frames-counter (default 0))\n\t(slot current-frame (default 0))\n\t(slot frames-speed (default 8))\n\t(slot current-x (default -1))\n\t(slot x (default -1)))\n\n(deffacts init\n\t(frame 0)\n\t(total-width-of-textures 0)\n\t(number-of-textures 0)\n\t(texture-path \"scarfy.png\" 6)\n\t(texture-path \"spinny-orange.png\" 11)\n\t(texture-path \"blobbyboiwalking.png\" 7)\n\t(texture-path \"purple hero running.png\" 13)\n\t(window-should-close FALSE)\n\t(mouse-position -1 -1)\n\t(decrease-frame-speed FALSE)\n\t(increase-frame-speed FALSE))\n\n(defrule texture-path-to-texture\n\t?fff <- (total-width-of-textures ?tw)\n\t?ff <- (number-of-textures ?number)\n\t?f <- (texture-path ?path ?total-frames)\n\t=>\n\t(retract ?fff ?ff ?f)\n\t(bind ?texture (raylib-load-texture ?path))\n\t(assert\n\t\t(number-of-textures (+ 1 ?number))\n\t\t(total-width-of-textures (+ ?tw (/ (nth$ 2 ?texture) ?total-frames)))\n\t\t(texture\n\t\t\t(id (nth$ 1 ?texture))\n\t\t\t(width (nth$ 2 ?texture))\n\t\t\t(height (nth$ 3 ?texture))\n\t\t\t(mipmaps (nth$ 4 ?texture))\n\t\t\t(format (nth$ 5 ?texture))\n\t\t\t(total-frames ?total-frames))))\n\n(defrule current-texture\n\t?t <- (texture)\n\t(not (current-texture ?))\n\t=>\n\t(assert (current-texture ?t)))\n\n(defrule render\n\t(total-width-of-textures ?tw)\n\t(number-of-textures ?number-of-textures)\n\t(window-should-close FALSE)\n\t?t <- (texture\n\t\t(id ?id)\n\t\t(width ?width)\n\t\t(height ?height)\n\t\t(mipmaps ?mipmaps)\n\t\t(format ?format)\n\t\t(total-frames ?total-frames)\n\t\t(frames-speed ?frames-speed)\n\t\t(current-x ?current-x))\n\t(current-texture ?t)\n\t?m <- (mouse-position ?", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 138, "edu_l1_label": "EDU_O"}, {"txt": " ?)\t?f <- (frame ?frame)\t?i <- (increase-frame-speed FALSE)\t?d <- (decrease-frame-speed FALSE)\t(not (texture-path ?", "language": "english", "position": {"atoms": [{"position_id": 275, "txt": " ?)\n\t?f <- (frame ?frame)\n\t?i <- (increase-frame-speed FALSE)\n\t?d <- (decrease-frame-speed FALSE)\n\t(not (texture-path ?", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 139, "edu_l1_label": "EDU_O"}, {"txt": " ?))\t(forall\t\t(texture\t\t\t(current-frame ?current-frame)\t\t\t(total-frames ?tf)\t\t\t(frames-speed ?fs)\t\t\t(frames-counter ?frames-counter)\t\t\t(current-x ?x))\t\t(test (<> ?x -1))\t\t(test (<= ?current-frame ?tf))\t\t(test (< ?frames-counter (/ 60 ?fs))))\t=>\t(retract ?f ?m ?i ?d)\t(bind ?start-x (/ (- (raylib-get-screen-width) ?width) 2))\t(raylib-begin-drawing)\t\t(raylib-draw-texture ?id ?width ?height ?mipmaps ?format ?start-x 40 WHITE)\t\t(raylib-draw-rectangle-lines ?start-x 40 ?width ?height LIME)\t\t(raylib-draw-rectangle-lines (+ ?start-x ?current-x) 40 (/ ?width ?total-frames) ?height RED)\t\t(raylib-draw-text \"FRAME SPEED: \"", "language": "english", "position": {"atoms": [{"position_id": 276, "txt": " ?))\n\t(forall\n\t\t(texture\n\t\t\t(current-frame ?current-frame)\n\t\t\t(total-frames ?tf)\n\t\t\t(frames-speed ?fs)\n\t\t\t(frames-counter ?frames-counter)\n\t\t\t(current-x ?x))\n\t\t(test (<> ?x -1))\n\t\t(test (<= ?current-frame ?tf))\n\t\t(test (< ?frames-counter (/ 60 ?fs))))\n\t=>\n\t(retract ?f ?m ?i ?d)\n\t(bind ?start-x (/ (- (raylib-get-screen-width) ?width) 2))\n\t(raylib-begin-drawing)\n\t\t(raylib-draw-texture ?id ?width ?height ?mipmaps ?format ?start-x 40 WHITE)\n\t\t(raylib-draw-rectangle-lines ?start-x 40 ?width ?height LIME)\n\t\t(raylib-draw-rectangle-lines (+ ?start-x ?current-x) 40 (/ ?width ?total-frames) ?height RED)\n\n\t\t(raylib-draw-text \"FRAME SPEED: \"", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 140, "edu_l1_label": "EDU_O"}, {"txt": " 165 210 10 DARKGRAY)\t\t(raylib-draw-text (format nil \"%02d FPS\" ?frames-speed) 575 210 10 DARKGRAY)\t\t(raylib-draw-text \"PRESS RIGHT/LEFT KEYS to CHANGE SPEED!\" 290 240 10 DARKGRAY)\t\t(raylib-draw-text \"LEFT CLICK MOUSE to CHANGE CURRENT TEXTURE!\" 290 270 10 DARKGRAY)\t\t(loop-for-count (?cnt 0 14) do\t\t\t(if (<= (+ ?cnt 1) ?frames-speed) then\t\t\t\t(raylib-draw-rectangle (integer (+ (* ?cnt 21) 250)) 205 20 20 RED))\t\t\t(raylib-draw-rectangle-lines (integer (+ (* ?cnt 21) 250)) 205 20 20 MAROON)\t\t)\t\t(bind ?start-x (/ (- (raylib-get-screen-width) ?tw) 2))\t\t(do-for-all-facts ((?texture texture)) TRUE\t\t\t(if (eq ?texture ?t)\t\t\t\tthen\t\t\t\t(raylib-draw-rectangle-lines ?start-x 280 (/ ?texture:", "language": "english", "position": {"atoms": [{"position_id": 277, "txt": " 165 210 10 DARKGRAY)\n\t\t(raylib-draw-text (format nil \"%02d FPS\" ?frames-speed) 575 210 10 DARKGRAY)\n\t\t(raylib-draw-text \"PRESS RIGHT/LEFT KEYS to CHANGE SPEED!\" 290 240 10 DARKGRAY)\n\t\t(raylib-draw-text \"LEFT CLICK MOUSE to CHANGE CURRENT TEXTURE!\" 290 270 10 DARKGRAY)\n\t\t(loop-for-count (?cnt 0 14) do\n\t\t\t(if (<= (+ ?cnt 1) ?frames-speed) then\n\t\t\t\t(raylib-draw-rectangle (integer (+ (* ?cnt 21) 250)) 205 20 20 RED))\n\t\t\t(raylib-draw-rectangle-lines (integer (+ (* ?cnt 21) 250)) 205 20 20 MAROON)\n\t\t)\n\t\t(bind ?start-x (/ (- (raylib-get-screen-width) ?tw) 2))\n\t\t(do-for-all-facts ((?texture texture)) TRUE\n\t\t\t(if (eq ?texture ?t)\n\t\t\t\tthen\n\t\t\t\t(raylib-draw-rectangle-lines ?start-x 280 (/ ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 141, "edu_l1_label": "EDU_O"}, {"txt": "width ?texture:", "language": "english", "position": {"atoms": [{"position_id": 278, "txt": "width ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 142, "edu_l1_label": "EDU_O"}, {"txt": "total-frames) ?texture:", "language": "english", "position": {"atoms": [{"position_id": 279, "txt": "total-frames) ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 143, "edu_l1_label": "EDU_O"}, {"txt": "height RED)\t\t\t\telse\t\t\t\t(raylib-draw-rectangle-lines ?start-x 280 (/ ?texture:", "language": "english", "position": {"atoms": [{"position_id": 280, "txt": "height RED)\n\t\t\t\telse\n\t\t\t\t(raylib-draw-rectangle-lines ?start-x 280 (/ ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 144, "edu_l1_label": "EDU_O"}, {"txt": "width ?texture:", "language": "english", "position": {"atoms": [{"position_id": 281, "txt": "width ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 145, "edu_l1_label": "EDU_O"}, {"txt": "total-frames) ?texture:", "language": "english", "position": {"atoms": [{"position_id": 282, "txt": "total-frames) ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 146, "edu_l1_label": "EDU_O"}, {"txt": "height LIGHTGRAY)\t\t\t)\t\t\t(raylib-draw-texture-rec\t\t\t\t?texture:", "language": "english", "position": {"atoms": [{"position_id": 283, "txt": "height LIGHTGRAY)\n\t\t\t)\n\t\t\t(raylib-draw-texture-rec\n\t\t\t\t?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 147, "edu_l1_label": "EDU_O"}, {"txt": "id ?texture:", "language": "english", "position": {"atoms": [{"position_id": 284, "txt": "id ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 148, "edu_l1_label": "EDU_O"}, {"txt": "width ?texture:", "language": "english", "position": {"atoms": [{"position_id": 285, "txt": "width ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 149, "edu_l1_label": "EDU_O"}, {"txt": "height ?texture:", "language": "english", "position": {"atoms": [{"position_id": 286, "txt": "height ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 150, "edu_l1_label": "EDU_O"}, {"txt": "mipmaps ?texture:", "language": "english", "position": {"atoms": [{"position_id": 287, "txt": "mipmaps ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 151, "edu_l1_label": "EDU_O"}, {"txt": "format\t\t\t\t?texture:", "language": "english", "position": {"atoms": [{"position_id": 288, "txt": "format\n\t\t\t\t?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 152, "edu_l1_label": "EDU_O"}, {"txt": "current-x 0 (/ ?texture:", "language": "english", "position": {"atoms": [{"position_id": 289, "txt": "current-x 0 (/ ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 153, "edu_l1_label": "EDU_O"}, {"txt": "width ?texture:", "language": "english", "position": {"atoms": [{"position_id": 290, "txt": "width ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 154, "edu_l1_label": "EDU_O"}, {"txt": "total-frames) ?texture:", "language": "english", "position": {"atoms": [{"position_id": 291, "txt": "total-frames) ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 155, "edu_l1_label": "EDU_O"}, {"txt": "height\t\t\t\t?start-x 280\t\t\t\tWHITE)\t\t\t(modify ?texture\t\t\t\t(x ?start-x)\t\t\t\t(current-x -1)\t\t\t\t(frames-counter (+ ?texture:", "language": "english", "position": {"atoms": [{"position_id": 292, "txt": "height\n\t\t\t\t?start-x 280\n\t\t\t\tWHITE)\n\t\t\t(modify ?texture\n\t\t\t\t(x ?start-x)\n\t\t\t\t(current-x -1)\n\t\t\t\t(frames-counter (+ ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 156, "edu_l1_label": "EDU_O"}, {"txt": "frames-counter 1)))\t\t\t(bind ?start-x (+ ?start-x (/ ?texture:", "language": "english", "position": {"atoms": [{"position_id": 293, "txt": "frames-counter 1)))\n\t\t\t(bind ?start-x (+ ?start-x (/ ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 157, "edu_l1_label": "EDU_O"}, {"txt": "width ?texture:", "language": "english", "position": {"atoms": [{"position_id": 294, "txt": "width ?texture:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 158, "edu_l1_label": "EDU_O"}, {"txt": "total-frames)))\t\t)\t\t(raylib-draw-text \"(c) Scarfy sprite by Eiden Marsal\" (- (raylib-get-screen-width) 200) (- (raylib-get-screen-height) 20) 10 GRAY)\t\t(assert\t\t\t(frame (+ ?frame 1))\t\t\t(window-should-close (raylib-window-should-close))\t\t\t(decrease-frame-speed (raylib-is-key-pressed KEY_LEFT))\t\t\t(increase-frame-speed (raylib-is-key-pressed KEY_RIGHT))\t\t\t(change-current-texture (raylib-is-mouse-button-pressed MOUSE_BUTTON_LEFT))\t\t\t(mouse-position (raylib-get-mouse-position)))\t\t(raylib-clear-background RAYWHITE)\t(raylib-end-drawing))(defrule change-current-texture\t?f <- (texture\t\t(x ?x)\t\t(width ?width)\t\t(height ?height)\t\t(total-frames ?t))\t(mouse-position ?mouse-x ?mouse-y)\t?ct <- (current-texture ?)\t?cct <- (change-current-texture TRUE)\t(test (raylib-check-collision-point-rec ?mouse-x ?mouse-y ?x 280 (/ ?width ?t) ?height))\t=>\t(retract ?ct ?cct)\t(assert\t\t(current-texture ?f)\t\t(change-current-texture FALSE)))(defrule misclick\t(mouse-position ?mouse-x ?mouse-y)\t?cct <- (change-current-texture TRUE)\t(forall\t\t(texture\t\t\t(x ?x)\t\t\t(width ?width)\t\t\t(height ?height)\t\t\t(total-frames ?t))\t\t(test (not (raylib-check-collision-point-rec ?mouse-x ?mouse-y ?x 280 (/ ?width ?t) ?height))))\t=>\t(retract ?cct)\t(assert (change-current-texture FALSE)))(defrule next-frame\t?f <- (texture\t\t(current-frame ?current-frame)\t\t(frames-speed ?frames-speed)\t\t(frames-counter ?frames-counter&:", "language": "english", "position": {"atoms": [{"position_id": 295, "txt": "total-frames)))\n\t\t)\n\n\t\t(raylib-draw-text \"(c) Scarfy sprite by Eiden Marsal\" (- (raylib-get-screen-width) 200) (- (raylib-get-screen-height) 20) 10 GRAY)\n\n\t\t(assert\n\t\t\t(frame (+ ?frame 1))\n\t\t\t(window-should-close (raylib-window-should-close))\n\t\t\t(decrease-frame-speed (raylib-is-key-pressed KEY_LEFT))\n\t\t\t(increase-frame-speed (raylib-is-key-pressed KEY_RIGHT))\n\t\t\t(change-current-texture (raylib-is-mouse-button-pressed MOUSE_BUTTON_LEFT))\n\t\t\t(mouse-position (raylib-get-mouse-position)))\n\t\t(raylib-clear-background RAYWHITE)\n\t(raylib-end-drawing))\n\n(defrule change-current-texture\n\t?f <- (texture\n\t\t(x ?x)\n\t\t(width ?width)\n\t\t(height ?height)\n\t\t(total-frames ?t))\n\t(mouse-position ?mouse-x ?mouse-y)\n\t?ct <- (current-texture ?)\n\t?cct <- (change-current-texture TRUE)\n\t(test (raylib-check-collision-point-rec ?mouse-x ?mouse-y ?x 280 (/ ?width ?t) ?height))\n\t=>\n\t(retract ?ct ?cct)\n\t(assert\n\t\t(current-texture ?f)\n\t\t(change-current-texture FALSE)))\n\n(defrule misclick\n\t(mouse-position ?mouse-x ?mouse-y)\n\t?cct <- (change-current-texture TRUE)\n\t(forall\n\t\t(texture\n\t\t\t(x ?x)\n\t\t\t(width ?width)\n\t\t\t(height ?height)\n\t\t\t(total-frames ?t))\n\t\t(test (not (raylib-check-collision-point-rec ?mouse-x ?mouse-y ?x 280 (/ ?width ?t) ?height))))\n\t=>\n\t(retract ?cct)\n\t(assert (change-current-texture FALSE)))\n\n(defrule next-frame\n\t?f <- (texture\n\t\t(current-frame ?current-frame)\n\t\t(frames-speed ?frames-speed)\n\t\t(frames-counter ?frames-counter&:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 159, "edu_l1_label": "EDU_O"}, {"txt": "(>= ?frames-counter (/ 60 ?frames-speed))))\t=>\t(modify ?f\t\t(frames-counter 0)\t\t(current-frame (+ 1 ?current-frame))))(defrule determine-current-x\t?f <- (texture\t\t(total-frames ?total)\t\t(current-frame ?current-frame&~?total)\t\t(width ?width)\t\t(current-x -1))\t=>\t(modify ?f (current-x (* ?current-frame (/ ?width ?total)))))(defrule reset-current-frame\t?f <- (texture\t\t(total-frames ?total)\t\t(current-frame ?total))\t=>\t(modify ?f\t\t(current-frame 0)))(defrule increase-frame-speed\t?ff <- (increase-frame-speed TRUE)\t?f <- (texture\t\t(frames-speed ?frames-speed&:", "language": "english", "position": {"atoms": [{"position_id": 296, "txt": "(>= ?frames-counter (/ 60 ?frames-speed))))\n\t=>\n\t(modify ?f\n\t\t(frames-counter 0)\n\t\t(current-frame (+ 1 ?current-frame))))\n\n(defrule determine-current-x\n\t?f <- (texture\n\t\t(total-frames ?total)\n\t\t(current-frame ?current-frame&~?total)\n\t\t(width ?width)\n\t\t(current-x -1))\n\t=>\n\t(modify ?f (current-x (* ?current-frame (/ ?width ?total)))))\n\n(defrule reset-current-frame\n\t?f <- (texture\n\t\t(total-frames ?total)\n\t\t(current-frame ?total))\n\t=>\n\t(modify ?f\n\t\t(current-frame 0)))\n\n(defrule increase-frame-speed\n\t?ff <- (increase-frame-speed TRUE)\n\t?f <- (texture\n\t\t(frames-speed ?frames-speed&:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 160, "edu_l1_label": "EDU_O"}, {"txt": "(< ?frames-speed 15)))\t(current-texture ?f)\t=>\t(retract ?ff)\t(modify ?f\t\t(frames-speed (+ ?frames-speed 1)))\t(assert (increase-frame-speed FALSE)))(defrule cannot-increase-frame-speed\t?ff <- (increase-frame-speed TRUE)\t?f <- (texture\t\t(frames-speed 15))\t(current-texture ?f)\t=>\t(retract ?ff)\t(assert (increase-frame-speed FALSE)))(defrule decrease-frame-speed\t?ff <- (decrease-frame-speed TRUE)\t?f <- (texture\t\t(frames-speed ?frames-speed&:", "language": "english", "position": {"atoms": [{"position_id": 297, "txt": "(< ?frames-speed 15)))\n\t(current-texture ?f)\n\t=>\n\t(retract ?ff)\n\t(modify ?f\n\t\t(frames-speed (+ ?frames-speed 1)))\n\t(assert (increase-frame-speed FALSE)))\n\n(defrule cannot-increase-frame-speed\n\t?ff <- (increase-frame-speed TRUE)\n\t?f <- (texture\n\t\t(frames-speed 15))\n\t(current-texture ?f)\n\t=>\n\t(retract ?ff)\n\t(assert (increase-frame-speed FALSE)))\n\n(defrule decrease-frame-speed\n\t?ff <- (decrease-frame-speed TRUE)\n\t?f <- (texture\n\t\t(frames-speed ?frames-speed&:", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 161, "edu_l1_label": "EDU_O"}, {"txt": "(> ?frames-speed 1)))\t(current-texture ?f)\t=>\t(retract ?ff)\t(modify ?f\t\t(frames-speed(- ?frames-speed 1)))\t(assert (decrease-frame-speed FALSE)))(defrule cannot-decrease-frame-speed\t?ff <- (decrease-frame-speed TRUE)\t?f <- (texture\t\t(frames-speed 1))\t(current-texture ?f)\t=>\t(retract ?ff)\t(assert (decrease-frame-speed FALSE)))(defrule die\t(window-should-close TRUE)\t=>\t(println \"Done.", "language": "english", "position": {"atoms": [{"position_id": 298, "txt": "(> ?frames-speed 1)))\n\t(current-texture ?f)\n\t=>\n\t(retract ?ff)\n\t(modify ?f\n\t\t(frames-speed(- ?frames-speed 1)))\n\t(assert (decrease-frame-speed FALSE)))\n\n(defrule cannot-decrease-frame-speed\n\t?ff <- (decrease-frame-speed TRUE)\n\t?f <- (texture\n\t\t(frames-speed 1))\n\t(current-texture ?f)\n\t=>\n\t(retract ?ff)\n\t(assert (decrease-frame-speed FALSE)))\n\n(defrule die\n\t(window-should-close TRUE)\n\t=>\n\t(println \"Done.", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 162, "edu_l1_label": "EDU_O"}, {"txt": " Exiting...\")\t(raylib-close-window)\t(exit))(raylib-init-window 800 450 \"CLIPSraylib [texture] example - sprite anim\")(raylib-set-target-fps 60)(reset)(run)", "language": "english", "position": {"atoms": [{"position_id": 299, "txt": " Exiting...\")\n\t(raylib-close-window)\n\t(exit))\n\n(raylib-init-window 800 450 \"CLIPSraylib [texture] example - sprite anim\")\n(raylib-set-target-fps 60)\n(reset)\n(run)", "x": "/html/body/div[12]"}]}, "tags": [], "label": "code", "web_segment_id": 25, "global_sentence_id": 163, "edu_l1_label": "EDU_O"}], "type": "WEB"}
# Tour of CLIPSraylib
## What is this?
## What is CLIPS?
## What is raylib?
## What is Emscripten?
