Theming
I made a short video demonstrating how to import custom fonts + images into Adventuron (Classroom).
The font used in the screenshot is "Dead Forest" by Damien Guard, and the image used is by Andy Green.
May 20, 2019 Chris
start_at = cell locations { cell : location "You are in your cell. You see a door, a bed and bland wallpaper adorns the walls." ; } objects { wallpaper : object "a strip of wallpaper" ; pen : object "a pen" ; key : object "a small key" ; } booleans { is_key_in_keyhole : boolean "true" ; is_key_on_paper : boolean "false" ; is_paper_under_door : boolean "false" ; } vocabulary { : noun / aliases = [wallpaper, paper] } on_command { : match "search bed; examine bed" { : if (has_not_created "pen") { : print "You find something" ; : create "pen" ; : press_any_key ; : redescribe; } } : match "examine wallpaper" { : if (has_not_created "wallpaper") { : create "wallpaper" ; : print "A piece of the wallpaper falls away" ; : press_any_key ; : redescribe; } : else { : print "You think you should leave the rest of the wallpaper in place." ; } } : match "examine door" { : print "A solid looking oak door with a keyhole." ; : if (is_paper_under_door) { : print "The wallpaper is peeking out from under the door." ; } } : match "examine keyhole" { : if (is_key_in_keyhole) { : print "There appears to be a key in the keyhole on the other side of the door." ; } : else { : print "The key is no longer in the keyhole.\nYou can't see anything else of interest due to the darkness." ; } } : match "slide wallpaper;insert wallpaper;place wallpaper" { : if (is_carried "wallpaper") { : if (noun2_is "door") { : if (is_paper_under_door) { : print "You can't slide it under the door any more." ; } : else { : print "You slide the wallpaper under the door." ; : set_true "is_paper_under_door" ; : destroy "wallpaper" ; } } : else { : print "Where?" ; } } : else { : print "You don't have it." ; } } : match "poke keyhole; poke key; insert pen; put pen" { : if (is_key_in_keyhole) { : if (is_carried "pen" && (noun2_is "pen" || noun2_is "keyhole" )) { : set_false "is_key_in_keyhole" ; : if (is_paper_under_door) { : print "The key falls onto the paper." ; : set_true "is_key_on_paper" ; } : else { : print "The key falls onto the floor behind the door and bounces away." ; : print "More planning is perhaps required." ; : print "GAME OVER" ; : end_game ; } } : else { : print "Your finger is too big." ; } } : else { : print "The key has already fallen" ; } } : match "pull paper; get paper" { : if (is_paper_under_door) { : pocket "wallpaper" ; : if (is_key_on_paper) { : print "You pull the paper back from underneath the door. You also take the key that is resting upon it." ; : pocket "key" ; } : else { : print "You pick up the wallpaper." ; : pocket "wallpaper" ; } : set_false "is_paper_under_door" ; : set_false "is_key_on_paper" ; : press_any_key ; : redescribe; } } : match "unlock door; open door" { : if (is_carried "key") { : print "Using the small key, you unlock the door, open it, and continue onward to your next adventure." ; : press_any_key ; : end_game ; } : else { : print "The door is locked" ; } } }
December 29, 2018 Chris
December 19, 2018 Chris
November 02, 2018 Chris
start_at = foyer intro_graphic = cod setup / dark_expression = is_dark themes / theme layout = "H LG D O" ; // We customize the layout to remove automatic exit listing integers / message_tidyness : integer "3" min="0" ; booleans / is_dark : boolean_dynamic {(is_at "bar" && is_present "cloak" )} // dark if at bar with cloak present (worn or unworn) rooms { foyer : room "You stand in the foyer. Exits lead north, south, and west." header="Foyer" ; cloakroom : room "You see a hook.\nThe foyer lies to the east." header="Cloakroom" ; bar : room "You see a message scrawled in sawdust." header="Bar" ; } navigation { from, direction, to = [ foyer, south, bar, foyer, west, cloakroom, ] } objects { cloak : wearable "a black velvet cloak" start_at="inventory" initially_worn="true" examine_message="The cloak appears to be light absorbent." ; hook : scenery "a hook" conspicuous="false" start_at="cloakroom" ; sawdust : scenery "sawdust" conspicuous="false" start_at="bar" ; } on_command { : if (is_at "bar") { : match "n _" { : goto "foyer" ; : redescribe ; } : match "examine sawdust; read sawdust; examine message; read message" { : if (message_tidyness == 0) { : print "The message seems to have been disrupted, you read, \"You have lost!\"." ; } : else { : print "The message reads ... you have won the game !" ; } : end_game ; } : if (is_dark) { : print "You disturb something in the dark" ; : decrement "message_tidyness" ; } } : else_if (is_at "foyer") { : match "n _" { : print "You only just arrived, no need to leave now !" ; : done ; } } : else_if (is_at "cloakroom" && is_exists "cloak") { : match "hang cloak" { : print "You hang the cloak on the hook." ; : destroy "cloak" ; : done; } } } assets { graphics { cod : base64_png "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"; } }
November 01, 2018 Chris
July 11, 2018 Chris