Compare commits

10 Commits

Author SHA1 Message Date
id101010
4b6995a59d update readme 2023-03-29 16:47:52 +02:00
id101010
c646e5c38d update 2023-03-29 16:35:17 +02:00
id101010
dff85309e8 weihnachtsahlass 2022 2022-12-15 18:18:46 +01:00
a23b9ab6b9 add favicon 2021-05-22 16:09:04 +02:00
35968e62c1 more stuff 2021-05-22 15:51:33 +02:00
Aaron
7c5f33504c more stuff 2021-05-22 01:41:52 +02:00
Aaron
6111fd9584 ascii++ 2021-05-21 17:07:20 +02:00
Aaron
f6f1791f67 fix double entry 2021-05-21 17:06:17 +02:00
Aaron
50bb75bdab data++ 2021-05-21 17:04:06 +02:00
Aaron
c8d1972bd7 data++ 2021-05-21 16:54:13 +02:00
13 changed files with 107 additions and 88 deletions

26
README
View File

@@ -1,25 +1,13 @@
This is the PMT version of J. Hobbs' HTML5-bingo. # bs-bingo
Geared towards the swiss PMT initiative.
Original Readme: ## What is it?
HTML5-bingo It's a bullshit bingo.
by J. Hobbs June 2012
---
WHAT IT IS: ## How to deploy?
* A bingo board Use the `docker-compose` file. I don't care if you don't like it. Fuck off.
* Randomizes content on each load
* Reads square data from the data.js file
* Uses data attributes to check for win condition
* Uses CSS transitions for all animation
* Uses Media Queries for optimized mobile experience
* Uses "Hide Address Bar" (via @scottjehl) to hide mobile URL bar
* Uses HTML5 audio for UI feedback
* Uses jquery.tappable.js to improve UI performance on mobile
HOW TO USE: ## Why?
All data is kept in the "data.js" file. Customize the .json in the data.js file to change the language on the board.
Because.

View File

