Bankoplader

For nylig diskuterede vi i min datters klasseråd forskellige muligheder for at få penge i klassekassen, uden nødvendigvis direkte at opkræve penge hos forældrene.

I den forbindelse fremkom der forslag om at afholde banko-spil. En idé jeg synes var god. Det er sjovt, så nemt at mindre søskende kan være med og forholdsvis enkelt og billigt at gennemføre.

Nørden i mig begyndte straks med overvejelser om hvordan man kan implementere et system – gerne web-baseret – som kan hjælpe med afviklingen af et banko-spil. Det kunne være sjovt at lave 🙂

Første udfordring er så udformingen af banko-pladerne, for der synes at være et system og nogle regler for tallenes placering på pladerne, men det står ikke klart hvordan og hvorledes.

Forskelligt udformede søgninger på nettet giver mange hits, men de fleste er til online-banko sites, regler for lokale bankoklubber og firmaer som laver banko-udstyr (herunder programmer som kan forestå afviklingen af bankospil).

Konkret information om udformingen af bankopladerne er sværere at finde.

Heldigvis har en Nils Andersen (diku) begået et lille skriv om hvor mange forskellige bankoplader der findes – se bankoplader.

I første afsnit (1 Specifikation) fremgår det tydeligt hvordan bankopladerne udformes; jeg vil repetere dem her:

  1. Der benyttes 15 forskellige tal mellem 1 og 90.
  2. Hver plade har 3 rækker med hver 9 kolonner.
  3. Tallene fordeles således at der er mindst ét tal i hver kolonne og præcis 5 i hver række.
  4. Første kolonne indholder tallene fra 1 t.o.m. 9, anden kolonne 10-19, tredie 20-29 osv.; 9. kolonne indeholder tallene fra 80 t.o.m. 90.
  5. I hver kolonne placeres tallene i stigende orden ovenfra og ned.

Det går altså ikke bare at udvælge 15 tilfældige tal mellem 1 og 90 og placere dem rundt omkring på pladen!

Jeg har naturligvis hygget mig med at implementere en algoritme i Java, som kan generere bankoplader. Min algoritme er som følger:

  1. Først udvælges et tilfældigt tal til hver kolonne; altså 9 tal.
  2. De resterende 6 tal vælges tilfældigt, dog således at der højst er 3 tal i samme kolonne.
  3. Kolonnerne gennemgås med henblik på at fordele tallene i rækker:
    1. Kolonner med 3 tal – her placeres et tal i hver række, stigende orden.
    2. Kolonner med 2 tal fordeles “tilfældigt” i rækkerne (dog stadig stigende), så længe det er muligt. Her kan der opstå fejl hvis der kun er plads til tal i én række. I så fald startes forfra.
    3. Kolonner med 1 tal fordeles “tilfældigt” i rækkerne, så længe det er muligt.

Nu går det jo ikke hvis man til et bankospil har flere ens bankoplader, derfor udtænktes også en algoritme for hvordan man kan “mærke” hver plade med et id, som indeholder fuld information om pladens opbygning.

Når en “tilfældig” plade genereres er det altså blot at sammenligne disse id’er for at sikre at der ikke er 2 ens.

Måske vil det også være hensigtsmæssigt at sikre at der ikke er 2 plader der indeholder de samme tal – så der ikke er 2 forskellige deltagere der slås om banko-prisen til sidst. En variant af ovenstående id benyttes til dette formål.

Endelig udtænktes også en databasemodel for hvordan bankopladerne kan repræsenteres så check og optælling af rækker og plader kan foregå i databasen, og ikke i applikationen. Starten på en hel applikation er lagt 🙂

Af hensyn til dem som kunne tænke sig at se outputtet af min “bankopladegenerator” har jeg genereret 9000 tilfældige plader, lagt dem i en database og lavet en lille hjemmeside som viser 4 ad gangen (passer med en A4 side). Disse kan benyttes frit: bankoplader.php.

Skal du bruge bankoplader med andet udseende kan du hente inspiration på: http://bankopladerne.dk

