LegoStax

Chemistry PTable Quiz

Sep 23rd, 2016
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.53 KB | None | 0 0
  1. -- For quizzing
  2. local list = {
  3.   {
  4.     q = "H",
  5.     a = "Hydrogen",
  6.   },
  7.   {
  8.     q = "He",
  9.     a = "Helium",
  10.   },
  11.   {
  12.     q = "Li",
  13.     a = "Lithium",
  14.   },
  15.   {
  16.     q = "Be",
  17.     a = "Beryllium",
  18.   },
  19.   {
  20.     q = "B",
  21.     a = "Boron",
  22.   },
  23.   {
  24.     q = "C",
  25.     a = "Carbon",
  26.   },
  27.   {
  28.     q = "N",
  29.     a = "Nitrogen",
  30.   },
  31.   {
  32.     q = "O",
  33.     a = "Oxygen",
  34.   },
  35.   {
  36.     q = "F",
  37.     a = "Fluorine",
  38.   },
  39.   {
  40.     q = "Ne",
  41.     a = "Neon",
  42.   },
  43.   {
  44.     q = "Na",
  45.     a = "Sodium",
  46.   },
  47.   {
  48.     q = "Mg",
  49.     a = "Magnesium",
  50.   },
  51.   {
  52.     q = "Al",
  53.     a = "Aluminum",
  54.   },
  55.   {
  56.     q = "Si",
  57.     a = "Silicon",
  58.   },
  59.   {
  60.     q = "P",
  61.     a = "Phosphorous",
  62.   },
  63.   {
  64.     q = "S",
  65.     a = "Sulfur",
  66.   },
  67.   {
  68.     q = "Cl",
  69.     a = "Chlorine",
  70.   },
  71.   {
  72.     q = "Ar",
  73.     a = "Argon",
  74.   },
  75.   {
  76.     q = "K",
  77.     a = "Potassium",
  78.   },
  79.   {
  80.     q = "Ca",
  81.     a = "Calcium",
  82.   },
  83.   {
  84.     q = "Sc",
  85.     a = "Scandium",
  86.   },
  87.   {
  88.     q = "Ti",
  89.     a = "Titanium",
  90.   },
  91.   {
  92.     q = "V",
  93.     a = "Vanadium",
  94.   },
  95.   {
  96.     q = "Cr",
  97.     a = "Chromium",
  98.   },
  99.   {
  100.     q = "Mn",
  101.     a = "Manganese",
  102.   },
  103.   {
  104.     q = "Fe",
  105.     a = "Iron",
  106.   },
  107.   {
  108.     q = "Co",
  109.     a = "Cobalt",
  110.   },
  111.   {
  112.     q = "Ni",
  113.     a = "Nickel",
  114.   },
  115.   {
  116.     q = "Cu",
  117.     a = "Copper",
  118.   },
  119.   {
  120.     q = "Zn",
  121.     a = "Zinc",
  122.   },
  123.   {
  124.     q = "Ga",
  125.     a = "Gallium",
  126.   },
  127.   {
  128.     q = "Ge",
  129.     a = "Germanium",
  130.   },
  131.   {
  132.     q = "As",
  133.     a = "Arsenic",
  134.   },
  135.   {
  136.     q = "Se",
  137.     a = "Selenium",
  138.   },
  139.   {
  140.     q = "Br",
  141.     a = "Bromine",
  142.   },
  143.   {
  144.     q = "Kr",
  145.     a = "Krypton",
  146.   },
  147.   {
  148.     q = "Rb",
  149.     a = "Rubidium",
  150.   },
  151.   {
  152.     q = "Sr",
  153.     a = "Strontium",
  154.   },
  155.   {
  156.     q = "Ag",
  157.     a = "Silver",
  158.   },
  159.   {
  160.     q = "Cd",
  161.     a = "Cadmium",
  162.   },
  163.   {
  164.     q = "In",
  165.     a = "Indium",
  166.   },
  167.   {
  168.     q = "Sn",
  169.     a = "Tin",
  170.   },
  171.   {
  172.     q = "Sb",
  173.     a = "Antimony",
  174.   },
  175.   {
  176.     q = "Te",
  177.     a = "Tellurium",
  178.   },
  179.   {
  180.     q = "I",
  181.     a = "Iodine",
  182.   },
  183.   {
  184.     q = "Xe",
  185.     a = "Xenon",
  186.   },
  187.   {
  188.     q = "Cs",
  189.     a = "Cesium",
  190.   },
  191.   {
  192.     q = "Ba",
  193.     a = "Barium",
  194.   },
  195.   {
  196.     q = "La",
  197.     a = "Lanthanum",
  198.   },
  199.   {
  200.     q = "Pt",
  201.     a = "Platinum",
  202.   },
  203.   {
  204.     q = "Au",
  205.     a = "Gold",
  206.   },
  207.   {
  208.     q = "Hg",
  209.     a = "Mercury",
  210.   },
  211.   {
  212.     q = "Pb",
  213.     a = "Lead",
  214.   },
  215.   {
  216.     q = "Bi",
  217.     a = "Bismuth",
  218.   },
  219.   {
  220.     q = "Rn",
  221.     a = "Radon",
  222.   },
  223.   {
  224.     q = "Fr",
  225.     a = "Francium",
  226.   },
  227.   {
  228.     q = "Ra",
  229.     a = "Radium",
  230.   },
  231.   {
  232.     q = "Ac",
  233.     a = "Actinium",
  234.   },
  235.   {
  236.     q = "U",
  237.     a = "Uranium",
  238.   },
  239.   {
  240.     q = "Pu",
  241.     a = "Plutonium",
  242.   },
  243. }
  244. print("Generating random order...")
  245.  
  246. local function shuffle(t)
  247.     local n = #t
  248.     while n > 1 do
  249.         local k = math.random(n)
  250.         t[n], t[k] = t[k], t[n]
  251.         n = n-1
  252.     end
  253.     return t
  254. end
  255.  
  256. local rlist = shuffle(list)
  257. local totalq = #rlist
  258. local running = true
  259. for i = 1,#rlist do
  260.     function draw()
  261.         term.clear()
  262.         term.setCursorPos(1,1)
  263.         print("Type 'quit' to quit or 'hint' for a hint")
  264.         print("Question #"..i.."/"..totalq)
  265.         print(rlist[i].q..": ")
  266.         local input = read()
  267.         if input == "quit" then
  268.             running = false
  269.         elseif input == "hint" then
  270.             print("Hint: "..rlist[i].a)
  271.             print("Press any key to continue...")
  272.             os.pullEvent("key")
  273.         elseif string.lower(input) ~= string.lower(rlist[i].a) then
  274.             draw()
  275.         end
  276.     end
  277.     draw()
  278.     if not running then break end
  279. end
  280. term.clear()
  281. term.setCursorPos(1,1)
Advertisement
Add Comment
Please, Sign In to add comment