@@ -13,9 +13,9 @@
body { body {
background-color: #000000; background-color: #000000;
background-image: url('../img/police.background.png'); background-image: url('../img/police.background.png');
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
font-family: "BodoniSvtyTwoOSITCTT-Bold", "Georgia", serif; font-family: "BodoniSvtyTwoOSITCTT-Bold", "Georgia", serif;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
} }
@@ -29,21 +29,21 @@ body {
} }
#header, #footer { #header, #footer {
text-align: center;
display: block; display: block;
float: left; float: left;
width: 600px; width: 600px;
color: #FFFFFF; color: #FFFFFF;
opacity: 1; opacity: 1;
background-color: none; background-color: none;
font-size: 2.0em; font-size: 2.0em;
font-weight: bold; font-weight: bold;
padding: 8px 20px 8px 20px; padding: 8px 20px 8px 20px;
text-shadow: 0px 2px 0px #000000; text-shadow: 0px 2px 0px #000000;
transition-property: background-color; transition-property: background-color;
} }
#footer { #footer {
text-align: center;
font-size: 1em; font-size: 1em;
padding: 3px 20px; padding: 3px 20px;
margin-bottom: 80px; margin-bottom: 80px;
@@ -90,7 +90,7 @@ body {
.text { .text {
font-family: "HelveticaNeue-CondensedBold", "Helvetica Neue", Arial, sans-serif; font-family: "HelveticaNeue-CondensedBold", "Helvetica Neue", Arial, sans-serif;
vertical-align: middle; vertical-align: middle;
font-size: 1.0em; font-size: 0.8em;
line-height: 1.2em; line-height: 1.2em;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
img/apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

BIN
img/favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 595 B

BIN
img/favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
img/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 80 KiB

1
img/site.webmanifest Normal file
View File

@@ -0,0 +1 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}

View File

@@ -1,37 +1,24 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>Puzzle Bullshit Bingo</title>
<title>PMT-Bingo</title>
<meta name="viewport" width=device-width"> <meta name="viewport" width=device-width">
<link href="css/style.css" rel="stylesheet" type="text/css"> <link href="css/style.css" rel="stylesheet" type="text/css">
<link rel="apple-touch-icon" sizes="180x180" href="img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="img/favicon-16x16.png">
<link rel="manifest" href="img/site.webmanifest">
<script src="js/jquery.js" type="text/javascript"></script> <script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery.tappable.js" type="text/javascript"></script> <script src="js/jquery.tappable.js" type="text/javascript"></script>
<script src="js/data.js" type="text/javascript"></script> <script src="js/data.js" type="text/javascript"></script>
<script src="js/script.js" type="text/javascript"></script> <script src="js/script.js" type="text/javascript"></script>
</head> </head>
<body> <body>
<div id="container"> <div id="container">
<div id="header"></div> <div id="header"></div>
<div id="board"></div> <div id="board"></div>
<div id="footer"></div> <div id="footer"></div>
</div> </div>
</body> </body>
</html> </html>

View File

@@ -1,53 +1,96 @@
var headerText = "Polizeiterror-Bingo"; var headerText = "Puzzle Bingo";
var footerText = "<a href='https://github.com/id101010/HTML5-bingo/' target='_blank'>This versions is code available on github</a><br/><a href='https://github.com/jeffehobbs/HTML5-bingo/' target='_blank'>Original code</a>"; var footerText = "<a href='https://github.com/id101010/HTML5-bingo/' target='_blank'>This versions is code available on github</a><br/><a href='https://www.youtube.com/watch?v=HIcSWuKMwOw' target='_blank'>Original code</a>";
var winText = "Gratulation, du wirst verhaftet."; var winText = "Gratulation, du erh&auml;lst (k)einen Bonus!";
var clickSnd = new Audio("audio/click.mp3"); var clickSnd = new Audio("audio/click.mp3");
var winSnd = new Audio("audio/win.mp3"); var winSnd = new Audio("audio/win.mp3");
var JSONBingo = {"squares": [ var JSONBingo = {"squares": [
{"square": "Attent&auml;ter polizeibekannt"}, {"square":"Verrechnbare Pensen"},
{"square": "Attent&auml;ter bereits &uuml;berwacht"}, {"square":"Unterstuetzende Pensen"},
{"square": "Attent&auml;ter auf Terrorliste"}, {"square":"Kapitalisten Arschloecher!"},
{"square": "Pass am Tatort gefunden"}, {"square":"Schwierige Situation"},
{"square": "Geheimdienst- Connection"}, {"square":"Verrechenbarkeit"},
{"square": "Sch&auml;rfere Gesetze!"}, {"square":"aktuelle Situation"},
{"square": "Vorratsdaten- speicherung"}, {"square":"kein Bonus"},
{"square": "Syrien!"}, {"square":"Lohnband"},
{"square": "Immigration!"}, {"square":"Stufenwechsel"},
{"square": "Killerspiele"}, {"square":"Teurungsausgleich"},
{"square": "Fu&szlig;schuss"}, {"square":"Ruby"},
{"square": "Total glaubw&uuml;rdige Herleitung"}, {"square":"Members Coach"},
{"square": "Keine Herleitung der Fahndungserfolge"}, {"square":"Division Owner"},
{"square": "PR-Gelegenheit genutzt"}, {"square":"Wertschaetzung"},
{"square": "Tatwaffe aus staatlichen Best&auml;nden"}, {"square":"Gesamtzufriedenheit"},
{"square": "In letzter Sekunde verhindert"}, {"square":"Fringe Benefits"},
{"square": "Datenschutz ist Terroristenschutz"}, {"square":"Java"},
{"square": "Privacy ist Schuld!"}, {"square":"Generelle Lohnerhoehung"},
{"square": "Details w&uuml;rden die Bev&ouml;lkerung verunsichern"}, {"square":"Finanzen"},
{"square": "Aus Mangel an Beweisen freigelassen"}, {"square":"Lohnmodell"},
{"square": "Verschl&uuml;sselung verhindert Strafverfolgung"}, {"square":"Stundenansaetze erhoehen"},
{"square": "Terroristen haben verschl&uuml;sselt"}, {"square":"Massnahmenpaket"},
{"square": "War doch nicht verschl&uuml;sselt"}, {"square":"Swisscom"},
{"square": "Snowden ist Schuld!"}, {"square":"MOBI"},
{"square": "Mehr Befugnisse f&uuml;r die Dienste"}, {"square":"BLS"},
{"square": "Mehr Befugnisse f&uuml;r die Polizei"}, {"square":"SBB"},
{"square": "Pflegte Kontakte zu bekannten Terroristen"}, {"square":"Unverrechenbare Pensen"},
{"square": "Enthauptung"}, {"square":"Kundenauftraege"},
{"square": "Salafisten"}, {"square":"Leistungsprozente"},
{"square": "Grenzen zu!"}, {"square":"Apfelvideo"},
{"square": "\"Wir brauchen mehr &Uuml;berwachung!\""}, {"square":"Apfelbaum"},
{"square": "Sch&uuml;tzenverein"}, {"square":"Apfel"},
{"square": "SVP"}, {"square":"Sales-Aktivitaet"},
{"square": "Geheimdienst- Quellen"}, {"square":"Ueberzeit abbauen"},
{"square": "Terrorwarnung aus nur einer Quelle"}, {"square":"bewusst verbuchen"},
{"square": "Blo&szlig; ein verwirrter Einzelt&auml;ter"}, {"square":"interne Projekte"},
{"square": "Koran"}, {"square":"spannende Technologien"},
{"square": "Fahne gefunden"}, {"square":"Weihnachtsessen"},
{"square": "\"Chemische Substanzen\""}, {"square":"Mainachtsessen"},
{"square": "(mehr) Datenbanken (zusammen- f&uuml;hren)"}, {"square":"Minimum"},
{"square":"schweren Herzens"},
{"square":"Auftraege aquirieren"},
{"square":"keine einfache Zeit"},
{"square":"Kuendigungen"},
{"square":"Entschuldigen"},
{"square":"Austritte"},
{"square":"Eintritte"},
{"square":"Geburten"},
{"square":"Gratifikationen"},
{"square":"Pensionskasse"},
{"square":"besondere Leistungen"},
{"square":"Ueberflieger*innen"},
{"square":"Subscriptions"},
{"square":"Infrastruktur"},
{"square":"Belpstrasse 37"},
{"square":"Personalmarketing"},
{"square":"Hitobito"},
{"square":"Racoon"},
{"square":"Harpoon"},
{"square":"Lagoon"},
{"square":"Acrevis"},
{"square":"Swissflirt"},
{"square":"Kundenprojekte"},
{"square":"Finanzen"},
{"square":"Membersumfrage"},
{"square":"Absolute Verrechenbarkeit"},
{"square":"Divisionsrentabilitaet"},
{"square":"Hyperscaler"},
{"square":"Lockerung"},
{"square":"Massnahmen"},
{"square":"Entscheid"},
{"square":"Pizza"},
{"square":"Apero"},
{"square":"Infoanlass"},
{"square":"Bingo"},
{"square":"Contribution"},
{"square":"Operations"},
{"square":"New Tech"},
{"square":"Agile Teams"},
{"square":"OKR"},
{"square":"Bonus"},
{"square":"Tim"},
{"square":"Lars"},
] ]
}; };

View File

@@ -12,7 +12,7 @@ $(document).ready(function() {
for (i=0; i<24; i++) { for (i=0; i<24; i++) {
if (i==12) { if (i==12) {
$('#board').append("<div data-value='1' class='selected freesquare' id='sqfree'><div class='text'><br/>Karin Keller-Sutter Joker</div></div>"); $('#board').append("<div data-value='1' class='selected freesquare' id='sqfree'><div class='text'><br/>Turnaround Joker</div></div>");
$('#board').append("<div data-value='0' class='square' id='sq12'><div class='text'><br/>"+JSONBingo.squares[i].square+"</div></div>"); $('#board').append("<div data-value='0' class='square' id='sq12'><div class='text'><br/>"+JSONBingo.squares[i].square+"</div></div>");
} else { } else {
$('#board').append("<div data-value='0' class='square' id='sq"+i+"'><div class='text'><br/>"+JSONBingo.squares[i].square+"</div></div>"); $('#board').append("<div data-value='0' class='square' id='sq"+i+"'><div class='text'><br/>"+JSONBingo.squares[i].square+"</div></div>");