22 tanker om “Bankoplader

  1. Rigtig god ide, til glæde for os andre, der bestemt ikke hverken har forstand eller evner udi “tal-nørderi” eller skabelse af pc-programmer.
    Jeg vil dog høre, om det måske er muligt at lave nogle ark hvor papirretningen er liggende, det ville give mulighed for 6 kort på hvert ark.

  2. Hej! Tak for input!

    Det var en god idé, det vil jeg se på.
    Jeg overvejer også at lave nogle spil der kan arrangeres/spilles gratis fra nettet.
    Men, begge dele kræver tid, og det har jeg desværre ikke for meget af 🙂

    Mvh

    Jesper Udby

  3. Hej
    Jeg er i gang med at arrangere en julefrokost og i den forbindelse kunne det være rigtig morsomt at ALLE fik bango på en gang dvs. at det sidste tal der bliver udtrukket er det alle spillerne mangler. Det kunne være rigtig sjovt at alle til festen råbte bango på en gang 🙂 der dette muligt??? det kræver selvfølgelig også at samme tal findes på alle pladerne…

    Mvh
    Tonny

  4. Hej Tonny.
    Det kan sagtens lade sig gøre men kræver noget koordinering.
    Hvis det skal gøres uden “snyd”, kræver det at alle deltagere har de samme numre på pladerne. Det bliver nok lidt kedeligt og hurtigt gennemskuet.
    Alternativt kan du vælge pladerne således at alle har mindst ét tal til fælles, fx. 23. Inden spillet starter sikrer du dig at du har alle tallene i “posen” som passer med pladerne (plus evt. et par ekstra) men IKKE 23. Denne gemmer du i lommen 🙂 Når posen så er tom ved du at alle mangler tallet 23, som du så trækker op af lommen og alle får banko.

    Mvh
    Jesper Udby

  5. Jo tak
    det var også meningen at kun et tal er gennemgående på alle pladerne. Jeg må prøve at se om jeg kan lave pladerne med f.eks. 23 eller andet tal som gennemgående. Jeg kigger på det.
    mvh
    Tonny

  6. Nu var 23 bare et eksempel 🙂

    Jeg kan oplyse at det mest brugte tal på de 30.000 plader er tallet 4, som findes på 5.384 plader, stærkt efterfulgt af tallet 2, som findes på 5.377 plader…

    23 findes kun på 4.961 af pladerne 🙂

  7. Hej Jesper

    Vi er en lille flok tøser der stikker af hjemmefra, og tager til banko i forsamlingshuset, hver onsdag aften, og vi snakkede om, om det er det muligt at lave så man udskriver 6 plader hvor hvert tal fra 1- 90 kun er en gang i alt?
    Skriver jeg 6 plader ud som de er nu kan jeg risikere at have samme nr. 3-5 gange og så har jeg altså lige travlt nok. ;o)

    Venlig hilsen
    Mette

  8. Hej.
    Jeg kunne godt bruge hjælp til at fremstille 6 banko plader selv. Der er jo 90 tal som skal fordeles på 6 plader med 15 på hver.
    Så er det ret nemt at ligge 1 brik på hver gang og man får et overblik over hvilke tal der er gået, ofte til gavn for sidemanden.
    Hilsen Ann

  9. Hej Ann,

    det er simpelt:

    Der skal være mindst ét tal i hver kolonne og 5 tal i hver række.
    I første kolonne benyttes tallene 1 til og med 9, anden kolonne 10-19 og så fremdeles til sidste kolonne tallene 80 til og med 90.
    I en kolonne er tallene altid stigende.

    Håber det er svar nok, ellers læs pdf’en jeg linker til i indlægget.

    God jul, mvh

    Jesper Udby

  10. Hej Jesper!

    Rigtig godt arbejde!!

    Jeg har en camp på roskilde festival som hedder Forsamlingshuset, og der skal selvfølgelig være banko hver dag.

    Vi ville gerne have så tilfældet hvor to eller flere får banko på samme tid er en meget hyppig forekomst. Hvordan gør jeg det? Har du tid til at hjælpe mig? alternativt må jeg måske låne din php-kode, så kan min bror nok hjælpe mig – hvis ikke du har tid selv?

    Mvh Rasmus.

  11. Hej Rasmus.

    Den slags kan godt lade sig gøre, men det kræver at du “pakker” tallene og pladerne. Jeg vil godt kunne finde tid til at hjælpe dig – men nok ikke til dette års Roskilde Festival… Du kan evt skrive til mig på jesperudby snabela gmail punktum com

    Koderne til pladerne er i JAVA og bliver ikke delt – det er min “Intellectual Property”.
    Bankopladerne på min hjemmeside er gratis og til fri afbenyttelse. PHP koden dér refererer kun til en simpel MySQL database med pladerne.

    Mvh

    Jesper Udby

  12. Hej Jesper.. Tak for hurtig respons! Og tak for hjælpen!

    Hvordan tænker du at pladerne skal ‘pakkes?.. Jeg har allerede importeret dine plader i et indesign dokument og har grublet over hvordan silvan jeg skulle gøre det, og der er altid en hage ved de metoder jeg finder frem til 🙂
    Eksempelvis, hvis jeg laver 2 ark hvor en af pladerne er ens, så vil de både få bingo på én række, men også på hele pladen, og det er lidt kikset tænker jeg.

    Det er fuldt forståeligt at du ikke vil låne koden ud 🙂

    Mvh Rasmus

  13. Nu har jeg manuelt smidt tallet 35 ind på næsten alle pladerne.. Tror du ikke det gør at deltagerne ofte rammer bingo samtidigt? Eller skal jeg gøre det med flere tal?

  14. Nu er det en del år siden jeg sidst var til banko, men er da ret sikker på, at der var en del plader med en helt tom kolonne, – og dermed også kolonner med 3 tal.
    De 5 tal i hver række er slvfldgt et must.

    //finn

  15. Hej Finn, det er muligt.

    Der er sikkert forskellige systemer.

    Jeg ser af og til bankoplader hvor tallene ikke nødvendigvis er i stigende orden (oppefra-ned).

    Algoritmen til mine bankoplader tager udgangspunkt i systemet beskrevet af “Nils Andersen” og som er gengivet i mit indlæg herover.

    Mvh

  16. Hej Jesper.
    Jeg tror simpelthen at du er manden jeg leder efter.

    Jeg indsætter lige tekst fra et opslag jeg lige har smidt på væggen, hvor jeg søger hjælp.
    Jeg håber at du kan/gider at hjælpe i den gode mand tjeneste.

    Mvh
    Thomas Affeldt

    Ejer og stifter af Næstekærlighed Og Sammenhold på Facebook.

    “ Hej alle.

    Jeg søger en eller 2 rigtige stærke IT personer, som har interesse eller stor forstand på at lave/kender til et sted, hvor man frivilligt har lyst til at lave en spilleplade generator til en digitalt bankospil

    Dette bankospil skal afholdes digitalt for socialt udsatte i Danmark via en facebook gruppe, men det sidste vi mangler er en spilleplade generator, som spillerne kan trække banko spillepladerne fra digitalt.

    Er der nogen som kan hjælpe mig?

    På forhånd tak“

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.