Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 25.04.2013
Сообщений: 18
1

написать простой вариант игры в кости

09.05.2013, 13:14. Просмотров 1155. Ответов 8
Метки нет (Все метки)


написать простой вариант игры в кости, в котором бросаются две правильные кости. Если сумма выпавших очков равна 7 или 11- выигрыш. Если выпало (1,1) или (6,6) - игрок получает право снова бросить кости , во всех остальных случаях ход переходит ко второму игроку, но запоминается сумма выпавших очков. Если второй игрок не выигрывает абсолютно, то выигрывает тот игрок, у которого больше очков. Результат игры и значения выпавших костей выводить на экран с помощью функции print.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2013, 13:14
Ответы с готовыми решениями:

Написать программу игры в кости
Написать программу игры в кости по следующим правилам: играющий (их число не больше 4) называет...

Нужно написать простой код игры Арканоид на Си
Доброго времени суток, нужно написать код для игры Арканоид на Си.Заранее благодарю.

Выбрать вариант не имеющий ошибки и к каждому написать почему этот вариант правильный/неправильный
Прошу помогите, я плохо понимаю c++, да и простите если не в той теме, в общем, дали задание: ...

Простая игра по типу игры в кости
Нужно написать игру на с++. Есть два игрока у каждого по 500 очков. По очереди бросают кости 2...

8
4320 / 3329 / 339
Регистрация: 12.03.2013
Сообщений: 5,828
09.05.2013, 15:11 2
Из правил форума:

4.7. Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены.
0
1 / 1 / 0
Регистрация: 25.04.2013
Сообщений: 18
09.05.2013, 19:34  [ТС] 3
К сожалению я понятия не имею как это решать, поэтому и прошу помочь(((
0
4320 / 3329 / 339
Регистрация: 12.03.2013
Сообщений: 5,828
09.05.2013, 20:01 4
Для начала можете написать функцию, набирающую очки для игрока. Она будет генерировать случайное бросание костей и добавлять очки к общей сумме покуда игрок не выиграет или не потеряет право хода. Хотите рекурсией, хотите циклом.
0
4478 / 4192 / 350
Регистрация: 12.05.2012
Сообщений: 2,952
09.05.2013, 23:49 5
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(defun dice (&optional (d 0) &aux (a (random 6)) (b (random 6)) (s (+ a b)))
  (cond ((or (= a b 1) (= a b 6)) (print (list a '+ b '= s)) (dice (+ d s)))
        ((or (= s 7) (= s 11)) (print (list a '+ b '= s)) s)
        (t (print (list a '+  b '= (if (zerop d) s (+ d s)))) (if (zerop d) s (+ d s)))))
 
(defun game (&aux (n (dice)) (m (dice)))
  (cond ((or (= n 7) (= n 11) (> n m)) 'you-win)
        ((or (= m 7) (= m 11) (< n m)) 'he-wins)
        (t 'even)))
 
> (game)
(5 + 2 = 7) 
(5 + 4 = 9) 
YOU-WIN
1
4320 / 3329 / 339
Регистрация: 12.03.2013
Сообщений: 5,828
09.05.2013, 23:50 6
А почему в строчке 4 возвращается (if (zerop d) s d), а не (+ s d)?

Не по теме:

Ещё один человек уйдёт с форума, ничему не научившись. :(



PS Вопрос отпал.
1
1 / 1 / 0
Регистрация: 25.04.2013
Сообщений: 18
09.05.2013, 23:51  [ТС] 7
спасибо)))
0
helter
09.05.2013, 23:52
  #8

Не по теме:

Вы не туда спасибите. Я - противник халявы. Вот выковыривайте теперь "спасибо" из моего сообщения.

0
4478 / 4192 / 350
Регистрация: 12.05.2012
Сообщений: 2,952
10.05.2013, 07:49 9
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(defun prnt (a b s)
  (print (list a '+ b '= s)))
 
(defun dice (&optional (d 0) &aux (a (random 6)) (b (random 6)) (s (+ a b)))
  (cond ((or (= a b 1) (= a b 6)) (prnt a b s) (dice (+ d s)))
        ((or (= s 7) (= s 11))(prnt a b s) s)
        (t (let ((m (if (zerop d) s (+ d s)))) (prnt a b m) m))))
 
(defun game (&aux (n (dice)) (m (dice)))
  (cond ((or (= n 7) (= n 11) (> n m)) 'you-win)
        ((or (= m 7) (= m 11) (< n m)) 'he-wins)
        (t 'even)))
 
> (game)
(1 + 1 = 2) 
(5 + 1 = 8) 
(2 + 2 = 4) 
YOU-WIN
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2013, 07:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Простой вариант дублирования компонента
К примеру - есть панель с компонентами и со свойством Visible:=false; (Используем эту панель как...

Самый простой вариант СВЧ
Меня интересует самый простой вариант микроволновой печи, в которой можно только разогревать еду. В...

Создать аналог игры кости с выбором режима на два игрока
Help

найти среднее арифметическое (нужен самый простой вариант)
Найти среднее арифметическое введенных пользователем чисел


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.