Здравствуйте. Пару дней назад решил сделать "консольную игру" на Python (обычная забава, ничего серьезного). Суть в том, что там можно перемещаться по "миру" задавая координаты по X и Z. Мир 100х100 пикселей, соответственно максимальные координаты от 100 до 100. Это просто ванильный Python, никаких библиотек не используется. Карта рисуется в Paint для понимания происходящего. (Никаких графических библиотек) И вот в чём проблема: Я хочу сделать так, чтобы на карте обозначались "территории". Допустим, "нарисовать" на карте прямоугольник (помним, что рисуем в Paint, в консоли только задаём координаты). Нужно как-то задать координаты прямоугольника, при попадании внутрь которого, приложение бы выводило "В прямоугольнике" (с использованием if, я не знаю), но при выходе за его пределы приложение выводило бы "Ничего". Я до сих пор не знаю как это реализовать, т.к. не работал раньше с этим.
if координата X персонажа > левой точки X прямоугольника and координата X персонажа < правой точки X прямоугольника and координата Y персонажа > нижней точки Y прямоугольника and координата Y персонажа < высшей точки прямоугольника:
#do
Ну это если прямоугольник лежит ровно. Если же он там под углом, то нужно целый массив координат, который в объединении получает эту фигуру
Для этого и программирование то не нужно.
Чтобы точка (xi,yi) принадлежала области (допустим прямоугольника от x0,y0 до x1,y1), нужно чтобы xi лежала на отрезке [x0, x1], а yi соответственно на [y0,y1]
Здравствуйте. В coor вставляете координаты прямоугольника и все.
x = int(input("Координата по X:"))
z = int(input("Координата по Z:"))
coor = [0, 0, 3, 3] # 0, 0 - координата верхнего левого угла, 3, 3 - координата нижнего правого угла прямоугольника (x, z)
if coor[0] <= x <= coor[2] and coor[1] <= z <= coor[3]:
print("В прямоугольнике")
else:
print("Ничего")
Если бы нас обучали этому на информатике. Да к тому же на информатике нас учили максимум выводить Hello World, и это даже не шутка. После замены учителя перестали изучать Python вообще.
Developer, Знаешь, если бы мне было ведомо как использовать if в данном случае, этого вопроса бы здесь не было. Зачем отвечать мне, если не предлагается ни малейшей помощи? Просто показать своё остроумие, или поиздеваться? Ладно если не давать сразу код, так может хоть ссылку на какую-то статью с малейшим кол-вом информации, или книгу? Нет?
Zero None, я тебе дал подсказку - учебник по информатике. Я серьёзно. Там есть ответ на твой вопрос.
Никаких статей и ссылок больше не надо. Ты даже этой информацией не смогла воспользоваться.
У меня просто пригорает от несамостоятельных школьниц