Advertisement
LegoStax

Chemistry PTable Quiz

Sep 23rd, 2016
131
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
Advertisement