М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
1234567891251
1234567891251
16.07.2021 18:03 •  Информатика

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


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

👇
Ответ:
Sorokinsonay
Sorokinsonay
16.07.2021

#Ето вся игра и бот не может выигравать постоянно если это по #правилам

import math

numberOfSticks=int(input('\nКоличество палочек в игре: '))

def printMessageIfNOSI1(message,userGetSticks,numberOfSticks_):

   if numberOfSticks_ == 1:

       print(message)

       return True    

   else:

       numberOfSticks_-=userGetSticks

   return (False,numberOfSticks_)

while numberOfSticks > 0:

   print('| ' * numberOfSticks)

   for stick in range(1,numberOfSticks+1):

       print(stick,end=' ')

   userGetSticks=int(input('\n\nСколько берете палочек? '))

   thereWillBeSticks=numberOfSticks-userGetSticks*2

   if 1 <= userGetSticks <= 3 and (thereWillBeSticks > 0 or userGetSticks==1):

       status, numberOfSticks = printMessageIfNOSI1('\nВы проиграли.',userGetSticks,numberOfSticks)

       if status is True: break

       status, numberOfSticks = printMessageIfNOSI1('\nВы выиграли.',userGetSticks,numberOfSticks)

       if status is True: break

   elif thereWillBeSticks <= 0:

       maxNumber=0

       

       for i in range(math.floor(numberOfSticks/2), 1, -1):

           if numberOfSticks-i*2 > 0:

               maxNumber=i

               break

       

       if maxNumber==0: maxNumber=1

       print("Вы можете выбрать число от 1 до {}".format(maxNumber))

   else:

       print('Не верный выбор')

4,7(43 оценок)
Открыть все ответы
Ответ:

/*Решение с обобщения формула Брахмагупты для произвольного четырехугольника. Функция perimeter(double x[], double y[]) возвращает значение периметра, функция area(double x[], double y[]) возвращает значение площади, пример использования и реализация приведены ниже. */

#include <iostream>

#include <math.h>

double perimeter(double x[], double y[]);

double area(double x[], double y[]);

int main()

{

   double x[4], y[4];

   std::cout << "Quadrangle ABCD\n";

   for (auto i = 0; i < 4; i++)

   {

       std::cout << "Input coordinates of point " << char(i + 'A') << ": ";

       std::cin >> x[i] >> y[i];

   }

   std::cout << perimeter(x, y) << " " << area(x, y);

   

   return 0;

}

double perimeter(double x[], double y[])

{

   double a[4], p = 0;

   for (auto i = 0; i < 4; i++)

   {

       a[i] = sqrt((x[i]-x[(i + 1) % 4]) * (x[i]-x[(i + 1) % 4]) + (y[i]-y[(i + 1) % 4]) * (y[i]-y[(i + 1) % 4]));

       p += a[i];

   }

   return p;

}

double area(double x[], double y[])

{

   double a[4], p = 0, s = 1, d[2];

   for (auto i = 0; i < 4; i++)

   {

       a[i] = sqrt((x[i]-x[(i + 1) % 4]) * (x[i]-x[(i + 1) % 4]) + (y[i]-y[(i + 1) % 4]) * (y[i]-y[(i + 1) % 4]));

       p += a[i];

   }

   for (auto i = 0; i < 4; i++)

   {

       s *= (p / 2- a[i]);

   }

   for (auto i = 0; i < 2; i++)

   {

       d[i] = sqrt((x[i]-x[i + 2]) * (x[i]-x[i + 2]) + (y[i]-y[i + 2]) * (y[i]-y[i + 2]));

   }

   s -= (a[0] * a[2] + a[1] * a[3] + d[0] * d[1]) * (a[0] * a[2] + a[1] * a[3] - d[0] * d[1]) / 4;

   s = sqrt(s);

   return s;

}

4,4(73 оценок)
Ответ:
alenasen12345
alenasen12345
16.07.2021
Var A,B: array [1..10,1..10] of integer; 
i, j, n: integer;
begin
Randomize;writeln('Введите размерность n');readln(n);writeln('Матрица А');
for i:=1 to n do begin
for j:=1 to n do  begin
A[i,j]:= random(10)+1;write(A[i,j]:3);end;writeln;end;
writeln('Матрица B');
for i:=1 to n do begin
for j:=1 to n do  begin
B[i,j]:= random(10)+2;write(B[i,j]:3);end;writeln;end;
writeln('ответ: матрица AB');
for i:=1 to n do
for j:=1 to n do  begin C[i,j]:=(A[i,j]*B[i,j]);end;writeln;
for i:=1 to n do  begin
for j:=1 to n do  begin
write(C[i,j]:3);end; writeln;end;
writeln('ответ :матрица ВА');
for i:=1 to n do
for j:=1 to n do begin D[i,j]:=(B[i,j]*A[i,j]);end; 
for i:=1 to n do begin
for j:=1 to n do begin
write(D[i,j]:3);end; writeln;end;
end.
4,4(44 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