Numbers Game -UI -kilpailu

Hei! Kaikkihan tietävät Countdown-pelin numero-kierroksen:

https://en.wikipedia.org/wiki/Countdown_(game_show)#Numbers_round

Tässä kilpailussa on tarkoituksena koodata tämä ja tehdä käyttöliittymä (UI), joka olisi mahdollisimman sutjakka.

Laitoin tämän Reddittiinkin ( https://www.reddit.com/r/programmingchallenges/comments/b5f4rh/competition_for_designing_a_ui_for_countdown/ ), mutta siellä kukaan ei tykännyt tästä, meidän on nyt täällä Suomi24:ssa pidettävä yhtä köyttä!
14142
Äänestä

Muut lukivat myös

Vastaukset 14

Vanhimmat
Aloittaja
Aloittaja
Aloittaja

Taipperi-paipperi: https://codepen.io/minkkilaukku/full/PLrWZr

Mitäpä jos lasku vaan kirjotettas?
Tässä on muuten nyt mukana myös säännöissä vaadittava tarkastus, että jokainen välivaihe on positiivinen kokonaisluku.

1Äänestä
  • Sen verran voisit helpottaa ettei tuossa tuloksen saamisessa tarvitse pilkullisia lukuja käsitellä. Miten noita kukaan voi muistaa (5÷3=1,6667). Näin tehtävän ratkaisu helpottuu, ja koodin teko vaikeutuu, no jaa, eipä se taida ohjelman teko siitä vaikeammaksi mennä, kun lausekkeen muodostaa pistämällä randomia operandi ja operaattorin valintaan ja seuraamalla ettei missään vaiheessa lasketajärjestystä noudattaen tulos ole liukuluku. Eli uusiksi meni koko homma, tehtävä palaa bumerangina takasin pöydällesi.

    Äänestä

  • Oikeastaan vaikeustasolla helvetin vitun vaikea, voisi olla 5 operandia ja 4 operaattoria ja 1 likukuluvullinen välitulos.

    Äänestä

  • Aloittaja

    Matikan-ope kirjoitti:

    Sen verran voisit helpottaa ettei tuossa tuloksen saamisessa tarvitse pilkullisia lukuja käsitellä. Miten noita kukaan voi muistaa (5÷3=1,6667). Näin tehtävän ratkaisu helpottuu, ja koodin teko vaikeutuu, no jaa, eipä se taida ohjelman teko siitä vaikeammaksi mennä, kun lausekkeen muodostaa pistämällä randomia operandi ja operaattorin valintaan ja seuraamalla ettei missään vaiheessa lasketajärjestystä noudattaen tulos ole liukuluku. Eli uusiksi meni koko homma, tehtävä palaa bumerangina takasin pöydällesi.

    Olihan se mulla tossa. Puu käydään läpi post-ordeerissa, jotta pahat lapset löytyy ensin. Noissa aikaisemmissa ratkaisuissa se unohtui, mutta niissähän se olis vielä helpompi laittaa, kun joka kerta kun muodostetaan blockki (eli siis operaatio), testattas onko se laillinen.

    Näyttäs CodePen olevan nyt liaan ruuhkanen, jokos täältä meni niin moni kattomaan?!? :DD

    Äänestä

  • minkkilaukku kirjoitti:

    Olihan se mulla tossa. Puu käydään läpi post-ordeerissa, jotta pahat lapset löytyy ensin. Noissa aikaisemmissa ratkaisuissa se unohtui, mutta niissähän se olis vielä helpompi laittaa, kun joka kerta kun muodostetaan blockki (eli siis operaatio), testattas onko se laillinen.

    Näyttäs CodePen olevan nyt liaan ruuhkanen, jokos täältä meni niin moni kattomaan?!? :DD

    En nyt saanut tuota helpotus tarvetta oikein kerrottua selvästi, yritän uudestaan.

    Käytettävissä olevat luvut alussa: 25 50 2 10 10 8
    Jos minä nyt alan rakentamaan lauseketta näin:
    25
    Minulla on valittavissa luvut 50 2 10 10 8 tuhon merkin taakse, joten jatkan
    25 50 ÷
    Valinnoista tulisi nyt poistua tuo numero 8 koska 50 ÷ 8 = 6,25 eli tämä olisi laiton välitulos, ja niin ollen valittaviksi jäävät numerot olisi: 2 10 10

    Ymmärsitkö nyt?

    Äänestä

  • Matikan-ope kirjoitti:

    En nyt saanut tuota helpotus tarvetta oikein kerrottua selvästi, yritän uudestaan.

    Käytettävissä olevat luvut alussa: 25 50 2 10 10 8
    Jos minä nyt alan rakentamaan lauseketta näin:
    25
    Minulla on valittavissa luvut 50 2 10 10 8 tuhon merkin taakse, joten jatkan
    25 50 ÷
    Valinnoista tulisi nyt poistua tuo numero 8 koska 50 ÷ 8 = 6,25 eli tämä olisi laiton välitulos, ja niin ollen valittaviksi jäävät numerot olisi: 2 10 10

    Ymmärsitkö nyt?

    Vasta sillä helvetin vitun vaikea taso voitaisiin kerran hyväksyä tuollainen liukuluvullinen välitulos.

    Äänestä

  • Aloittaja

    Matikan-ope kirjoitti:

    En nyt saanut tuota helpotus tarvetta oikein kerrottua selvästi, yritän uudestaan.

    Käytettävissä olevat luvut alussa: 25 50 2 10 10 8
    Jos minä nyt alan rakentamaan lauseketta näin:
    25
    Minulla on valittavissa luvut 50 2 10 10 8 tuhon merkin taakse, joten jatkan
    25 50 ÷
    Valinnoista tulisi nyt poistua tuo numero 8 koska 50 ÷ 8 = 6,25 eli tämä olisi laiton välitulos, ja niin ollen valittaviksi jäävät numerot olisi: 2 10 10

    Ymmärsitkö nyt?

    Ai nii, jos päivitettäs niitä näytettäviä lukuja sitä mukaa kun käyttäjä kirjoittaa lauseketta? Ja samallahan sen vois suoraan muuttaa inputin vaikka punaseksi, jos lauseke on epäkelpo tai käyttää lukuja joita ei ole.

    Äänestä

  • minkkilaukku kirjoitti:

    Ai nii, jos päivitettäs niitä näytettäviä lukuja sitä mukaa kun käyttäjä kirjoittaa lauseketta? Ja samallahan sen vois suoraan muuttaa inputin vaikka punaseksi, jos lauseke on epäkelpo tai käyttää lukuja joita ei ole.

    Just noin, sillä ihmisen lasketateho on hyvin rajallinen, ja kiinnostavuus katoaa jatkuvista epäonnistumisista.

    Äänestä

  • Aloittaja

    Matikan-ope kirjoitti:

    Just noin, sillä ihmisen lasketateho on hyvin rajallinen, ja kiinnostavuus katoaa jatkuvista epäonnistumisista.

    Lisäsin nyt noita ominaisuuksia. Kokeilkaapa löytyykö mitään bugeja vaan ois..?

    Äänestä

  • Aloittaja

    Nyt on solve-ominaisuus ja voi syöttää myös omat haluamansa luvut ja targetin.

    https://codepen.io/minkkilaukku/full/PLrWZr

    Keksittekö muuten hyviä algoritmeja tuohon ratkaisemiseen? Tolla mun se saattaa joskus vähän kestää (ei nyt useampia sekunteja ainakaan ikinä sattunut viemään mitä ihan manuaalisesti testasin, mutta kuitenkin).

    Äänestä

  • minkkilaukku kirjoitti:

    Nyt on solve-ominaisuus ja voi syöttää myös omat haluamansa luvut ja targetin.

    https://codepen.io/minkkilaukku/full/PLrWZr

    Keksittekö muuten hyviä algoritmeja tuohon ratkaisemiseen? Tolla mun se saattaa joskus vähän kestää (ei nyt useampia sekunteja ainakaan ikinä sattunut viemään mitä ihan manuaalisesti testasin, mutta kuitenkin).

    Kävin jo tuolla eilen kaselemassa, ja pythonilla aloittelin hakemaan ratkaisijaa, joutu jättämään kesken mutta sen verran asia kiehtoo että jatkan kuhan kerkiän. Tuossa ratkaisijassa käytin tuota pyhonin combinations laajennosta. Tämä ratkaisuhan pyörii noiden Variaatio, Kombinaatio ja Permutaatiot termien ympärillä.

    https://i.postimg.cc/rp89fJTf/P-te-100.png

    Nythän tuo on jo valmiin näköinenkin

    Äänestä

Miksi?

Äänestä

Kommentoi aloitusta


minkkilaukku kirjoitti:

Hei! Kaikkihan tietävät Countdown-pelin numero-kierroksen:

https://en.wikipedia.org/wiki/Countdown_(game_show)#Numbers_round

Tässä kilpailussa on tarkoituksena koodata tämä ja tehdä käyttöliittymä (UI), joka olisi mahdollisimman sutjakka.

Laitoin tämän Reddittiinkin ( https://www.reddit.com/r/programmingchallenges/comments/b5f4rh/competition_for_designing_a_ui_for_countdown/ ), mutta siellä kukaan ei tykännyt tästä, meidän on nyt täällä Suomi24:ssa pidettävä yhtä köyttä!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu