RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2437544 views

Наверное очень тупой вопрос, но как сократить подобную строчку?

if x!1 and x!11 and x!21 and x!31 and x!41 and x!51 and x!61 and x!71 and x!81 and x!91:

и такую

if x!10 and x!20 and x!30 and x!40 and x!50 and x!60 and x!70 and x!80 and x!90 and x!100:
Aleks Versus Moderator 31.01.2017 04:47 (9 years ago)

DaGrozz,

if x mod 10 <> 1:

соответственно

if x mod 10 <> 0:

Если числа обязательно должны соответствовать перечисленным, задай пределы:

if (x mod 10 <> 1) and x<100:
if (x mod 10 <> 0) and x>0 and x<101:

Aleks Versus,
Спасибо.

test.qsp
Помогите пожалуйста с “этим”, я уже наверно совсем умом тронулся
Осуществление должно быть таким: зимой выводить фон зимних локаций(учитывая время), летом летние(также время)
этот фон разделяется на 2 типа: 100 пикселей и 300 пикселей
Проблема в следующем:
100 пикселей:
Зимой фон выводиться только днем(ночные игнорируются(выводятся дневные);
Летом - летние (тоже без ночных)

300 пикселей:
Зимой не выводятся совсем
Летом только дневные(ночью тоже дневные)

Переменные аля: $Фон_…_…_…[’<<$Текущая_локация>>’] - полностью заданы и работают
Локация: $Текущая_локация=CURLOC
Пожалуйста помогите кто может. хочу сделать большой проект, буду рад

Spoiler
if месяц>=12 or месяц<=2:
	if час>=18 and час<=7:
		if высота<300:
			$Фон=$Фон_100_зима_ночь['<<$Текущая_локация>>']&pl'Фон_100_зима_ночь'
		else
			$Фон=$Фон_300_зима_ночь['<<$Текущая_локация>>']&pl'Фон_300_зима_ночь'
		end
	else
		if высота<300:
			$Фон=$Фон_100_зима_день['<<$Текущая_локация>>']&pl'Фон_100_зима_день'
		else
			$Фон=$Фон_300_зима_день['<<$Текущая_локация>>']&pl'Фон_300_зима_день'
		end
	end
else
	if час>=22 and час<=6:
		if высота<300:
			$Фон=$Фон_100_лето_ночь['<<$Текущая_локация>>']&pl'Фон_100_лето_ночь'
		else
			$Фон=$Фон_300_лето_ночь['<<$Текущая_локация>>']&pl'Фон_300_лето_ночь'
		end
	else
		if высота<300:
			$Фон=$Фон_100_лето_день['<<$Текущая_локация>>']&pl'Фон_100_лето_день'
		else
			$Фон=$Фон_300_лето_день['<<$Текущая_локация>>']&pl'Фон_300_лето_день'
		end
	end
end

Вместо or поставь and в самом первом условии

Aleks Versus Moderator 01.02.2017 07:21 (9 years ago)

Grass,
:=D ну ты приколист)
jeesson,
проверил, с теми данными, что ты даёшь, по всем четырём случаям вывод правильный. Значит ты где-то ещё в коде ошибся. Если у тебя выводится правильная надпись в окне доп.описания, но выводится неправильный фон, проверяй пути к картинкам и сами картинки.
Если не сможешь сам отловить, пришли полностью игру.

game.rar я пытался - но не смог

Aleks Versus Moderator 01.02.2017 12:47 (9 years ago)

jeesson,
ошибок много. Исправляем все по ходу.

Во-первых, высоту заносишь в переменную width, а проверяешь в переменной высота.

Во-вторых, добавь на локации зарезервированные изображения строку

pl "час(<<час>>)"

и посмотри, какое значение будет выводиться. У меня выводится 33 часа и 21 час. Это значит, что есть проблемы с пересчётом времени, а так же последовательность: пересчёт-вывод, нарушена. На локации “статика” строку

gs 'Зарезервированные изображения'

нужно поместить в конец кода.

В-третьих, как-то я этого не заметил, и не обратил внимания при тесте:

час>=18 and час<=7

это невозможное условие, так как не может быть число одновременно больше 18 и меньше 7. Нужно ставитьor.

Проверять значение высоты проще так высота<300.

Вот исправленный файл 01022017-1546_1.qsp

огромное спасибо!
ну на счет width и высота согласен - аут.(не учел при редактировании в notepad - не сменил ее)
а по циклам: еще раз спасибо, буду внимателен следующий раз.

Помогите нубу)
Как задать максимальное колличество переменной? к примеру если здоровье=100 то выше этого значения подняться не может

if Здоровье>100:Здоровье=100

jeesson,
Это не практично, если игрок может увеличить здоровье.
Darvin432,
Лучше уж так:

if health>mhealth: health=mhealth

02022017-0609_primer.rar

Согласен с Oliver, максимальное значение здоровья (тепла, чего угодно) лучше делать переменной, а не константой. Вдруг ГГ бонус найдет или наоборот травму получит, и максимальное возможное значение показателя изменится (на время или навсегда)…

Самое лучшее решение, то, которое заставит думать :D

Grass,
Верно подмечено)

Log in or Register to post comments.