Добавить в игру пятнашки условие проверки(Мы можем переставлять соседние с пустой ячейки. Через одну и по диагонали переставлять не можем) Игру ниже прикладываю
print(pyfiglet.figlet_format("TAG GAME"))
print('Добро в игру пятнашки')
print('Правила: соберите все костяшки в порядке возрастания')
input('Нажмите Enter для начала игры...')
mylist = [10, 22, 35, 44, 60, 69, 78, 100]
bar = IncrementalBar('Загрузка: ', max=len(mylist))
for item in mylist:
bar.next()
time.sleep(random.uniform(0, 0.3))
bar.finish()
if os.name == 'nt':
os.system('cls')
else:
print('Консоль не очищена')
number_list = [i for i in range(1, 16)]
for i in range(1, 16):
number_list.append(i)
number_list.append(' ')
result_list = list(zip(*[iter(number_list)] * 4))
for i in range(len(result_list)):
result_list[i] = list(result_list[i])
random.shuffle(number_list)
area = list(zip(*[iter(number_list)] * 4))
for i in range(len(area)):
area[i] = list(area[i])
col_width = max(len(str(num)) for row in area for num in row) + 2
while result_list != area:
os.system('cls')
for row in area:
print(''.join(str(num).ljust(col_width) for num in row))
row1 = int(input('Введите строку, откуда вы хотите переместить элемент: ')) - 1
column1 = int(input('Введите столбец, откуда вы хотите переместить элемент: ')) - 1
row2 = int(input('Введите строку, куда вы хотите переместить элемент: ')) - 1
column2 = int(input('Введите столбец, куда вы хотите переместить элемент: ')) - 1
if area[row2][column2] == ' ':
area[row1][column1], area[row2][column2] = area[row2][column2], area[row1][column1]
else:
print('Ячейка занята')
continue
print('Поздравляю! Вы победили')
#include <iostream>
int gg(int k, int p, double m)
{
p = (k >= p) ? p : p / k;
return (m * 2 * p);
}
int main()
{
int k, p;
double m;
std::cout << "Сколько котлет можно одновременно положить на сковороду ? ";
std::cin >> k;
std::cout << "Сколько минут жарится одна сторона котлеты ? ";
std::cin >> m;
std::cout << "Сколько котлет вы будете жарить ? ";
std::cin >> p;
std::cout << p << " котлет пожарятся с двух сторон минимум за " << gg(k, p, m) << " минут";
}
type omas=array[1..n] of integer;
Procedure Del (var z:omas; k:byte);
var i:byte;
begin
for i:=k to n-1 do z[i]:=z[i+1];
z[n]:=0;
end;
var a:omas; i,b:integer;
begin
Randomize;
for i:=1 to n do
begin
a[i]:=random(20);
write(a[i]:4);
end;
writeln;
b:=6;
i:=1;
while (i<=n)and(a[i]<>b) do i:=i+1;
if i<=n then
begin
Del(a,i);
writeln('Размерность массива = ',n-1);
for i:=1 to n-1 do write(a[i]:4);
writeln;
end else writeln('Массив не изменился');
end.
Пример:
12 13 6 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18
Размерность массива = 19
12 13 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18