Створіть гру «Хрестики-нолики». Алгоритм роботи:
1. Відкрийте середовище програмуванн IDLE. Створіть новий файл.
2. Імпортуйте модуль random.
3. Створіть функцію для відображення ігрового поля, для цього створіть
змінну із списком з 10 рядків, в ньому рядок з індексом 1 відповідає
клітинці 1 ігрового поля. Рядок з індексом нуль ігнорується.
4. Створіть функцію, що буде надавати гравцю право вибору літери Х чи
О.
5. Створіть функцію, що що буде використовувати randint(), для
випадковго вибору того хто буде ходити першим.
6. Створіть функцію для розміщення міток на ігровому полі. Тут
використайте посилання на спискі:
def makeMove(board, letter, move):
board[move] = letter
7. Створіть функцію, для перевірки чи не виграв гравець, по суті це буде
довга інструкція return.
8. Створіть функцію для дублювання даних з ігрового поля.
9. Створіть фукнцію для виявлення можливості ходя відповідно до
ситуації на ігровому полі.
10. Створіть функцію, яка дозволить запропонувати гравцю ввести номер
клітинки, в яку він хоче зробити наступний хід.
11. Створіть функцію вибора ходу зі списку для комп’ютера.
12. Створіть функцію, що надасть можливість комп’ютеру виявляти якою
літерою грає гравець, і відповідну іншу літеру займає комп’ютер і
зберігає її у змінній.
13. Створіть перевірку чи зможе комп’ютер перемогти зробивши
наступний крок. Використайте цикл for, та розгалуження.
14. Створіть перевірку чи зможе гравець виграти, якщо зробе наступний
крок.
15. Створюємо перевірку чи зайняті кутові, центральна та бокові клітинки
(в порябку черги)
16. Створіть функцію для перевірки чи заповнене поле.
17. Створіть ігровий цикл.
a. Створіть рядок привітання
b. Створіть цикл while, який буде виконуватись доти доки
управління не буде передано інструкції break
c. Гравець вибирає літеру, якою він буде грати
d. Відповідна функція випадковим чином обирає того, хто буде
виконувати перший крок
e. Створіть цикл, який буде «кидатися» між кодом ходу гравця і
кодом ходу комп'ютера до тих пір, поки відповідній змінній не
буде присвоєне значення True.
f. Запропонуйте гравцю зіграти знову.
Відповідь:
Дивись фото
Пояснення:
<!DOCTYPE html>
<html>
<head>
<title>Price</title>
<meta charset="utf-8">
</head>
<body>
<p>стоимости переговоров</p>
</body>
<script>
{/*Написать логическое выражение для определения стоимости переговоров, если стоимость переговоров с 22 часов до 8 часов на 20% ниже, а в субботу и в воскресенье дополнительно предоставляется скидка 10%. */}
t = +prompt('время разговоров от 0 до 24 часов')
dt = +prompt('продолжительность разговора в минутах')
s = +prompt('стоимость минуты разговора')
d = +prompt('день недели от 1 до 7')
console.log('t=',t,'dt=', dt, 's=', s, 'd=', d)
function Price (t, dt, d, s) {
let startTalk = t*60
let price = 0
console.log('day = ', d)
for (let i =1; i<=dt; i++){
let night = false
let holiday = false
let p = s
if( (startTalk+i)%1440 === 0 ){
if (d<7){
d=d+1
console.log('day = ', d)
} else {
d=1
console.log('day = ', d)
}
}
if ( (startTalk+i)%1440>=1320 || (startTalk+i)%1440<480){
night = true
}
if ( d === 6 || d===7){
holiday = true
}
if (night){
p = p - s*0.2
}
if (holiday){
p = p-s*0.1
}
price = price+p
console.log('стоимости '+ i+'мин. = '+ p.toFixed(2)+'$')
}
console.log('fin.price', price.toFixed(2), '$')
return price.toFixed(2)
}
{/*Price(t, dt, d, s)*/}
alert('стоимости переговоров ' + '$' + Price(t, dt, d, s))
</script>
</html>
var
t:boolean;
d:integer;
begin
t := true;
d := 2;
while t and (d*d <= x) do
begin
if x mod d = 0 then
t := false;
d := d + 1
end;
prime := t
end;
function order(x:integer):boolean;
var
t:boolean;
d:integer;
begin
d := -1;
repeat
t := x mod 10 > d;
d := x mod 10;
x := x div 10
until not t or (x = 0);
order := t
end;
var
t:boolean;
i,k,n:integer;
begin
t := false;
read(k,n);
for i := k to n do
if prime(i) then
if order(i) then
begin
write(i,' ');
t := true
end;
if not t then
write(0)
end.