Михаил Леднев – Код Тени (страница 11)
defi test gravity control():
Тестирование контроля гравитации в песочнице
printi( ТЕСТ КОНТРОЛЯ ГРАВИТАЦИИ… )
Создаем тестовые объекты
test objects = sandbox.create test objects(5)
Применяем гравитацию
ifor i, obj in enumerate(test objects):
gravity strength = 0.5 + (i 0.2)
result = sandbox.test reality hack(
adjust gravity ,
target : obj, multiplier : gravity strength
)
ifi result[ success ]:
printi(f ОБЪЕКТ i : ГРАВИТАЦИЯ gravity strength g )
log skill progress( gravity control , 10)
elsei:
printi(f ОБЪЕКТ i : ОШИБКА result[ error ] )
test gravity control()
НАБЛЮДЕНИЕ: Объекты в песочнице начали падать с разной скоростью. Один парил в воздухе, другой притянулся к полу с огромной силой.
ЭКСПЕРИМЕНТ 2: МОДИФИКАЦИЯ ПАМЯТИ NPC
defi test memory manipulation():
Тестирование перезаписи памяти
printi( ТЕСТ МОДИФИКАЦИИ ПАМЯТИ… )
Создаем тестового NPC
test npc = sandbox.create sentient entity()
original memory = test npc.recall memory( childhood )
Внедряем ложное воспоминание
false memory =
event : встреча с инопланетянами ,
emotion : удивление ,
details : они показали мне код вселенной
result = sandbox.test reality hack(
modifiy memory ,
target : test npc, memory key : childhood , new memory : false memory
)
ifi result[ success ]:
new memory = test npc.recall memory( childhood )
ifi new memory[ event ] == встреча с инопланетянами :
printi( ПАМЯТЬ УСПЕШНО ИЗМЕНЕНА! )
log skill progress( memory manipulation , 15)
Проверяем последствия
analyze behavior changes(test npc)
СИСТЕМА ПРОКАЧКИ НАВЫКОВ
По мере экспериментов я разработал систему отслеживания прогресса:
class SkillSystem:
defi init (self):
self.skills =
reality perception : level : 1, xp : 0, max xp : 100 ,
code manipulation : level : 1, xp : 0, max xp : 150 ,
system hacking : level : 1, xp : 0, max xp : 200 ,
dimension control : level : 1, xp : 0, max xp : 250
self.unlocked abilities = []
defi gain xp(self, skill, amount):
Получение опыта для навыка
self.skills[skill][ xp ] += amount
Проверка уровня
ifi self.skills[skill][ xp ] .= self.skills[skill][ max xp ]:
self.level up(skill)
defi level up(self, skill):
Повышение уровня навыка
self.skills[skill][ level ] += 1
self.skills[skill][ xp ] = 0
self.skills[skill][ max xp ] = int(self.skills[skill][ max xp ] 1.5)
printi(f УРОВЕНЬ skill ПОВЫШЕН ДО self.skills[skill][ level ] ! )
Разблокировка новых способностей