Saturday 7 July 2012

Bulls and Cows


Бикове и крави  е логическа игра за отгатване на цифри. Играе се от двама противника (в случая единият е компютър), като всеки се стреми да отгатне тайното число, намислено от другия. След всеки ход, противникът дава броя на съвпаденията.
Играта протича по следния начин. Записва се тайно число. Тайните числа са четирицифрени. След това се задава въпрос дали дадено четирицифрено число е тайното число. Противникът отговаря, като посочва броя на съвпаденията -- ако дадена цифра от предположението се съдържа в тайното число и се намира на точното място, тя е „бик“, ако пък е на различно място, е „крава“.
Пример:
Тайно число: 4271
Предположение: 1234
Отговор: „1 бик и 2 крави“. (Бикът е „2“, а кравите са „4“ и „1“.)
На всеки ход играчите записват предположените числа и отговорите, за да могат чрез дедукция да идентифицират цифрите в тайното число на противника.
Когато се открие тайното число, играта приключва.
В кода представен по-долу играта се играе по следния начин:
  • Пишат се 4 цифри и конзолата връща броя на биковете и кравите;
  • Когато се напише top излиза списъка с резултатите на игрите изиграни досега;
  • Когато се напише help конзолата връща тайното число;
  • Когато се напише restart играта започва отначало и сменя тайното число с ново;
  • Когато се напише exit играта приключва;
  • След като се познае числото, играта иска име и показва резултатите, заедно с броя пробвания за познаване;