2017년 6월 17일 토요일

Index of AI2 Projects


Abe Getzler

Gallery Project Name
Gallery link
Doc link
Description
angry_balls_v3
Billiards collision angle simulation test bed.
autofill_example
An example of how to do automatic word completion in a text box
browse_JSON
This is a general purpose utility to browse the tree structure of a JSON string in a ListView. It is meant to help explore the structure of big JSON texts.
browse_JSON_V2
This is an enhanced JSON browser, with the path added.
button_list
-
This is a sample snippet showing how to load a small list of buttons from a scrollable larger list of colors and texts.
clapper
-
This is a small test of the speech recognizer, turning the screen background on or off based on hearing the user say "Clap On" or "Clap Off". No hand clapping is involved, just speech.
CRLF
-
This little project shows how to use one of the Web component blocks to do hex conversion. This trick works only one byte at a time.
Database_Primer_JSON
This is a first attempt at coding a general purpose data editor, where the field specifications are brought in through a JSON schema, and the data itself is kept in a JSON format.
date_differences
-
This app tries to tackle the tricky issue of counting years, months, and days between two dates. This is controversial.
diagonal_bounce_test
-
This app demonstrates how to bounce a ball off a spinning line, using math. To start the app, drag the screen to position the spinning red line, then poke the screen to attract the bouncing ball to it.
Documenter
This sample shows you how to present a tree of documentation using a single List Picker.
drag_and_swap_JSON
This sample is a detailed explanation of how to avoid sprite cannibalism and how to encode and load game data in JSON files.
drink_recipes
-
Load a file with recipes, and search it by ingredients
DumpTinyDB
-
General blocks example showing how to dump the complete contents of TinyDB.
expandable_view
This sample app turns a label and four buttons into an expandable/collapsible List View.
fusion_delete
This is a code sample showing one way to collect a list of Fusion Table ROWIDs and to submit DELETEs of those rows from that list.
IEEE754
-
This is an example of bit manipulation, in particular the decoding of an IEEE754 floating point number 32 bit string into its decimal fraction equivalent. This was done for some one who couldn't find the printf verb in his MCU compiler.
list_label
Attempt to use a canvas and a html label as a List View, with customizable element display.
max_score
-
How to maintain a high scores list in TinyDB, using sorted insertion.
merge_sort
-
A pure blocks-only merge sort, using the recursive Divide and Conquer technique. Speed is n*log(n).
Modern_Major_General
This is an example of trying to sing a Gilbert and Sullivan patter song using the text to speech component. It's awful.
multi_check
-
How to simulate multi-select in a list of (true/false) pairs, with simple text flags in a ListView
multi_timer
Service multiple events with a List and a single Clock
multiselect
Sample demo app showing how to select multiple items from a list, in two List Pickers
ordered_search_and_lookup
This is how to provide Divide and Conquer search on a very large lookup table.
Ouroboros
This little piece of code shows how you can try to make an AI2 list eat its own tail, and the resultant crash. Can you explain the error, and show you understand lists?
permute
-
Sample result procedure to return a random permutation of a list
phone_scraper
These blocks will scrape the first phone number from a piece of text.
race_time

Small sketch to show how to capture Start time, End Time, and Minutes between them for a race.
Samaritan
-
This is how to make your app display text one word at a time in the center of a canvas, like the evil program Samaritan in the CBS series Person Of Interest
Scrollable_label
-
Example of how to scroll a label using a thin canvas and Ball.
select_where_sample1
Sample app and procedures to demonstrate filtering a table.
shuffle_balls
This is a shuffle effect usable for the shell game. It includes a general purpose shuffle routine.
Sierpinski
-
This app generates a Sierpinski Triangle fractal as you watch, by repeatedly chipping off the top corners of a square to make three smaller squares, then repeating the process for each smaller square.
SieveV2
-
This app shows how to mix real time display and calculation of prime numbers using a sieve of Eratothsenes, and a clock.
spell
-
This little app spells whatever you enter out loud, letter by letter. It is meant to show how to use a clock and a global index counter for a slow loop. A deluxe highlighting feature shows the current letter, using html in a label.
states
-
This sample app shows how to use three buttons to do binary search in an ordered list of US state names. When the final state is selected, it is replaced by its postal abbreviation.
TinyDB_export_import
-
Sample blocks for those wanting to export the contents of TinyDB as text, and import it back. Good for tag values of dimensions 0,1, or 2, ranging from simple values to lists to lists of lists (tables). Add your own files to export to a file.
TwentyQuestions_v2
A telephone script dialog example using the 20 questions algorithm. No learning part, just a text dialog file.
unlocker
-
This is a sample code for restricting your app's initial run to a secret time dependent formula that only you know. If you use this, change the formula.
UTC
-
This snippet shows how to calculate UTC (GMT) from Now() using DateTime Format Z.
Web_Page_Shredder
-
Sample code to extract table data from a web page
Wheres_MIT
Tour the universe from The Big Bang to the Massachusetts Institute of Technology, using a List Picker, a Web Viewer, and a File.
word_guess

Also known as Hangman, without the rope
word_picker
This example shows how to select a word from a paragraph, using only a label and some navigation buttons.
word_picker_v2

This faster version of the word picker runs in constant speed, and highlights its selection in a html label.