Play Election Debate Bingo with The Walrus! | Unpublished
Hello!
Source Feed: Walrus
Author: The Walrus Staff
Publication Date: April 17, 2025 - 14:00

Play Election Debate Bingo with The Walrus!

April 17, 2025
There have been few certainties in the 2025 federal election, except perhaps the slogans and talking points that the party leaders are glued to. Heading into the English debate, we might not be confident of the overall outcome of the evening—or even the final vote tally on April 28—but we are pretty sure that Pierre Poilievre will raise the spectre of wokeness, Mark Carney will likely be in good-for-the-economy banker mode, Jagmeet Singh will look dapper and bring up housing, Trump will haunt the proceedings, and everyone will try to prove their uber-Canadian patriotism. Well, maybe not Yves-François Blanchet. And so we’ve created debate-night Bingo. Will anyone throw out an “elbows up”? Will Alberta separatism crash the conversation? Follow along and see how quickly you can fill a row. #page { overflow: scroll; } .hm-related-posts { padding-top: 80px; } @media only screen and (max-width: 768px) { .hm-related-posts { display: none; } .sidebar-above-footer { margin-top: 60px; } } @media only screen and (max-width: 744px) { .sidebar-above-footer { margin-top: 120px; } } @media only screen and (max-width: 658px) { .sidebar-above-footer { margin-top: 160px; } } @media only screen and (max-width: 637px) { .sidebar-above-footer { margin-top: 160px; } } .entry-content { height: 2200px; } .code-block-2, #bingo_container > br, #bingo_container--mobile > br, #bingo_container > p, #bingo_container--mobile > p, #bingo_overlay > p, #bingo_overlay--mobile > p, #bingo_overlay > br, #bingo_overlay--mobile > br, .code-block-1, .bingo_top > p, .bingo_top--mobile > p, .bingo_top > br, .bingo_top--mobile > br, .bingo_top__header > p, .bingo_top__header--mobile > p, .bingo_top__buttons > br, .bingo_top__buttons--mobile > br, .bingo_top__buttons button > br, .bingo_top__buttons--mobile button > br, .bingo_overlay__close > br, .bingo_overlay__close--mobile > br, .bingos > br, .bingos--mobile > br, .code-block-4 { display: none !important; } #bingo_container, #bingo_container--mobile { display: block; position: relative; width: 100%; max-width: 1000px; height: 950px; background-color: black; } #bingo_container--mobile { border: 0; height: 1300px; } #bingo_overlay, #bingo_overlay--mobile { position: absolute; width: 100%; height: 100%; z-index: 101; justify-content: center; align-items: center; background-color: #ffffff9c; backdrop-filter: blur(2px); display: none; top: 0; height: 735px; } #bingo_overlay--mobile { height: 1130px; } #bingo_overlay--mobile div img { width: 80%; display: block; margin: 0 auto; } .bingo_overlay__close { position: absolute; color: black; top: 0; right: 0; font-size: 32px; font-weight: bold; margin: 12px 21px 0; cursor: pointer; background: none; border: 0; padding: 0; text-decoration: none; } button.bingo_overlay__close:hover { padding: 0; text-decoration: none; background: none; color: black; } .bingo_card { display: grid; width: 100%; position: absolute; border: 3px black solid; box-sizing: border-box; } .bingos { display: grid; grid-template-columns: 20% 20% 20% 20% 20%; grid-template-rows: 5; width: 100%; position: absolute; padding: 16px; box-sizing: border-box; } .bingos--mobile { grid-template-columns: 33% 33% 33%; grid-template-rows: 7; } .bingo { width: 100%; height: 147px; border: 1px black solid; background-color: #f2f0eb !important; cursor: pointer; font-family: "Poppins", sans-serif; font-weight: bold; font-size: 16px; letter-spacing: 0.5px; border: 3px black solid; box-sizing: border-box; color: black; text-transform: uppercase; display: flex; align-items: center; justify-content: center; } .bingo--mobile { grid-template-columns: 33% 34% 33%; width: 100%; font-size: 14px; letter-spacing: 0.7px; padding: 2px; } .bingo--mobile img { max-width: 80%; max-height: 60px; } .bingo label { cursor: pointer; white-space: pre-wrap; } .bingo:active, .bingo:hover { background: #fb5954 !important; background-color: #fb5954 !important; color: white; text-decoration: none !important; } .bingo.checked { background-color: #f05053 !important; color: white; } #bingo-13, #bingo-11-mobile { cursor: initial; background-color: black !important; padding: 21px; } .bingo_top { width: 100%; display: flex; flex-flow: row nowrap; justify-content: space-between; padding: 16px; box-sizing: border-box; } .bingo_top--mobile { padding: 16px; flex-flow: column nowrap; gap: 32px; box-sizing: border-box; } .bingo_top__header { font-family: "PT Serif", serif; font-size: 46px; color: white; letter-spacing: 5.5px; margin-left: 12px; line-height: 160%; font-weight: bold; } .bingo_top__header--mobile { font-size: 24px; letter-spacing: 2.4px; } .bingo_top__header span { font-size: 80px; display: flex; align-items: center; gap: 12px; letter-spacing: 9.5px; } .bingo_top__header--mobile span { font-size: 48px; letter-spacing: 4.8px; } .bingo_top__header img { width: 30px; height: 30px; } .bingo_top__buttons { display: flex; flex-flow: column nowrap; justify-content: flex-end; gap: 20px; padding-bottom: 12px; margin-right: 12px; } .bingo_top__buttons--mobile { margin-left: 12px; } .bingo_top__buttons button, .bingo_top__buttons button:visited { width: 130px; height: 36px; border-radius: 18px; font-family: "Poppins", serif; font-size: 14px; letter-spacing: 0.7px; font-weight: bold; background-color: black; color: white; border: 2px white solid; cursor: pointer; display: flex; align-items: center; justify-content: center; text-decoration: none !important; } .bingo_top__buttons button:hover { background-color: white; color: black; } .bingo input { width: 100%; height: 100%; display: none; } @media print { html, body { height: 100vh; margin: 0 !important; padding: 0 !important; overflow: hidden; visibility: hidden; } #bingo_container { visibility: visible; display: block !important; background-color: white; border-color: white; position: absolute; top: -140px; left: 0; width: 100%; height: 100%; } .bingo_card { border: 0; } .bingo_top__buttons { display: none; } .bingo_top__header { color: black !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; } #bingo_container * { print-color-adjust: exact; -webkit-print-color-adjust: exact; } } #bingo_container { display: block; min-width: 675px; } #bingo_container--mobile { display: none; } DEBATE NIGHT BINGO NEW CARD PRINT ✕ DEBATE NIGHT BINGO NEW CARD ✕ let data = JSON.parse(localStorage.getItem("bingoData")); const possibleAnswers = [ "Carbon tax", "Elbows up", "Housing", "Capital gains", "Security clearance", "Crime", "Quebec", "Cost of living", "Economy", "Trump", "Trade", "Tariffs", "Prices", "Alberta", "Deficit", "Common sense", "Border", "Armed forces", "Arctic", "Sovereign", "Ready for better", "Brookfield", "Woke", "CBC", ]; const bingoArrays = [ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25], [1, 6, 11, 16, 21], [2, 7, 12, 17, 22], [3, 8, 18, 23], [4, 9, 14, 19, 24], [5, 10, 15, 20, 25], [1, 7, 19, 25], [5, 9, 17, 21], ]; const arrayLength = possibleAnswers.length; if (data !== null) { fillCard(data); } else { fillCard(newCard()); } function Bingo(val, checked) { this.val = val; this.checked = checked; } function newCard() { let finalArray = [...possibleAnswers]; for (let n = finalArray.length - 1; n > 0; n--) { var j = Math.floor(Math.random() * (n + 1)); var temp = finalArray[n]; finalArray[n] = finalArray[j]; finalArray[j] = temp; } for (let n = 0; n < finalArray.length; n++) { finalArray[n] = new Bingo(finalArray[n], false); console.log(finalArray); } finalArray.splice(12, 0, new Bingo("CENTER", null)); console.log(finalArray); for (let n = 0; n < 25; n++) { if (n == 12) { continue; } else { const elem = document.getElementById( `bingo-` + (n + 1) ); document.getElementById( `bingo-` + (n + 1) + `-checkbox` ).checked = false; elem.classList.remove("checked"); } } document.getElementById("bingo_overlay").style.display = "none"; checkBingos(); data = finalArray; localStorage.setItem("bingoData", JSON.stringify(finalArray)); return finalArray; } function fillCard(data) { for (let n = 0; n < 25; n++) { if (n == 12) { continue; } else { const elem = document.getElementById( `bingo-` + (n + 1) ); elem.getElementsByTagName("label")[0].innerHTML = data[n].val; document.getElementById( `bingo-` + (n + 1) + `-checkbox` ).checked = data[n].checked; if (data[n].checked) { elem.classList.toggle("checked"); } } } checkBingos(); } function checkBingos() { let checkedArray = []; for (let n = 0; n < 25; n++) { if (n == 12) { continue; } else { if ( document.getElementById( `bingo-` + (n + 1) + `-checkbox` ).checked ) { checkedArray.push(n + 1); } } } let bingo; for (let i = 0; i < bingoArrays.length; i++) { bingo = bingoArrays[i].every((n) => checkedArray.includes(n) ); if (bingo) { document.getElementById("bingo_overlay").style.display = "flex"; } } } function clickBingoHandler(id) { const element = document.getElementById(id); element.classList.toggle("checked"); const checkbox = document.getElementById(id + "-checkbox"); checkbox.checked = !checkbox.checked; const arrayPosition = id[id.length - 2] == "-" ? id.slice(-1) : id.slice(-2); data[arrayPosition - 1].checked = !data[arrayPosition - 1].checked; localStorage.setItem("bingoData", JSON.stringify(data)); checkBingos(); } let dataMobile = JSON.parse( localStorage.getItem("bingoDataMobile") ); const possibleAnswersMobile = [ "Carbon tax", "Elbows up", "Housing", "Capital gains", "Security clearance", "Crime", "Quebec", "Cost of living", "Economy", "Trump", "Trade", "Tariffs", "Prices", "Alberta", "Deficit", "Common sense", "Border", "Armed forces", "Arctic", "Sovereign", "Ready for better", "Brookfield", "Woke", "CBC", ]; const bingoArraysMobile = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 12], [13, 14, 15], [16, 17, 18], [19, 20, 21], [1, 4, 7, 10, 13, 16, 19], [2, 5, 8, 14, 17, 20], [3, 6, 9, 12, 15, 18, 21], ]; const arrayLengthMobile = possibleAnswersMobile.length; if (dataMobile !== null) { console.log("mobile not null"); fillCardMobile(dataMobile); } else { console.log("mobile null"); fillCardMobile(newCardMobile()); } function Bingo(val, checked) { this.val = val; this.checked = checked; } function newCardMobile() { let finalArray = [...possibleAnswersMobile]; for (let n = finalArray.length - 1; n > 0; n--) { var j = Math.floor(Math.random() * (n + 1)); var temp = finalArray[n]; finalArray[n] = finalArray[j]; finalArray[j] = temp; } for (let n = 0; n < finalArray.length; n++) { finalArray[n] = new Bingo(finalArray[n], false); console.log(finalArray); } finalArray.splice(12, 0, new Bingo("CENTER", null)); console.log(finalArray); for (let n = 0; n < 21; n++) { if (n == 10) { continue; } else { const elem = document.getElementById( `bingo-` + (n + 1) + `-mobile` ); console.log( "elem", elem, `bingo-` + (n + 1) + `-mobile` ); document.getElementById( `bingo-` + (n + 1) + `-checkbox-mobile` ).checked = false; elem.classList.remove("checked"); } } document.getElementById("bingo_overlay--mobile").style.display = "none"; checkBingos(); data = finalArray; localStorage.setItem( "bingoDataMobile", JSON.stringify(finalArray) ); return finalArray; } function fillCardMobile(data) { for (let n = 0; n < 21; n++) { if (n == 10) { continue; } else { const elem = document.getElementById( `bingo-` + (n + 1) + `-mobile` ); elem.getElementsByTagName("label")[0].innerHTML = data[n].val; document.getElementById( `bingo-` + (n + 1) + `-checkbox-mobile` ).checked = data[n].checked; if (data[n].checked) { elem.classList.toggle("checked"); } } } checkBingosMobile(); } function checkBingosMobile() { let checkedArray = []; for (let n = 0; n < 21; n++) { if (n == 10) { continue; } else { if ( document.getElementById( `bingo-` + (n + 1) + `-checkbox-mobile` ).checked ) { checkedArray.push(n + 1); } } } let bingo; for (let i = 0; i < bingoArraysMobile.length; i++) { bingo = bingoArraysMobile[i].every((n) => checkedArray.includes(n) ); if (bingo) { document.getElementById( "bingo_overlay--mobile" ).style.display = "flex"; } } } function clickBingoHandlerMobile(id) { const element = document.getElementById(id); element.classList.toggle("checked"); const idMobile = id.slice(0, -7); console.log("idMob", idMobile); const checkbox = document.getElementById( idMobile + "-checkbox-mobile" ); console.log("checkbox", checkbox.id, checkbox.checked); checkbox.checked = !checkbox.checked; const arrayPosition = id[7] == "-" ? id.slice(6, 7) : id.slice(6, 8); data[arrayPosition - 1].checked = !data[arrayPosition - 1].checked; localStorage.setItem("bingoDataMobile", JSON.stringify(data)); checkBingosMobile(); } The post Play Election Debate Bingo with The Walrus! first appeared on The Walrus.


Unpublished Newswire

 
The Liberal Party is promising to leverage artificial intelligence (AI) and merge similar programs and services to make the public service more efficient. Read More
April 19, 2025 - 14:45 | Paula Tran | Ottawa Citizen
WHITBY, ONT.  — On this week’s Ivison video , regular guest Eugene Lang referred to “the trifecta — or what Van Morrison would call The Great Deception.” Lang, an experienced Liberal operative, was talking about the tendency of governments...
April 19, 2025 - 12:57 | John Ivison | National Post
With just over a week left in the campaign, the Liberals and NDP released costed platforms Saturday, as Mark Carney pledged billions in new spending to boost investment.
April 19, 2025 - 12:54 | Globalnews Digital | Global News - Canada