Feladatok‎ > ‎

Dobókocka (git)

Leírás

Készítsünk modern, felturbózott dobókockát! 2016-ban már minden technikai követelmény adott, hogy a régi típusú, fizikai kiterjedéssel rendelkező dobókockákat leváltsuk, és helyette egy virtuális modellt használjunk.

A feladat során használjunk Gitet, hogy melléktermékként elsajátítsuk az alapjait!

A megoldás menete

  1. Álljunk párokba!
  2. Minden csapat hozzon létre egy (publikus) git szervert
  3. Egyelőre egy gépet használva készítsétek el a Dobokocka (Dice) osztályt! Ez egy általánosított dobókocka lesz, aminek n oldala van (és minden oldalára egyenlő eséllyel esik)
    A konstruktorában lehessen megadni n értékét!
    Legyen egy dobas() (throwIt()) metódus, ami a kockadobás eredményével tér vissza (1 és n közötti egésszel)
    Segíthet: https://docs.oracle.com/javase/7/docs/api/java/util/Random.html
  4. Ha ez kész, akkor commitoljatok! Töltsétek fel a commitot a szerverre!
  5. Ezután dolgozhattok két külön gépen, különböző feladatotok lesz:
    • Legyen egy Tarsashoz nevű osztály, egy saját main() metódussal! A neve is mutatja, hogy ez egy eszköz, amit akár társasozás közben lehet használni. A standard inputról olvassa be, hogy hány kockára van szüksége a felhasználónak (tipikusan 1 vagy 2)! Ezután következzék pontosan ennyi darab szám, az egyes kockák "oldalainak" száma. Ezután minden ENTER ütésre kiírja a dobás eredményét!
      Példa
      3
      2 6 12
      1 + 6 + 8 = 15
    • Illetve a másik társ csináljon egy Bluff nevű osztályt! Ez a név egy társasjátékhoz tartozik, amiben sok speciális kockával dobnak a játékosok. A körök végén az számít, hogy hány kockával dobtak a játékosok 1-est, 2-est, ... 5-öst, a Bluff main-jének is ezt kell majd kilistázni. A hatos helyén csillag van, ami minden számba beleszámít (tehát ha 5 kockával dobtunk, a következő eredménnyel: 3 1 5 * 3, akkor 2 db 1-est, 1 db 2-est, 3 db 3-ast, 1 db 4-est és 2 db 5-öst dobtunk). Paraméterként egy szám érkezik a standard inputról, a kockák száma.
      Példa
      30
      1: 12
      2: 8
      3: 14
      4: 9
      5: 7
      *: 5
      (7 db 1-es dobás történt, de ide számít az 5 * is)
  1. Amint elkészültetek, commitoljatok! A gyorsabb töltse fel (push), a másik csapattag pedig húzza le (pull). Nem nyúltatok ugyanahhoz a fájlhoz, ezért nincs merge conflict.
  2. A második csapattag is töltse fel az eredményt!
Comments