diff --git a/Games/Geography_Guesser/countries.json b/Games/Geography_Guesser/countries.json new file mode 100644 index 000000000..dd309f3d5 --- /dev/null +++ b/Games/Geography_Guesser/countries.json @@ -0,0 +1,194 @@ +[ +{"name":"Afghanistan","capital":"Kabul","flag":"https://flagcdn.com/w320/af.png","outline":"assets/outlines/af.svg"}, +{"name":"Albania","capital":"Tirana","flag":"https://flagcdn.com/w320/al.png","outline":"assets/outlines/al.svg"}, +{"name":"Algeria","capital":"Algiers","flag":"https://flagcdn.com/w320/dz.png","outline":"assets/outlines/dz.svg"}, +{"name":"Andorra","capital":"Andorra la Vella","flag":"https://flagcdn.com/w320/ad.png","outline":"assets/outlines/ad.svg"}, +{"name":"Angola","capital":"Luanda","flag":"https://flagcdn.com/w320/ao.png","outline":"assets/outlines/ao.svg"}, +{"name":"Antigua and Barbuda","capital":"Saint John's","flag":"https://flagcdn.com/w320/ag.png","outline":"assets/outlines/ag.svg"}, +{"name":"Argentina","capital":"Buenos Aires","flag":"https://flagcdn.com/w320/ar.png","outline":"assets/outlines/ar.svg"}, +{"name":"Armenia","capital":"Yerevan","flag":"https://flagcdn.com/w320/am.png","outline":"assets/outlines/am.svg"}, +{"name":"Australia","capital":"Canberra","flag":"https://flagcdn.com/w320/au.png","outline":"assets/outlines/au.svg"}, +{"name":"Austria","capital":"Vienna","flag":"https://flagcdn.com/w320/at.png","outline":"assets/outlines/at.svg"}, +{"name":"Azerbaijan","capital":"Baku","flag":"https://flagcdn.com/w320/az.png","outline":"assets/outlines/az.svg"}, +{"name":"Bahamas","capital":"Nassau","flag":"https://flagcdn.com/w320/bs.png","outline":"assets/outlines/bs.svg"}, +{"name":"Bahrain","capital":"Manama","flag":"https://flagcdn.com/w320/bh.png","outline":"assets/outlines/bh.svg"}, +{"name":"Bangladesh","capital":"Dhaka","flag":"https://flagcdn.com/w320/bd.png","outline":"assets/outlines/bd.svg"}, +{"name":"Barbados","capital":"Bridgetown","flag":"https://flagcdn.com/w320/bb.png","outline":"assets/outlines/bb.svg"}, +{"name":"Belarus","capital":"Minsk","flag":"https://flagcdn.com/w320/by.png","outline":"assets/outlines/by.svg"}, +{"name":"Belgium","capital":"Brussels","flag":"https://flagcdn.com/w320/be.png","outline":"assets/outlines/be.svg"}, +{"name":"Belize","capital":"Belmopan","flag":"https://flagcdn.com/w320/bz.png","outline":"assets/outlines/bz.svg"}, +{"name":"Benin","capital":"Porto-Novo","flag":"https://flagcdn.com/w320/bj.png","outline":"assets/outlines/bj.svg"}, +{"name":"Bhutan","capital":"Thimphu","flag":"https://flagcdn.com/w320/bt.png","outline":"assets/outlines/bt.svg"}, +{"name":"Bolivia","capital":"Sucre","flag":"https://flagcdn.com/w320/bo.png","outline":"assets/outlines/bo.svg"}, +{"name":"Bosnia and Herzegovina","capital":"Sarajevo","flag":"https://flagcdn.com/w320/ba.png","outline":"assets/outlines/ba.svg"}, +{"name":"Botswana","capital":"Gaborone","flag":"https://flagcdn.com/w320/bw.png","outline":"assets/outlines/bw.svg"}, +{"name":"Brazil","capital":"Brasília","flag":"https://flagcdn.com/w320/br.png","outline":"assets/outlines/br.svg"}, +{"name":"Brunei","capital":"Bandar Seri Begawan","flag":"https://flagcdn.com/w320/bn.png","outline":"assets/outlines/bn.svg"}, +{"name":"Bulgaria","capital":"Sofia","flag":"https://flagcdn.com/w320/bg.png","outline":"assets/outlines/bg.svg"}, +{"name":"Burkina Faso","capital":"Ouagadougou","flag":"https://flagcdn.com/w320/bf.png","outline":"assets/outlines/bf.svg"}, +{"name":"Burundi","capital":"Gitega","flag":"https://flagcdn.com/w320/bi.png","outline":"assets/outlines/bi.svg"}, +{"name":"Cabo Verde","capital":"Praia","flag":"https://flagcdn.com/w320/cv.png","outline":"assets/outlines/cv.svg"}, +{"name":"Cambodia","capital":"Phnom Penh","flag":"https://flagcdn.com/w320/kh.png","outline":"assets/outlines/kh.svg"}, +{"name":"Cameroon","capital":"Yaoundé","flag":"https://flagcdn.com/w320/cm.png","outline":"assets/outlines/cm.svg"}, +{"name":"Canada","capital":"Ottawa","flag":"https://flagcdn.com/w320/ca.png","outline":"assets/outlines/ca.svg"}, +{"name":"Central African Republic","capital":"Bangui","flag":"https://flagcdn.com/w320/cf.png","outline":"assets/outlines/cf.svg"}, +{"name":"Chad","capital":"N'Djamena","flag":"https://flagcdn.com/w320/td.png","outline":"assets/outlines/td.svg"}, +{"name":"Chile","capital":"Santiago","flag":"https://flagcdn.com/w320/cl.png","outline":"assets/outlines/cl.svg"}, +{"name":"China","capital":"Beijing","flag":"https://flagcdn.com/w320/cn.png","outline":"assets/outlines/cn.svg"}, +{"name":"Colombia","capital":"Bogotá","flag":"https://flagcdn.com/w320/co.png","outline":"assets/outlines/co.svg"}, +{"name":"Comoros","capital":"Moroni","flag":"https://flagcdn.com/w320/km.png","outline":"assets/outlines/km.svg"}, +{"name":"Congo (Congo-Brazzaville)","capital":"Brazzaville","flag":"https://flagcdn.com/w320/cg.png","outline":"assets/outlines/cg.svg"}, +{"name":"Costa Rica","capital":"San José","flag":"https://flagcdn.com/w320/cr.png","outline":"assets/outlines/cr.svg"}, +{"name":"Croatia","capital":"Zagreb","flag":"https://flagcdn.com/w320/hr.png","outline":"assets/outlines/hr.svg"}, +{"name":"Cuba","capital":"Havana","flag":"https://flagcdn.com/w320/cu.png","outline":"assets/outlines/cu.svg"}, +{"name":"Cyprus","capital":"Nicosia","flag":"https://flagcdn.com/w320/cy.png","outline":"assets/outlines/cy.svg"}, +{"name":"Czechia","capital":"Prague","flag":"https://flagcdn.com/w320/cz.png","outline":"assets/outlines/cz.svg"}, +{"name":"Denmark","capital":"Copenhagen","flag":"https://flagcdn.com/w320/dk.png","outline":"assets/outlines/dk.svg"}, +{"name":"Djibouti","capital":"Djibouti","flag":"https://flagcdn.com/w320/dj.png","outline":"assets/outlines/dj.svg"}, +{"name":"Dominica","capital":"Roseau","flag":"https://flagcdn.com/w320/dm.png","outline":"assets/outlines/dm.svg"}, +{"name":"Dominican Republic","capital":"Santo Domingo","flag":"https://flagcdn.com/w320/do.png","outline":"assets/outlines/do.svg"}, +{"name":"Ecuador","capital":"Quito","flag":"https://flagcdn.com/w320/ec.png","outline":"assets/outlines/ec.svg"}, +{"name":"Egypt","capital":"Cairo","flag":"https://flagcdn.com/w320/eg.png","outline":"assets/outlines/eg.svg"}, +{"name":"El Salvador","capital":"San Salvador","flag":"https://flagcdn.com/w320/sv.png","outline":"assets/outlines/sv.svg"}, +{"name":"Equatorial Guinea","capital":"Malabo","flag":"https://flagcdn.com/w320/gq.png","outline":"assets/outlines/gq.svg"}, +{"name":"Eritrea","capital":"Asmara","flag":"https://flagcdn.com/w320/er.png","outline":"assets/outlines/er.svg"}, +{"name":"Estonia","capital":"Tallinn","flag":"https://flagcdn.com/w320/ee.png","outline":"assets/outlines/ee.svg"}, +{"name":"Eswatini","capital":"Mbabane","flag":"https://flagcdn.com/w320/sz.png","outline":"assets/outlines/sz.svg"}, +{"name":"Ethiopia","capital":"Addis Ababa","flag":"https://flagcdn.com/w320/et.png","outline":"assets/outlines/et.svg"}, +{"name":"Fiji","capital":"Suva","flag":"https://flagcdn.com/w320/fj.png","outline":"assets/outlines/fj.svg"}, +{"name":"Finland","capital":"Helsinki","flag":"https://flagcdn.com/w320/fi.png","outline":"assets/outlines/fi.svg"}, +{"name":"France","capital":"Paris","flag":"https://flagcdn.com/w320/fr.png","outline":"assets/outlines/fr.svg"}, +{"name":"Gabon","capital":"Libreville","flag":"https://flagcdn.com/w320/ga.png","outline":"assets/outlines/ga.svg"}, +{"name":"Gambia","capital":"Banjul","flag":"https://flagcdn.com/w320/gm.png","outline":"assets/outlines/gm.svg"}, +{"name":"Georgia","capital":"Tbilisi","flag":"https://flagcdn.com/w320/ge.png","outline":"assets/outlines/ge.svg"}, +{"name":"Germany","capital":"Berlin","flag":"https://flagcdn.com/w320/de.png","outline":"assets/outlines/de.svg"}, +{"name":"Ghana","capital":"Accra","flag":"https://flagcdn.com/w320/gh.png","outline":"assets/outlines/gh.svg"}, +{"name":"Greece","capital":"Athens","flag":"https://flagcdn.com/w320/gr.png","outline":"assets/outlines/gr.svg"}, +{"name":"Grenada","capital":"Saint George's","flag":"https://flagcdn.com/w320/gd.png","outline":"assets/outlines/gd.svg"}, +{"name":"Guatemala","capital":"Guatemala City","flag":"https://flagcdn.com/w320/gt.png","outline":"assets/outlines/gt.svg"}, +{"name":"Guinea","capital":"Conakry","flag":"https://flagcdn.com/w320/gn.png","outline":"assets/outlines/gn.svg"}, +{"name":"Guinea-Bissau","capital":"Bissau","flag":"https://flagcdn.com/w320/gw.png","outline":"assets/outlines/gw.svg"}, +{"name":"Guyana","capital":"Georgetown","flag":"https://flagcdn.com/w320/gy.png","outline":"assets/outlines/gy.svg"}, +{"name":"Haiti","capital":"Port-au-Prince","flag":"https://flagcdn.com/w320/ht.png","outline":"assets/outlines/ht.svg"}, +{"name":"Honduras","capital":"Tegucigalpa","flag":"https://flagcdn.com/w320/hn.png","outline":"assets/outlines/hn.svg"}, +{"name":"Hungary","capital":"Budapest","flag":"https://flagcdn.com/w320/hu.png","outline":"assets/outlines/hu.svg"}, +{"name":"Iceland","capital":"Reykjavik","flag":"https://flagcdn.com/w320/is.png","outline":"assets/outlines/is.svg"}, +{"name":"India","capital":"New Delhi","flag":"https://flagcdn.com/w320/in.png","outline":"assets/outlines/in.svg"}, +{"name":"Indonesia","capital":"Jakarta","flag":"https://flagcdn.com/w320/id.png","outline":"assets/outlines/id.svg"}, +{"name":"Iran","capital":"Tehran","flag":"https://flagcdn.com/w320/ir.png","outline":"assets/outlines/ir.svg"}, +{"name":"Iraq","capital":"Baghdad","flag":"https://flagcdn.com/w320/iq.png","outline":"assets/outlines/iq.svg"}, +{"name":"Ireland","capital":"Dublin","flag":"https://flagcdn.com/w320/ie.png","outline":"assets/outlines/ie.svg"}, +{"name":"Israel","capital":"Jerusalem","flag":"https://flagcdn.com/w320/il.png","outline":"assets/outlines/il.svg"}, +{"name":"Italy","capital":"Rome","flag":"https://flagcdn.com/w320/it.png","outline":"assets/outlines/it.svg"}, +{"name":"Jamaica","capital":"Kingston","flag":"https://flagcdn.com/w320/jm.png","outline":"assets/outlines/jm.svg"}, +{"name":"Japan","capital":"Tokyo","flag":"https://flagcdn.com/w320/jp.png","outline":"assets/outlines/jp.svg"}, +{"name":"Jordan","capital":"Amman","flag":"https://flagcdn.com/w320/jo.png","outline":"assets/outlines/jo.svg"}, +{"name":"Kazakhstan","capital":"Nur-Sultan","flag":"https://flagcdn.com/w320/kz.png","outline":"assets/outlines/kz.svg"}, +{"name":"Kenya","capital":"Nairobi","flag":"https://flagcdn.com/w320/ke.png","outline":"assets/outlines/ke.svg"}, +{"name":"Kiribati","capital":"Tarawa","flag":"https://flagcdn.com/w320/ki.png","outline":"assets/outlines/ki.svg"}, +{"name":"Kuwait","capital":"Kuwait City","flag":"https://flagcdn.com/w320/kw.png","outline":"assets/outlines/kw.svg"}, +{"name":"Kyrgyzstan","capital":"Bishkek","flag":"https://flagcdn.com/w320/kg.png","outline":"assets/outlines/kg.svg"}, +{"name":"Laos","capital":"Vientiane","flag":"https://flagcdn.com/w320/la.png","outline":"assets/outlines/la.svg"}, +{"name":"Latvia","capital":"Riga","flag":"https://flagcdn.com/w320/lv.png","outline":"assets/outlines/lv.svg"}, +{"name":"Lebanon","capital":"Beirut","flag":"https://flagcdn.com/w320/lb.png","outline":"assets/outlines/lb.svg"}, +{"name":"Lesotho","capital":"Maseru","flag":"https://flagcdn.com/w320/ls.png","outline":"assets/outlines/ls.svg"}, +{"name":"Liberia","capital":"Monrovia","flag":"https://flagcdn.com/w320/lr.png","outline":"assets/outlines/lr.svg"}, +{"name":"Libya","capital":"Tripoli","flag":"https://flagcdn.com/w320/ly.png","outline":"assets/outlines/ly.svg"}, +{"name":"Liechtenstein","capital":"Vaduz","flag":"https://flagcdn.com/w320/li.png","outline":"assets/outlines/li.svg"}, +{"name":"Lithuania","capital":"Vilnius","flag":"https://flagcdn.com/w320/lt.png","outline":"assets/outlines/lt.svg"}, +{"name":"Luxembourg","capital":"Luxembourg","flag":"https://flagcdn.com/w320/lu.png","outline":"assets/outlines/lu.svg"}, +{"name":"Madagascar","capital":"Antananarivo","flag":"https://flagcdn.com/w320/mg.png","outline":"assets/outlines/mg.svg"}, +{"name":"Malawi","capital":"Lilongwe","flag":"https://flagcdn.com/w320/mw.png","outline":"assets/outlines/mw.svg"}, +{"name":"Malaysia","capital":"Kuala Lumpur","flag":"https://flagcdn.com/w320/my.png","outline":"assets/outlines/my.svg"}, +{"name":"Maldives","capital":"Malé","flag":"https://flagcdn.com/w320/mv.png","outline":"assets/outlines/mv.svg"}, +{"name":"Mali","capital":"Bamako","flag":"https://flagcdn.com/w320/ml.png","outline":"assets/outlines/ml.svg"}, +{"name":"Malta","capital":"Valletta","flag":"https://flagcdn.com/w320/mt.png","outline":"assets/outlines/mt.svg"}, +{"name":"Marshall Islands","capital":"Majuro","flag":"https://flagcdn.com/w320/mh.png","outline":"assets/outlines/mh.svg"}, +{"name":"Mauritania","capital":"Nouakchott","flag":"https://flagcdn.com/w320/mr.png","outline":"assets/outlines/mr.svg"}, +{"name":"Mauritius","capital":"Port Louis","flag":"https://flagcdn.com/w320/mu.png","outline":"assets/outlines/mu.svg"}, +{"name":"Mexico","capital":"Mexico City","flag":"https://flagcdn.com/w320/mx.png","outline":"assets/outlines/mx.svg"}, +{"name":"Micronesia","capital":"Palikir","flag":"https://flagcdn.com/w320/fm.png","outline":"assets/outlines/fm.svg"}, +{"name":"Moldova","capital":"Chișinău","flag":"https://flagcdn.com/w320/md.png","outline":"assets/outlines/md.svg"}, +{"name":"Monaco","capital":"Monaco","flag":"https://flagcdn.com/w320/mc.png","outline":"assets/outlines/mc.svg"}, +{"name":"Mongolia","capital":"Ulaanbaatar","flag":"https://flagcdn.com/w320/mn.png","outline":"assets/outlines/mn.svg"}, +{"name":"Montenegro","capital":"Podgorica","flag":"https://flagcdn.com/w320/me.png","outline":"assets/outlines/me.svg"}, +{"name":"Morocco","capital":"Rabat","flag":"https://flagcdn.com/w320/ma.png","outline":"assets/outlines/ma.svg"}, +{"name":"Mozambique","capital":"Maputo","flag":"https://flagcdn.com/w320/mz.png","outline":"assets/outlines/mz.svg"}, +{"name":"Myanmar","capital":"Naypyidaw","flag":"https://flagcdn.com/w320/mm.png","outline":"assets/outlines/mm.svg"}, +{"name":"Namibia","capital":"Windhoek","flag":"https://flagcdn.com/w320/na.png","outline":"assets/outlines/na.svg"}, +{"name":"Nauru","capital":"Yaren","flag":"https://flagcdn.com/w320/nr.png","outline":"assets/outlines/nr.svg"}, +{"name":"Nepal","capital":"Kathmandu","flag":"https://flagcdn.com/w320/np.png","outline":"assets/outlines/np.svg"}, +{"name":"Netherlands","capital":"Amsterdam","flag":"https://flagcdn.com/w320/nl.png","outline":"assets/outlines/nl.svg"}, +{"name":"New Zealand","capital":"Wellington","flag":"https://flagcdn.com/w320/nz.png","outline":"assets/outlines/nz.svg"}, +{"name":"Nicaragua","capital":"Managua","flag":"https://flagcdn.com/w320/ni.png","outline":"assets/outlines/ni.svg"}, +{"name":"Niger","capital":"Niamey","flag":"https://flagcdn.com/w320/ne.png","outline":"assets/outlines/ne.svg"}, +{"name":"Nigeria","capital":"Abuja","flag":"https://flagcdn.com/w320/ng.png","outline":"assets/outlines/ng.svg"}, +{"name":"North Macedonia","capital":"Skopje","flag":"https://flagcdn.com/w320/mk.png","outline":"assets/outlines/mk.svg"}, +{"name":"Norway","capital":"Oslo","flag":"https://flagcdn.com/w320/no.png","outline":"assets/outlines/no.svg"}, +{"name":"Oman","capital":"Muscat","flag":"https://flagcdn.com/w320/om.png","outline":"assets/outlines/om.svg"}, +{"name":"Pakistan","capital":"Islamabad","flag":"https://flagcdn.com/w320/pk.png","outline":"assets/outlines/pk.svg"}, +{"name":"Palau","capital":"Ngerulmud","flag":"https://flagcdn.com/w320/pw.png","outline":"assets/outlines/pw.svg"}, +{"name":"Palestine","capital":"Ramallah","flag":"https://flagcdn.com/w320/ps.png","outline":"assets/outlines/ps.svg"}, +{"name":"Panama","capital":"Panama City","flag":"https://flagcdn.com/w320/pa.png","outline":"assets/outlines/pa.svg"}, +{"name":"Papua New Guinea","capital":"Port Moresby","flag":"https://flagcdn.com/w320/pg.png","outline":"assets/outlines/pg.svg"}, +{"name":"Paraguay","capital":"Asunción","flag":"https://flagcdn.com/w320/py.png","outline":"assets/outlines/py.svg"}, +{"name":"Peru","capital":"Lima","flag":"https://flagcdn.com/w320/pe.png","outline":"assets/outlines/pe.svg"}, +{"name":"Philippines","capital":"Manila","flag":"https://flagcdn.com/w320/ph.png","outline":"assets/outlines/ph.svg"}, +{"name":"Poland","capital":"Warsaw","flag":"https://flagcdn.com/w320/pl.png","outline":"assets/outlines/pl.svg"}, +{"name":"Portugal","capital":"Lisbon","flag":"https://flagcdn.com/w320/pt.png","outline":"assets/outlines/pt.svg"}, +{"name":"Qatar","capital":"Doha","flag":"https://flagcdn.com/w320/qa.png","outline":"assets/outlines/qa.svg"}, +{"name":"Romania","capital":"Bucharest","flag":"https://flagcdn.com/w320/ro.png","outline":"assets/outlines/ro.svg"}, +{"name":"Russia","capital":"Moscow","flag":"https://flagcdn.com/w320/ru.png","outline":"assets/outlines/ru.svg"}, +{"name":"Rwanda","capital":"Kigali","flag":"https://flagcdn.com/w320/rw.png","outline":"assets/outlines/rw.svg"}, +{"name":"Saint Kitts and Nevis","capital":"Basseterre","flag":"https://flagcdn.com/w320/kn.png","outline":"assets/outlines/kn.svg"}, +{"name":"Saint Lucia","capital":"Castries","flag":"https://flagcdn.com/w320/lc.png","outline":"assets/outlines/lc.svg"}, +{"name":"Saint Vincent and the Grenadines","capital":"Kingstown","flag":"https://flagcdn.com/w320/vc.png","outline":"assets/outlines/vc.svg"}, +{"name":"Samoa","capital":"Apia","flag":"https://flagcdn.com/w320/ws.png","outline":"assets/outlines/ws.svg"}, +{"name":"San Marino","capital":"San Marino","flag":"https://flagcdn.com/w320/sm.png","outline":"assets/outlines/sm.svg"}, +{"name":"Sao Tome and Principe","capital":"São Tomé","flag":"https://flagcdn.com/w320/st.png","outline":"assets/outlines/st.svg"}, +{"name":"Saudi Arabia","capital":"Riyadh","flag":"https://flagcdn.com/w320/sa.png","outline":"assets/outlines/sa.svg"}, +{"name":"Senegal","capital":"Dakar","flag":"https://flagcdn.com/w320/sn.png","outline":"assets/outlines/sn.svg"}, +{"name":"Serbia","capital":"Belgrade","flag":"https://flagcdn.com/w320/rs.png","outline":"assets/outlines/rs.svg"}, +{"name":"Seychelles","capital":"Victoria","flag":"https://flagcdn.com/w320/sc.png","outline":"assets/outlines/sc.svg"}, +{"name":"Sierra Leone","capital":"Freetown","flag":"https://flagcdn.com/w320/sl.png","outline":"assets/outlines/sl.svg"}, +{"name":"Singapore","capital":"Singapore","flag":"https://flagcdn.com/w320/sg.png","outline":"assets/outlines/sg.svg"}, +{"name":"Slovakia","capital":"Bratislava","flag":"https://flagcdn.com/w320/sk.png","outline":"assets/outlines/sk.svg"}, +{"name":"Slovenia","capital":"Ljubljana","flag":"https://flagcdn.com/w320/si.png","outline":"assets/outlines/si.svg"}, +{"name":"Solomon Islands","capital":"Honiara","flag":"https://flagcdn.com/w320/sb.png","outline":"assets/outlines/sb.svg"}, +{"name":"Somalia","capital":"Mogadishu","flag":"https://flagcdn.com/w320/so.png","outline":"assets/outlines/so.svg"}, +{"name":"South Africa","capital":"Pretoria","flag":"https://flagcdn.com/w320/za.png","outline":"assets/outlines/za.svg"}, +{"name":"South Sudan","capital":"Juba","flag":"https://flagcdn.com/w320/ss.png","outline":"assets/outlines/ss.svg"}, +{"name":"Spain","capital":"Madrid","flag":"https://flagcdn.com/w320/es.png","outline":"assets/outlines/es.svg"}, +{"name":"Sri Lanka","capital":"Sri Jayawardenepura Kotte","flag":"https://flagcdn.com/w320/lk.png","outline":"assets/outlines/lk.svg"}, +{"name":"Sudan","capital":"Khartoum","flag":"https://flagcdn.com/w320/sd.png","outline":"assets/outlines/sd.svg"}, +{"name":"Suriname","capital":"Paramaribo","flag":"https://flagcdn.com/w320/sr.png","outline":"assets/outlines/sr.svg"}, +{"name":"Sweden","capital":"Stockholm","flag":"https://flagcdn.com/w320/se.png","outline":"assets/outlines/se.svg"}, +{"name":"Switzerland","capital":"Bern","flag":"https://flagcdn.com/w320/ch.png","outline":"assets/outlines/ch.svg"}, +{"name":"Syria","capital":"Damascus","flag":"https://flagcdn.com/w320/sy.png","outline":"assets/outlines/sy.svg"}, +{"name":"Taiwan","capital":"Taipei","flag":"https://flagcdn.com/w320/tw.png","outline":"assets/outlines/tw.svg"}, +{"name":"Tajikistan","capital":"Dushanbe","flag":"https://flagcdn.com/w320/tj.png","outline":"assets/outlines/tj.svg"}, +{"name":"Tanzania","capital":"Dodoma","flag":"https://flagcdn.com/w320/tz.png","outline":"assets/outlines/tz.svg"}, +{"name":"Thailand","capital":"Bangkok","flag":"https://flagcdn.com/w320/th.png","outline":"assets/outlines/th.svg"}, +{"name":"Timor-Leste","capital":"Dili","flag":"https://flagcdn.com/w320/tl.png","outline":"assets/outlines/tl.svg"}, +{"name":"Togo","capital":"Lomé","flag":"https://flagcdn.com/w320/tg.png","outline":"assets/outlines/tg.svg"}, +{"name":"Tonga","capital":"Nukuʻalofa","flag":"https://flagcdn.com/w320/to.png","outline":"assets/outlines/to.svg"}, +{"name":"Trinidad and Tobago","capital":"Port of Spain","flag":"https://flagcdn.com/w320/tt.png","outline":"assets/outlines/tt.svg"}, +{"name":"Tunisia","capital":"Tunis","flag":"https://flagcdn.com/w320/tn.png","outline":"assets/outlines/tn.svg"}, +{"name":"Turkey","capital":"Ankara","flag":"https://flagcdn.com/w320/tr.png","outline":"assets/outlines/tr.svg"}, +{"name":"Turkmenistan","capital":"Ashgabat","flag":"https://flagcdn.com/w320/tm.png","outline":"assets/outlines/tm.svg"}, +{"name":"Tuvalu","capital":"Funafuti","flag":"https://flagcdn.com/w320/tv.png","outline":"assets/outlines/tv.svg"}, +{"name":"Uganda","capital":"Kampala","flag":"https://flagcdn.com/w320/ug.png","outline":"assets/outlines/ug.svg"}, +{"name":"Ukraine","capital":"Kyiv","flag":"https://flagcdn.com/w320/ua.png","outline":"assets/outlines/ua.svg"}, +{"name":"United Arab Emirates","capital":"Abu Dhabi","flag":"https://flagcdn.com/w320/ae.png","outline":"assets/outlines/ae.svg"}, +{"name":"United Kingdom","capital":"London","flag":"https://flagcdn.com/w320/gb.png","outline":"assets/outlines/gb.svg"}, +{"name":"United States","capital":"Washington, D.C.","flag":"https://flagcdn.com/w320/us.png","outline":"assets/outlines/us.svg"}, +{"name":"Uruguay","capital":"Montevideo","flag":"https://flagcdn.com/w320/uy.png","outline":"assets/outlines/uy.svg"}, +{"name":"Uzbekistan","capital":"Tashkent","flag":"https://flagcdn.com/w320/uz.png","outline":"assets/outlines/uz.svg"}, +{"name":"Vanuatu","capital":"Port Vila","flag":"https://flagcdn.com/w320/vu.png","outline":"assets/outlines/vu.svg"}, +{"name":"Vatican City","capital":"Vatican City","flag":"https://flagcdn.com/w320/va.png","outline":"assets/outlines/va.svg"}, +{"name":"Venezuela","capital":"Caracas","flag":"https://flagcdn.com/w320/ve.png","outline":"assets/outlines/ve.svg"}, +{"name":"Vietnam","capital":"Hanoi","flag":"https://flagcdn.com/w320/vn.png","outline":"assets/outlines/vn.svg"}, +{"name":"Yemen","capital":"Sana'a","flag":"https://flagcdn.com/w320/ye.png","outline":"assets/outlines/ye.svg"}, +{"name":"Zambia","capital":"Lusaka","flag":"https://flagcdn.com/w320/zm.png","outline":"assets/outlines/zm.svg"}, +{"name":"Zimbabwe","capital":"Harare","flag":"https://flagcdn.com/w320/zw.png","outline":"assets/outlines/zw.svg"} +] diff --git a/Games/Geography_Guesser/index.html b/Games/Geography_Guesser/index.html new file mode 100644 index 000000000..bf46167e2 --- /dev/null +++ b/Games/Geography_Guesser/index.html @@ -0,0 +1,56 @@ + + + + + +Geography Guesser + + + + + + + +

