Појединачне класе - задаци¶
Задатак - игра „Вешала”¶

Написати класу Vesala
, која представља основу за игру Вешала.
Након писања класе, написати и конзолни програм који користи ту класу и омогућава играње игре за два играча.
Игру играју два играча, од којих један задаје једну или више речи (задавач), а дуги погађа задати текст (погађач). Погађање се састоји у тражењу да се прикажу сва појављивања једног слова. Уколико се то слово не појављује у тексту, погађач губи један живот. Игра се завршава када погађач открије сва слова од којих се састоји текст, или када изгуби све животе. Број живота које има погађач се договара пре почетка партије и обично је то 6.
Задатак - игра „Икс - окс”¶

Написати класу IksOks
, која представља основу за игру икс - окс.
Након писања класе, написати и конзолни програм који користи ту класу и омогућава играње игре за два играча.
Ову игру играју два играча на табли од 3 реда и 3 колоне, играјући наизменично. Један играч користи знак X, а други знак O. Табла је на почетку игре празна. Потез се састоји у постављању свог знака у једно поље на табли. Циљ игре је поређати 3 своја знака на 3 узастопна поља у праволинијскком низу, водоравно, усправно или косо.
Задатак - игра „Потапање бродова”¶

Написати класу Podmornice
, која представља основу за игру потапања бродова.
Након писања класе, написати и конзолни програм који омогућава играње игре.
Ову игру играју два играча на табли од 10 редова и 10 колона. Један играч је задавач и он задаје распоред бродова на табли, а други је погађач и он открива тај распоред. Сваки брод је представљен усправним или водоравним низом поља. Укупно треба распоредити 1 низ од 4 поља, два низа од по 3 поља, три низа од по 2 поља и 4 појединачна квадрата. Правоугаоници не смеју имати заједничких тачака, чак ни темена. Погађач открива распоред бродова тако што поставља питања о појединим пољима, тј. „гађа их”. Задавач одговара једном од речи „промашен”, „погођен”, или „побеђен” (када је последњи део последњег брода погођен). Игра траје док погађач не нађе тачне позиције свих бродова.
Уобичајено је да се игра тако да оба играча истовремено буду и задавачи и погађачи. У том случају сваки играч на почетку игре смисли распоред који онај други играч треба да оркрије, а затим гађају наизменично, док један од њих не открије све бродове противника.
Конзолни програм може да се напише тако да омогућава играње игре у само једном, или у оба смера,
тј. да распоред бродова погађа само један или оба играча. У случају да се игра двосмерно,
програм треба да користи два објекта класе Podmornice
, по један за сваког играча.
Распоред бродова може да се зада као низ од 10 стрингова дужине 10, при чему сваки стринг
садржи само нуле и јединице. Након задавања распореда садржај конзолног прозора треба
да се обрише, нпр. извршавањем наредбе Console.Clear();
. У случају двосмерног играња,
садржај прозора се брише после сваког задавања, а затим програм наизменично нуди једног па
другог играча да зада поље које гађа. Након задавања распореда, програм треба да приказује
резултате гађања у облику две матрице карактера. Поља која нису гађана могу нпр. да се
представе тачком, промашаји малим словом o
, а погоци великим словом X
.
Постоји и варијанта игре потапања бродова, у којој су могућа 4 одговора задавача: „промашен”,
„погођен”, „потопљен” и „побеђен”. Одговор „погођен” се добија када у броду коме припада
погођено поље постоје и поља која још нису погођена, а „потопљен” када су закључно са овим,
погођени сви делови брода. Да би се у приказу видела разлика, бродови чији су сви делови
погођени могу да се означавају великим словима X
, а погођени делови непотопљених бродова
малим словима x
.
Ова варијанта игре је нешто лакша за откривање распореда бродова јер је потребно је мање потеза, али је тежа за израчунавање одговора и текстуалне ознаке поља.
Задатак - игра погађања комбинације¶

Написати класу која представља основу за игру погађања комбинације.
Након писања класе, написати и конзолни програм који омогућава играње игре.
Ову игру играју два играча, задавач и погађач. Задавач смишља комбинацију од 4 цифре, од којих свака има вредност од 1 до 6. Уместо 4 места и 6 могућности са свако место, могу да се изаберу и други параметри.
Након задавања, погађач покушава да открије задату комбинацију постављајући питања. Свако
питање се такође састоји од 4 цифре са вредностима од 1 до 6. Задавач одговара на питање
тако што саопшти колико цифара је погођено и на добром месту, а колико их је погођено али
је на погрешном месту. На пример, ако је задата комбинација 1232
, а питање 1324
,
одговор је 1, 2
(један погодак на правом месту и два поготка на погрешном месту).
Очекује се да класа буде написана тако да може да одигра улогу задавача. На пример, конструктор може да се напише тако да добија два параметра, број места и број могућности за свако место, у нашем примеру то су 4 и 6. На основу ових параметара конструктор бира случајну комбинацију цифара. Наравно, поред јавног конструктора, потребан је и јавни метод који одговара на питања погађача.