RU 🔒 Locked

Проблема с IF

Чернильный_гость #1208 18.08.2014 17:08 7 comments 7074 views

Может кто-то подскажет, почему следующий код при значениях: День недели - вторник, время 7 часов 00 минут выдает “Не вижу смысла туда идти, там же никого нет”, хотя вроде бы должен “Зачем туда идти? Сейчас же нерабочее время”?

!Если день недели вторник или четверг или суббота
IF varWeekDayNow=2 or varWeekDayNow=4 or varWeekDayNow=6:
	!Если время Больше 11 часов и меньше 15 часов
	IF varHourNow>11 and varHourNow<15:
		!Задаем присутствие в комнате (0-нет, 1 да)
		varSeviceRoomIn=rand(0,1)
		!Проверяем присутствие в комнате
		! Если (сейчас 11 часов и минут меньше 15) или (сейчас 14 часов и минут больше 45) или присутсвие в комнате
		IF (varHourNow=11 and varMinuteNow <= 15) or (varHourNow = 14 and varMinuteNow > 45) or varSeviceRoomIn = 1:
			!Если файл не скопирован
			IF varFile[0]=0: 
				MSG '<center>Не вижу смысла туда идти, у меня нет файла </center>'
				!Добавить 10 минут ко времени и выйти в холл
				gt 'procDateTime', 'locHall', 10
			ELSE
				gt 'locGuardRoom'
				
			END
		ELSE
			!Отсутствие в комнате
			varSeviceRoomIn=0
			!Если нет камеры
			IF varBrotherSpyCam1[2]	= 0:
				MSG '<center>Не вижу смысла туда идти, там же никого нет</center>'
				gt 'procDateTime', 'locHall', 10
			END
			!Если в запасе есть камеры, то войти
			IF varBrotherSpyCam1[2]	>0:			
				GT 'locServiceRoom'
			END
		END
	ELSE
		MSG 'Зачем туда идти? Сейчас же нерабочее время'
	END
ELSE
	MSG 'Зачем туда идти? Сегодня же нерабочий день'
END

Чернильный_гость,
ты ошибаешься. При указанных значениях код срабатывает верно. У твоих переменных другие значения.

Сделай прямо перед этим кодом вывод переменных на экран, и сам в этом убедишься.

Чернильный_гость #1208 18.08.2014 18:14 (11 years ago)

Вывел. Не вижу где ошибся

Я тоже не вижу, в чём проблема. Попробуй сделать вывод переменных непосредственно перед срабатывающим MSG (и закомментировать переход) - цифры те же?

Чернильный_гость #1208 18.08.2014 18:32 (11 years ago)

newsash,
Да, те же самые

Чернильный_гость #1208 18.08.2014 19:57 (11 years ago)

Все, разобрался.
В коде был участок, оказавшийся не помеченным, как комментарий. Там на операнде IF отсутствовало двоеточие. Спасибо за помощь.
Можно закрывать.

Чернильный_гость,
то есть ты сюда выложил не тот код, что у тебя в игре?

Чернильный_гость #1208 19.08.2014 03:13 (11 years ago)

Nex,
Да, только то, что должно было работать. Остатьное - комментарии. Как выснилось, по невнимательности одну строку не закомментил, а при выкладывании кода - удалил вместе с другой коммент-частью. За помощь спасибо.

Log in or Register to post comments.