Geography Guesser

+ + + + + + + + diff --git a/Games/Geography_Guesser/script.js b/Games/Geography_Guesser/script.js new file mode 100644 index 000000000..b53f2cc84 --- /dev/null +++ b/Games/Geography_Guesser/script.js @@ -0,0 +1,154 @@ +let countries = []; // will fetch from JSON +let mode = null; +let difficulty = 'easy'; +let score = 0; +let lives = 3; +let currentTarget = null; +let options = []; + +const modeButtons = document.querySelectorAll('.mode'); +const startBtn = document.getElementById('startBtn'); +const difficultySelect = document.getElementById('difficulty'); +const timerSelect = document.getElementById('timerMode'); +const gameDiv = document.getElementById('game'); +const menuDiv = document.getElementById('menu'); +const modeLabel = document.getElementById('modeLabel'); +const clueImg = document.getElementById('clueImg'); +const optionsDiv = document.getElementById('options'); +const scoreSpan = document.getElementById('score'); +const livesSpan = document.getElementById('lives'); +const nextBtn = document.getElementById('nextBtn'); +const quitBtn = document.getElementById('quitBtn'); + +// Difficulty groups +let easyCountries = []; +let mediumCountries = []; +let hardCountries = []; + +fetch('countries.json') + .then(res => res.json()) + .then(data => { + countries = data; + + // Example grouping (you can customize as needed) + easyCountries = countries.slice(0, 50); // more familiar countries + mediumCountries = countries.slice(50, 150); + hardCountries = countries.slice(150); + }); + +// Mode selection +modeButtons.forEach(btn => { + btn.addEventListener('click', () => { + modeButtons.forEach(b => b.classList.remove('active')); + btn.classList.add('active'); + mode = btn.dataset.mode; + startBtn.disabled = false; + }); +}); + +// Difficulty selection +difficultySelect.addEventListener('change', e => difficulty = e.target.value); + +// Start game +startBtn.addEventListener('click', () => { + menuDiv.style.display = 'none'; + gameDiv.style.display = 'block'; + score = 0; + lives = 3; + scoreSpan.textContent = score; + livesSpan.textContent = lives; + modeLabel.textContent = mode === 'flag' ? 'Guess the Country' : 'Which country has this capital?'; + nextQuestion(); +}); + +// Quit button +quitBtn.addEventListener('click', () => location.reload()); + +// Next button +nextBtn.addEventListener('click', () => { + nextBtn.classList.add('hidden'); + nextQuestion(); +}); + +// Generate next question +function nextQuestion() { + optionsDiv.innerHTML = ''; + clueImg.style.display = 'none'; + + // Choose difficulty pool + let pool = easyCountries; + if (difficulty === 'medium') pool = mediumCountries; + else if (difficulty === 'hard') pool = hardCountries; + + // Pick target country + currentTarget = pool[Math.floor(Math.random() * pool.length)]; + + // Show flag if mode is flag + if (mode === 'flag') { + clueImg.src = currentTarget.flag; + clueImg.style.display = 'block'; + } + + // Generate options + options = [currentTarget]; + while (options.length < 4) { + let rand = pool[Math.floor(Math.random() * pool.length)]; + if (!options.includes(rand)) options.push(rand); + } + + shuffle(options); + + // Render options + options.forEach(opt => { + const btn = document.createElement('button'); + btn.classList.add('optionBtn'); + + // Flag mode shows country names; Capital mode also shows country names + btn.textContent = opt.name; + + btn.addEventListener('click', () => checkAnswer(opt)); + optionsDiv.appendChild(btn); + }); + + // Show capital in capital mode as the question + if (mode === 'capital') { + modeLabel.textContent = `Which country has the capital: ${currentTarget.capital}?`; + } else { + modeLabel.textContent = `Guess the country`; + } +} + +// Check answer +function checkAnswer(selected) { + const correct = currentTarget.name; + const buttons = document.querySelectorAll('.optionBtn'); + + buttons.forEach(btn => { + btn.disabled = true; + if (btn.textContent === correct) btn.classList.add('correct'); + else if (btn.textContent === selected.name) btn.classList.add('wrong'); + }); + + if (selected.name === correct) { + score++; + scoreSpan.textContent = score; + } else { + lives--; + livesSpan.textContent = lives; + if (lives === 0) { + alert(`Game Over! Your score: ${score}`); + location.reload(); + return; + } + } + + nextBtn.classList.remove('hidden'); +} + +// Simple shuffle function +function shuffle(array) { + for (let i = array.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [array[i], array[j]] = [array[j], array[i]]; + } +} diff --git a/Games/Geography_Guesser/style.css b/Games/Geography_Guesser/style.css new file mode 100644 index 000000000..5c72e9d13 --- /dev/null +++ b/Games/Geography_Guesser/style.css @@ -0,0 +1,71 @@ +/* Body & Fonts */ +body { + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + background: linear-gradient(135deg, #74ebd5 0%, #acb6e5 100%); + margin: 0; + padding: 0; + text-align: center; + color: #333; +} + +/* Title */ +h1 { + margin: 20px 0; + font-size: 2.2rem; + color: #fff; + text-shadow: 1px 1px 3px rgba(0,0,0,0.3); +} + +/* Containers */ +#menu, #game { + background: rgba(255, 255, 255, 0.9); + border-radius: 15px; + padding: 20px; + width: 90%; + max-width: 500px; + margin: 20px auto; + box-shadow: 0 4px 15px rgba(0,0,0,0.2); +} + +/* Buttons */ +button { + padding: 10px 20px; + margin: 5px; + font-size: 1rem; + border-radius: 8px; + border: none; + cursor: pointer; + transition: 0.2s; +} + +button:hover { transform: scale(1.05); } + +/* Mode buttons */ +.mode { background: #4CAF50; color: #fff; } +.mode.active { box-shadow: 0 0 10px #4CAF50; } + +/* Option buttons */ +.optionBtn { + display: block; + width: 200px; + margin: 10px auto; + background: #2196F3; + color: white; + font-size: 1rem; + border-radius: 8px; + padding: 10px 0; +} + +.optionBtn.correct { background: #4CAF50; } +.optionBtn.wrong { background: #f44336; } + +/* Clue elements */ +#clueImg { max-width: 200px; margin: 15px auto; display: block; border-radius: 8px; } +#clueText { font-size: 1.5rem; margin: 15px 0; } + +/* Status & Timer */ +#status { font-size: 1.2rem; margin-top: 10px; } +#timer { font-weight: bold; margin: 10px 0; } + +/* Next & Quit buttons */ +#nextBtn, #quitBtn { background: #FF9800; color: white; margin-top: 15px; } diff --git a/Games/Geography_Guesser/thumbnail.png b/Games/Geography_Guesser/thumbnail.png new file mode 100644 index 000000000..24a23d8e7 Binary files /dev/null and b/Games/Geography_Guesser/thumbnail.png differ diff --git a/assets/images/Geography_Guesser.png b/assets/images/Geography_Guesser.png new file mode 100644 index 000000000..24a23d8e7 Binary files /dev/null and b/assets/images/Geography_Guesser.png differ diff --git a/assets/js/gamesData.json b/assets/js/gamesData.json index 07dfe9fdd..559348e6e 100644 --- a/assets/js/gamesData.json +++ b/assets/js/gamesData.json @@ -3254,5 +3254,10 @@ "gameTitle" : "Drummer Kit", "gameUrl": "Drummer_Kit", "thumbnailUrl": "Drummer_Kit.png" + }, + "649":{ + "gameTitle" : "Geography Guesser", + "gameUrl": "Geography_Guesser", + "thumbnailUrl": "Geography_Guesser.png" } }