Форум Anivisual закрыт. Вы не можете создавать новые темы или писать ответы. Форум будет работать в режиме архива.
Пользователи · Поиск по форуму · · · Регистрация

  • Страница 1 из 1
  • 1
Базовый календарь,ошибка

partizein

#1
Есть довольно таки простой код:
label days:
if day_of_weak == 1 and day_of_weak <=5:
"working"
$day_of_weak +=1
jump days
if day_of_weak ==6 and day_of_weak <=7:
"Yeeah"
$day_of_weak +=1
jump days
НО,при запуске он тупо пропускает Jump cry и идет дальше,вопрос почему?
Ну ок,подумал я,тупой ты ренпай.Буду тебя насильно перепрыгивать в нужное место
Дописал еще один лейбл для распрыжки:
label start:
$day_of_weak = 1
"ok"
jump days

label nextd:
"ok made it"
jump days

label days:
if day_of_weak == 1 and day_of_weak <=5:
"working"
$day_of_weak +=1
jump nextd
if day_of_weak ==6 and day_of_weak <=7:
"Yeeah"
$day_of_weak +=1
jump nextd
Непомоголо cry втупую пропускает лейбл days,как будто его нет.

Прописал для каждого дня отдельную проверку angry :
label start:
$day_of_weak = 1
"ok"
jump days

label days:

if day_of_weak == 1:
"Monday"
$day_of_weak +=1
jump nextd
if day_of_weak == 2:
"Tuesday"
$day_of_weak +=1
jump nextd
if day_of_weak == 3:
"Wednesday"
$day_of_weak +=1
jump nextd
if day_of_weak == 4:
"Thursday"
$day_of_weak +=1
jump nextd
if day_of_weak == 5:
"Friday"
$day_of_weak +=1
jump nextd
if day_of_weak == 6:
"Saturday"
$day_of_weak +=1
jump nextd
if day_of_weak ==7:
"Sunday"
$day_of_weak -=6
jump nextd

label nextd:
"ok made it"
jump days
Только так заработало madness ,но сильно дохера текста и работы,хотелось бы код покомпактней,кто че может посоветовать?
Сообщение отредактировал partizein - Вторник, 26/Июн/2018, 11:58
Пользуйтесь ребята

Ikuku

#2
И первый вариант, и второй, с распрыжкой, технически рабочие, проблема не в конструкции, а в условии в if:

Код
if day_of_weak == 1 and day_of_weak <=5:

читается как "если Х равен 1 и одновременно с этим Х меньше либо равен 5", т.е. единственное значение переменной, которое удовлетворяет такому условию - это 1. В первом куске кода оно не выполняется никогда, т.к. переменную вы до вхождения в него не объявили, и значения у нее нет, во втором, с распрыжкой, выполняется только раз, потому что переменная была объявлена ($day_of_weak = 1). Если исправить на:
Код
if day_of_weak >= 1 and day_of_weak <=5:

- все заработает. Аналогично со вторым условием:
Код
if day_of_weak >=6 and day_of_weak <=7:

Можно свернуть их в if/else, но нужно ли это, зависит от конкретной задачи, пока что такой код будет просто циклить нас в метке days, пока дней не станет 8 а потом выпадать на следующую по тексту в файле метку:
Код
label days:
    if day_of_weak >= 1 and day_of_weak <=5:
        "working"

        $day_of_weak +=1
        jump days

    elif day_of_weak >=6 and day_of_weak <=7:
        "Yeeah"

        $day_of_weak +=1
        jump days

partizein

#4
Tester, запустил твой код 3.2:
init:
----$ dayer = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"]
label days:
----if ((day_of_weak >= 1) and (day_of_weak <=7)):
--------"[dayer[day_of_weak - 1]]"
--------if ((day_of_weak == 6) or (day_of_weak == 7)):
------------"Выходной :("
--------else:
------------"Рабочий!"
----else:
--------$ day_of_weak = 0
----$ day_of_weak +=1
----if (day_of_weak > 7):
--------$ day_of_weak = 1
----jump days
Ошибка:

While running game code:
File "game/script.rpy", line 38, in script
"[dayer[day_of_weak -= 1]]"
TypeError: list indices must be integers, not unicode

вообще нихера не понял,к чему здесь юникод?
Сообщение отредактировал partizein - Вторник, 26/Июн/2018, 17:58
Пользуйтесь ребята

partizein

#5
Вообщем,насчет [dayer[day_of_weak - 1]] Тут вся проблема была в day_of_weak - 1 питон тупо не разрешает вставлять сюда что либо,кроме цифр,а зря было бы намного удобнее.
Долго мучился как бы сделать код покомпактнее д еще и со списком($ dayer = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"])
Долго думал.
Забил,помиксовал с официальным уроком


Получился такой код:

funny Пользуйтесь ребята love
Сообщение отредактировал partizein - Вторник, 26/Июн/2018, 22:19
Пользуйтесь ребята
  • Страница 1 из 1
  • 1
Поиск: