-
+
+
CS Bingo
+
+ {Array.from(alphabet).map((e, index) =>
+
+
highlight(index)} onContextMenu={(e) => {e.preventDefault(); toggleField(index);}}>
+ {e}
+
+
+ )}
+
+
+
+
+ Letter
+
+
+ Goal
+
+ {lines.map(([category, line], index)=>
+
+
+ {alphabet[index]}
+
+
+ {line}
+
+
+ )}
+
);
}
diff --git a/src/cs_regular.ttf b/src/cs_regular.ttf
new file mode 100644
index 0000000..b036253
Binary files /dev/null and b/src/cs_regular.ttf differ
diff --git a/src/prompts.ts b/src/prompts.ts
new file mode 100644
index 0000000..5dde8d3
--- /dev/null
+++ b/src/prompts.ts
@@ -0,0 +1,40 @@
+type Categories = "kills" | "rounds" | "fails" | "epic" | "meta" | "unexpected";
+export const prompts: [Categories, string][] = [
+ ["kills", "Zeus Kill"],
+ ["kills", "Knife Kill"],
+ ["kills", "Team Kill"],
+ ["kills", "HE Kill"],
+ ["kills", "Molotov Kill"],
+ ["rounds", "9 rounds in a row"],
+ ["rounds", "10 rounds in one half"],
+ ["fails", "Ninja Defuse"],
+ ["fails", "Eco win vs Full Buy"],
+ ["fails", "Trigger discipline moment"],
+ ["fails", "Knife try"],
+ ["fails", "Underestimated bomb radius"],
+ ["fails", "T dies after time"],
+ ["fails", "4:3 Moment"],
+ ["fails", "CT forgot defuser"],
+ ["fails", "CS2 is bug free"],
+ ["fails", "Death while throwing util"],
+ ["fails", "#Chicken Moment"],
+ ["epic", "Ace"],
+ ["epic", "IGL > 15 kills"],
+ ["epic", "30 bomb"],
+ ["epic", "AWP Collat"],
+ ["epic", "Clutch 1v3"],
+ ["epic", "Clutch 2v5"],
+ ["epic", "Get down Mr. President!"],
+ ["meta", "Inferno picked"],
+ ["meta", "Double OT"],
+ ["meta", "Rush B Blyat"],
+ ["meta", "5 CTs save"],
+ ["unexpected", "Ladder kill"],
+ ["unexpected", "Kill while flashed"],
+ ["unexpected", "AWP noscope"],
+ ["unexpected", "Tech Timeout"],
+ ["unexpected", "Player hiding in smoke"],
+ ["unexpected", "150 damage with 1 HE"],
+]
+
+export default {};