pekrimen / poker

Cucumber training for Ruby, Java and C# (Cucumber, Cuke4Duke and Cuke4Nuke)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Poker

Du jobber for en TV stasjon som sender programmet “Kjendispoker”. Kjendiser kommer i studio og spiller poker,
og en annen kjendis er vert. Selv om vertene som regel er pene er de ikke alltid like smarte, og hver runde må
avgjøres rast. Derfor her Kjendispoker behov for en automat som kan avgjøre hvem som vinner hver runde.

Spillerne spiller med ekte kort. Det finnes kameraer i studio som kan se alle spillernes kort, og tanken er at
en operatør skal sitte og skrive inn kortene som hver spiller sitter med på hånden inn i et program. Programmet
skal kunne avgjøre hvilken av spillerne som har den beste hånden ved en “showdown”, og vise både navnet på kombinasjonen
og navnet på vinneren på en skjerm som verten kan se.

Det finnes mange forskjellige varianter av poker, men på Kjendispoker spilles det alltid Texas Hold’em. Hver hånd rangeres som beskrevet i List of poker hands. Siden det spilles Texas Hold’em må operatøren
også kunne skrive inn kortene som ligger på bordet.

Det brukes ikke jokere i spillet.

Oppgave

Lag en liste over all funksjonalitet som skal utvikles og del dette opp i mindre oppgaver slik at oppgavene
kan fordeles i et team. For å vise framdrift i prosjektet skal det hver time plottes inn framdrift i et CFD
diagram. Et CFD diagram kan lages ved å kopiere følgende Google Documentet som er lenket til fra
denne artikkelen

Lag en enkel “tavle” med 4 kolonner: “Backlog”, “Under utvikling”, “Klar til godkjenning”, “Godkjent”.
Stasjonene “Under utvikling” og “Klar til godkjenning” har hver en initiell WIP-limit på 2 og 2.

Bruk Cucumber til å beskrive forventet oppførsel til spillet. Ved behov kan man også bruke NUnit, JUnit,
RSpec eller .NET.

Utvikling skal skje i par, og det skal benyttes “ping pong” programmering. Dvs person 1 skriver et scenario
(evt enhetstest), person 2 gjør den grønn så enkelt som mulig. Person 2 skriver et scenario osv. Når man mener
en oppgave er ferdig må man få godkjenning fra produkteier.

Kode

Prosjektet er satt opp for å fungere med “vanlig” Cucumber (Ruby), Cuke4Duke (Java) og Cuke4Duke (C#).

Installer Ruby (ikke nødvendig for Java)

Ruby

Forberedelser

Fjerne features/step_definitions/cucumber.wire
Fjerne evt annet ikke-ruby.

gem install cucumber rspec

Kjøre Cucumber

rake

Java

Forberedelser

Fjerne evt annet ikke-java.

mvn integration-test -Dcucumber.installGems=true

Kjøre Cucumber

mvn integration-test

C#

Forberedelser

Fjerne features/step_definitions/game_steps.rb
Fjerne evt annet ikke-.net.

gem install cuke4nuke win32console

Kjøre Cucumber

Bygg løsningen i Visual Studio


cuke4nuke bin\Release\Poker.dll -c features | wac

Se også Gojko Adzic sin Cuke4Nuke tutorial

About

Cucumber training for Ruby, Java and C# (Cucumber, Cuke4Duke and Cuke4Nuke)