Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

For min del så synes jeg det er veldig morsomt å se så mange kreative og uventede løsninger! Det er spennende at noen ønsker å ta det litt lenger enn andre, eller finner på super effektive én linjers-løsninger ingen har tenkt på før. Det er mange veier til Rom tenker jeg. Tommel opp for begge deres løsninger. Lo godt av de syke nyhetene på "NRK". :wee:

 

post-307986-0-20272300-1409859839_thumb.png

Endret av rockPaperScissors()
Lenke til kommentar

Om dere er klar for en runde til eller ikke, her er en ny oppgave. :)

Runde fire!

post-307986-0-40989600-1409892326_thumb.jpg

Si hei til Den Buggete Svenskeknappen.

Oppgaven består i å lage ett "svenskeknapp-program". Programmet består av ett vindu som bytter mellom fargene gul og blå på input. Altså vinduet kan være blått når du starter programmet, og bytter til gult når du f.eks. trykker på vinduet første gangen, og det blir blått igjen dersom du trykker engang til.

Dette er ikke en veldig komplisert oppgave, ikke sant?

Men jeg er ikke ferdig. Programmet skal ha en uventet feil eller ett "påskeegg". Hvordan man klarer det på ett elegant vis i ett program som bare har i oppgave å bytte mellom to tilstander blir utfordringen.

Påskeegg, på engelsk ofte kalt Easter eggs, viser til en gjemt og ofte uventet funksjonalitet i dataspill, nettsider, programvare og DVDer. Det er lagt inn av utviklerne som en form for humor, med beskjeder, interne spøker, referanser og overraskelser og er ofte vanskelig å finne. Påskeegg kan også finnes i andre medier, som film.

Begrepet viser til skikken med påskeegg jakt i USA og tysktalende land, der fargede egg gjemmes 1. påskedag og barna løper ut for å lete etter dem.

Lenke til kommentar

Er litt usikker på om jeg forstod oppgaven rett, men her er nå mitt bidrag, ligger source + kompilert i zip'en.

Slik jeg forstod det skal programmet ha en uforutsigbar funksjon (enten det er en bug eller skjult feature).

 

Det første jeg tenkte på var å på en eller annen måte utnytte noe som tilsynelatende fungerer f.eks. på utviklers maskin eller i debug-byggen, men fungerer annerledes i release-byggen pga. optimalisering. Eksempel kan være å lese fra en «uninitialized» variabel i et program laget med C/C++... Dette kan vel ikke sier å være spesielt elegant, men det er lett å gjøre en slik feil med C/C++.

 

Et annet eksempel kan være at man lager programmet ut i fra hva man forventer av input, så skjer noe annet med uforventet input (og det skal ikke være tydelig for brukeren hvordan man får det til).

 

Et litt mer konkret eksempel tenker jeg kan være som Django gjorde, men så skjer noe annet (kanskje annen farge, en smiley, blinking, starte å spill av toner som passer til fargene) f.eks. hvis du klikker med museknappene i en bestemt rekkefølge, eller taster inn Konami-koden.

 

Hvis jeg har tolket oppgaven rett, står jeg over, og lar heller andre få prøve seg. :)

Endret av ahw_
Lenke til kommentar

 

Er litt usikker på om jeg forstod oppgaven rett, men her er nå mitt bidrag, ligger source + kompilert i zip'en.

Slik jeg forstod det skulle programmet ha en uforutsigbar funksjon (enten det er en bug eller skjult feature).

 

 

 

Er en skjult feature der ;)

 

Ref oppgave: Altså vinduet kan være blått når du starter programmet, og bytter til gult når du f.eks. trykker på vinduet første gangen, og det blir blått igjen dersom du trykker engang til.

 

Ekstra featuren er der, du må bare finne den :)

Endret av Django
Lenke til kommentar
Er en skjult feature der ;)

 

Ref oppgave: Altså vinduet kan være blått når du starter programmet, og bytter til gult når du f.eks. trykker på vinduet første gangen, og det blir blått igjen dersom du trykker engang til.

 

Ekstra featuren er der, du må bare finne den :)

 

Ser nå at måten jeg startet innlegget mitt på gir et inntrykk av at jeg mente noe annet, og det beklager jeg. Jeg mente å forklare hvordan jeg tolket oppgaven. Har sett på løsningen din, og vi har nok forstått oppgaven riktig. :)

Endret av ahw_
Lenke til kommentar
  • 3 uker senere...

Tja ... dette ble jo egentlig ikke så festelig som tiltenkt, menmen :)

 

http://embed.plnkr.co/aX6d5XiuFBrX5vG9BItV/preview

angular.module('plunker', [])
  .directive('swedeButton', function(){
    var count = 0;
    var funstuff = function(elem){
      var num = Math.floor((Math.random() * count) + 1);
      elem.css('top', num + 'px');
    }
    
    return {
      restrict: 'E',
      replace: true,
      template: '\
        <button ng-click="magic()">Jag är svensk</button>',
      link: function(scope, elem, attrs){
        scope.magic = function(){
          elem.parent().toggleClass('yellow');
          count++;
          if (count >= 10 && count % 2 == 0){
            funstuff(elem);
          }
        }
      }
    }
  })
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...