Forwarded from Программирование кф тейки
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
def main():
state = GameState(
player_name="Игрок",
location="тёмный коридор старого здания",
sound_anchors=setup_anchors()
)
print(f"Ты стоишь в {state.location}. Вокруг тишина, но ты знаешь: тишина обманчива.")
time.sleep(1.5)
# Сцена 1: первый намёк на опасность
msg = trigger_sound(state, "vial_clink")
if msg:
print(msg)
state.notes.append("Слышен металлический звон стекла. Возможно, яд или реагент.")
show_status(state)
time.sleep(2)
# Сцена 2: нарастание напряжения
msg = trigger_sound(state, "injured_breath")
if msg:
print(msg)
state.notes.append("Кто-то тяжело дышит неподалёку. Ранен? Или притворяется?")
show_status(state)
time.sleep(2)
# Сцена 3: кульминация — угроза максимального уровня
msg = trigger_sound(state, "darknet_typing")
if msg:
print(msg)
state.notes.append("Печатание на клавиатуре. Кто-то готовится к чему-то крупному.")
show_status(state)
# Финал: игрок может «собрать» картину по звукам
print("\nТы начинаешь понимать: звуки — это карта. Каждый из них говорит о чём-то важном.")
print("Подумай, что делать дальше: искать источник, прятаться, действовать?")
if name == "main":
main()
.
надеюсь вам этот пост был полезен.
завтра скорее всего будет пост по новой теме, всем удачи, с любовью .
ꪆ୧⏝︶#тейк @programming_cfbot
def main():
state = GameState(
player_name="Игрок",
location="тёмный коридор старого здания",
sound_anchors=setup_anchors()
)
print(f"Ты стоишь в {state.location}. Вокруг тишина, но ты знаешь: тишина обманчива.")
time.sleep(1.5)
# Сцена 1: первый намёк на опасность
msg = trigger_sound(state, "vial_clink")
if msg:
print(msg)
state.notes.append("Слышен металлический звон стекла. Возможно, яд или реагент.")
show_status(state)
time.sleep(2)
# Сцена 2: нарастание напряжения
msg = trigger_sound(state, "injured_breath")
if msg:
print(msg)
state.notes.append("Кто-то тяжело дышит неподалёку. Ранен? Или притворяется?")
show_status(state)
time.sleep(2)
# Сцена 3: кульминация — угроза максимального уровня
msg = trigger_sound(state, "darknet_typing")
if msg:
print(msg)
state.notes.append("Печатание на клавиатуре. Кто-то готовится к чему-то крупному.")
show_status(state)
# Финал: игрок может «собрать» картину по звукам
print("\nТы начинаешь понимать: звуки — это карта. Каждый из них говорит о чём-то важном.")
print("Подумай, что делать дальше: искать источник, прятаться, действовать?")
if name == "main":
main()
.
надеюсь вам этот пост был полезен.
завтра скорее всего будет пост по новой теме, всем удачи, с любовью .
ꪆ୧⏝︶#тейк @programming_cfbot
❤2
Forwarded from Программирование кф тейки
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
итак, я , сегодня исправим ошибки в написании якорей.
Сделаем систему «аудиальных подсказок»: у игрока есть список звуковых якорей, каждый из которых привязан к объекту/персонажу/событию. Когда якорь срабатывает, он не просто «пищит», а даёт контекст: кто рядом, что происходит, как это влияет на состояние героя (например, «слышно тяжёлое дыхание — персонаж ранен»).
Пример кода на Python (чистый, без внешних зависимостей)
python
import time
from dataclasses import dataclass, field
from typing import List, Optional
@dataclass
class SoundAnchor:
"""Звуковой якорь: уникальный звук, который мозг игрока запоминает и реагирует на него."""
name: str # например, "капанье воды"
tag: str # короткий ID для логики: "water_drip"
meaning: str # что это значит в мире игры: "рядом источник воды или протечка"
threat_level: int # 0–3: насколько звук опасен (0 = нейтральный, 3 = почти атака)
context_clue: str # подсказка, которую игрок получает, когда слышит звук
heard_count: int = 0 # сколько раз игрок уже слышал этот звук
is_familiar: bool = False # стал ли звук знакомым (после 3+ раз)
def hear(self) -> str:
self.heard_count += 1
if self.heard_count == 1:
return f"Ты слышишь странный звук: {self.name}. {self.context_clue}"
elif self.heard_count == 2:
return f"Снова этот звук: {self.name}. Он кажется знакомым…"
else:
self.is_familiar = True
return (f"Знакомый звук: {self.name}. Ты уже знаешь, что это значит: {self.meaning}. "
f"Уровень угрозы: {self.threat_level}/3.")
@dataclass
class GameState:
player_name: str
location: str
inventory: List[str] = field(default_factory=list)
sound_anchors: List[SoundAnchor] = field(default_factory=list)
current_threat: int = 0
notes: List[str] = field(default_factory=list) # внутриигровые заметки игрока
def setup_anchors() -> List[SoundAnchor]:
# Под твои прошлые темы: даркнет, яды, травмы
return [
SoundAnchor(
name="тихий металлический звон",
tag="vial_clink",
meaning="рядом флакон или ампула (возможно, яд)",
threat_level=2,
context_clue="Будто кто-то задел стеклянную колбу."
),
SoundAnchor(
name="тяжёлое, прерывистое дыхание",
tag="injured_breath",
meaning="рядом раненый или измученный человек",
threat_level=1,
context_clue="Дыхание неровное, будто человек держится из последних сил."
),
SoundAnchor(
name="быстрые, сухие нажатия клавиш",
tag="darknet_typing",
meaning="кто-то печатает в даркнете или на терминале",
threat_level=3,
context_clue="Характерный ритм клавиш — кто-то работает с чем-то важным."
),
SoundAnchor(
name="капанье воды",
tag="water_drip",
meaning="протечка, подвал, старая труба или ловушка с водой",
threat_level=0,
context_clue="Монотонное капанье где-то в темноте."
)
]
def trigger_sound(state: GameState, tag: str) -> Optional[str]:
for anchor in state.sound_anchors:
if anchor.tag == tag:
msg = anchor.hear()
# Обновляем угрозу
state.current_threat = max(state.current_threat, anchor.threat_level)
return msg
return None
def show_status(state: GameState):
print("\n--- Состояние героя ---")
print(f"Локация: {state.location}")
print(f"Угроза: {state.current_threat}/3")
if state.inventory:
print(f"Инвентарь: {', '.join(state.inventory)}")
else:
print("Инвентарь пуст.")
if state.notes:
print("Заметки:")
for n in state.notes:
print(f" • {n}")
print("-----------------------\n")
ꪆ୧⏝︶#тейк @programming_cfbot
итак, я , сегодня исправим ошибки в написании якорей.
Сделаем систему «аудиальных подсказок»: у игрока есть список звуковых якорей, каждый из которых привязан к объекту/персонажу/событию. Когда якорь срабатывает, он не просто «пищит», а даёт контекст: кто рядом, что происходит, как это влияет на состояние героя (например, «слышно тяжёлое дыхание — персонаж ранен»).
Пример кода на Python (чистый, без внешних зависимостей)
python
import time
from dataclasses import dataclass, field
from typing import List, Optional
@dataclass
class SoundAnchor:
"""Звуковой якорь: уникальный звук, который мозг игрока запоминает и реагирует на него."""
name: str # например, "капанье воды"
tag: str # короткий ID для логики: "water_drip"
meaning: str # что это значит в мире игры: "рядом источник воды или протечка"
threat_level: int # 0–3: насколько звук опасен (0 = нейтральный, 3 = почти атака)
context_clue: str # подсказка, которую игрок получает, когда слышит звук
heard_count: int = 0 # сколько раз игрок уже слышал этот звук
is_familiar: bool = False # стал ли звук знакомым (после 3+ раз)
def hear(self) -> str:
self.heard_count += 1
if self.heard_count == 1:
return f"Ты слышишь странный звук: {self.name}. {self.context_clue}"
elif self.heard_count == 2:
return f"Снова этот звук: {self.name}. Он кажется знакомым…"
else:
self.is_familiar = True
return (f"Знакомый звук: {self.name}. Ты уже знаешь, что это значит: {self.meaning}. "
f"Уровень угрозы: {self.threat_level}/3.")
@dataclass
class GameState:
player_name: str
location: str
inventory: List[str] = field(default_factory=list)
sound_anchors: List[SoundAnchor] = field(default_factory=list)
current_threat: int = 0
notes: List[str] = field(default_factory=list) # внутриигровые заметки игрока
def setup_anchors() -> List[SoundAnchor]:
# Под твои прошлые темы: даркнет, яды, травмы
return [
SoundAnchor(
name="тихий металлический звон",
tag="vial_clink",
meaning="рядом флакон или ампула (возможно, яд)",
threat_level=2,
context_clue="Будто кто-то задел стеклянную колбу."
),
SoundAnchor(
name="тяжёлое, прерывистое дыхание",
tag="injured_breath",
meaning="рядом раненый или измученный человек",
threat_level=1,
context_clue="Дыхание неровное, будто человек держится из последних сил."
),
SoundAnchor(
name="быстрые, сухие нажатия клавиш",
tag="darknet_typing",
meaning="кто-то печатает в даркнете или на терминале",
threat_level=3,
context_clue="Характерный ритм клавиш — кто-то работает с чем-то важным."
),
SoundAnchor(
name="капанье воды",
tag="water_drip",
meaning="протечка, подвал, старая труба или ловушка с водой",
threat_level=0,
context_clue="Монотонное капанье где-то в темноте."
)
]
def trigger_sound(state: GameState, tag: str) -> Optional[str]:
for anchor in state.sound_anchors:
if anchor.tag == tag:
msg = anchor.hear()
# Обновляем угрозу
state.current_threat = max(state.current_threat, anchor.threat_level)
return msg
return None
def show_status(state: GameState):
print("\n--- Состояние героя ---")
print(f"Локация: {state.location}")
print(f"Угроза: {state.current_threat}/3")
if state.inventory:
print(f"Инвентарь: {', '.join(state.inventory)}")
else:
print("Инвентарь пуст.")
if state.notes:
print("Заметки:")
for n in state.notes:
print(f" • {n}")
print("-----------------------\n")
ꪆ୧⏝︶#тейк @programming_cfbot
Forwarded from Программирование кф тейки
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
Где найти звуки/музыку без авторских прав для использования в коммерческих целях?
ꪆ୧⏝︶#тейк @programming_cfbot
Где найти звуки/музыку без авторских прав для использования в коммерческих целях?
ꪆ୧⏝︶#тейк @programming_cfbot
Forwarded from Программирование кф тейки
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
Мой любимый сайт с документацией зашкварился~
ꪆ୧⏝︶#тейк @programming_cfbot
Мой любимый сайт с документацией зашкварился~
ꪆ୧⏝︶#тейк @programming_cfbot
💘3❤2
Forwarded from Харухи Судзумия confession
с Харухи, но
🥹 𝙙𝙖𝙞𝙡𝙮+𝙘𝙛 𝙃𝙖𝙧𝙪𝙝𝙞 𝙎𝙪𝙯𝙪𝙢𝙞🥹
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dолбаебы CF
💢💢КАК ЖЕ ЗАЕБАЛИ ТУПЫЕ МАЛОЛЕТКИ В ТИКТОКЕ❗️❗️😠 😠
💢💢КАК ЖЕ Я УСТАЛА ОТ ИДИОТОВ РОДИТЕЛЕЙ ❗️❗️❗️😒 😒
💢💢КАКОЙ ЖЕ ОДНОКЛАССНИК МУДАК❗️❗️😡 😡
Или может тебя заебала конкретная группа дробаебов ?
Выскажись об этом!!
Здесь ты можешь высказаться о том как сильно тебя заебали ДОЛБАЕБЫ
Высказываться можно абсолютно обо всех темах и группах людей ,без осуждения. Нас всех уже заебали долбаебы
https://t.me/DolbaebiCF
https://t.me/DolbaebiCF
https://t.me/DolbaebiCF
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from vp confession санчез
[🎐]★— мне надоело искать
людей с которыми можно сделать
вп,хочу чтобы у меня был сразу
большой выбор!!
🌆
тебе в
«VP CONFESSION санчез» !!!
вп пост(0+) // набор в админы
Forwarded from Guardian Tales confession!
Это ты, стражник! Готов к сегодняшней тренировке?😎
Правила
Тв/кв пост
ВП пост (0+)
Семья
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Reactions confession 反
confession
✨ ищешь где попросить поставить реактов , а может найти реакты по определённому фд ?🥹 💘
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Achievements in games . . | 🪭 (الكعة Nn#SSs.1B3k @)
: 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
🔤 🔤 🔤 🔤 🔤 🔤 🔤 :
🥹 чекк какого бойца выбила !!
мм.. наконец-то прошла этот уровень !! поздравьте
зацените ачивку в игре🥹
🤩 own : nnasbekk
мм.. наконец-то прошла этот уровень !! поздравьте
зацените ачивку в игре
🔤 MP | @Achievementsgamescf_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from {Kao} Emoji confession
𝓬onfession . .
@caomoji_bot
🤩 own: nnasbekk
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from @ склад | warehouse 倉 (الكعة Nn#SSs.1B3k @)
⌗ ⋮ СКЛАД КАНАЛОВᅠ ׄ𝅄 𓏵( @warehousecff )🐾 ᅠ ׄ◝ ֺ - - confession 🎀
薄荷 ࿔࣪помогите найти кф по 🐾 . ⎯ׅ⎯ ꒰ есть ли кф на тему ??
🤩 own : nnasbekk
薄荷 ࿔࣪
| . .mp | @warehousecff_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Find admins | 行 💤 (الكعة Nn#SSs.1B3k @)
︎ 👣 ㅤ‘ㅤ𝒲elcome to the
⠀: ПОИСК АДМИНОВ confession
ищешь админов в свой канал ? — или хочешь разнообразить
свой список ?🥹
own : nnasbekk🥹 🥹
⠀: ПОИСК АДМИНОВ confession
ищешь админов в свой канал ? — или хоче
свой список ?
mp | @findadminscff_bot
own : nnasbekk
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from @ Laziness confession . . (الكعة Nn#SSs.1B3k @)
⸻ ㅤ‘ㅤ𝒲elcome to the
⠀⠀⠀. ⠀. . Laziness confession🎀
🎀 добро пожаловать —- в кф,
посвященный🤩 лени .. cc
🥹 own : nnasbekk
⠀⠀⠀. ⠀. . Laziness confession
посвященный
. | MP | @lazinesscff_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Программирование кф тейки
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
Это даёт максимум контроля над визуалом и позволяет делать нестандартные эффекты (например, «капающая» анимация текста, искажение картинки, «шум плёнки»).
---
## Что выбрать
- Если цель — сделать полноценную визуальную новеллу и быстро получить красивые эффекты — бери Ren’Py.
- Если хочешь экспериментировать с собственными визуальными приёмами, необычными переходами и частицами — делай на pygame.
- Если планируешь добавить звуковые якоря и спецэффекты для усиления погружения — лучше комбинировать графику (pygame/Ren’Py) и звук (
конец(2 часть(опять же если на 2 соо отправиться ;(. ))
надеюсь я вам как то помог. извините что долго не было, интернет отключали.
ꪆ୧⏝︶#тейк @programming_cfbot
Это даёт максимум контроля над визуалом и позволяет делать нестандартные эффекты (например, «капающая» анимация текста, искажение картинки, «шум плёнки»).
---
## Что выбрать
- Если цель — сделать полноценную визуальную новеллу и быстро получить красивые эффекты — бери Ren’Py.
- Если хочешь экспериментировать с собственными визуальными приёмами, необычными переходами и частицами — делай на pygame.
- Если планируешь добавить звуковые якоря и спецэффекты для усиления погружения — лучше комбинировать графику (pygame/Ren’Py) и звук (
pygame.mixer или playsound).конец(2 часть(опять же если на 2 соо отправиться ;(. ))
надеюсь я вам как то помог. извините что долго не было, интернет отключали.
ꪆ୧⏝︶#тейк @programming_cfbot
Forwarded from Программирование кф тейки
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
всем привет извините что пропал. ваша косатка .
сегодня мы будем писать коды для визуальных эффектов для новелл.
1 часть(если опять на два соо)
## Вариант 1. Визуальная новелла на движке Ren’Py (самый правильный путь)
Ren’Py — это движок именно для визуальных новелл. Пишется на скриптовом языке поверх Python, заточен под показ фонов, спрайтов, переходов, затемнений, тряски экрана и т.п.
Почему это лучше: тебе не нужно вручную рисовать кадры и обрабатывать клики — там уже есть готовые эффекты.
Пример скрипта (это не чистый Python, а синтаксис Ren’Py, но движок работает на Python):
Что можно делать: fade/dissolve/move/vpunch/hpunch, затемнения, плавные появления персонажей, тряску, затемнение краёв (vignette), эффекты «старой плёнки» и т.д.
Если ты делаешь новеллу всерьёз — лучше сразу в Ren’Py. Это стандарт индустрии для таких проектов.
---
## Вариант 2. Визуальные эффекты на pygame (если хочешь свой движок)
Подойдёт, если хочется полного контроля и «своего» стиля, например, мрачной ручной отрисовки. Тут ты сам делаешь переходы, тряску, частицы, вспышки.
### Пример: тряска экрана + затемнение + вспышка текста
Сначала:
Как это использовать в новелле:
- Тряска экрана (shake) — для внезапных событий (захлопнулась дверь, выстрел, удар).
- Затемнение (fade) — чтобы сменить сцену без «резкого скачка».
- Можно добавить поверх текста полупрозрачную красную «вспышку» для ощущения опасности.
---
## Вариант 3. Комбинированный подход: pygame для эффектов + текстовые блоки как в новеллах
Можно сделать «движок» на pygame, где:
- Фон и спрайты — картинки.
- Диалоги — текстовые блоки внизу.
- Переходы/тряска/частицы — через pygame.
ꪆ୧⏝︶#тейк @programming_cfbot
всем привет извините что пропал. ваша косатка .
сегодня мы будем писать коды для визуальных эффектов для новелл.
1 часть(если опять на два соо)
## Вариант 1. Визуальная новелла на движке Ren’Py (самый правильный путь)
Ren’Py — это движок именно для визуальных новелл. Пишется на скриптовом языке поверх Python, заточен под показ фонов, спрайтов, переходов, затемнений, тряски экрана и т.п.
Почему это лучше: тебе не нужно вручную рисовать кадры и обрабатывать клики — там уже есть готовые эффекты.
Пример скрипта (это не чистый Python, а синтаксис Ren’Py, но движок работает на Python):
label start:
scene bg_dark_room with fade # плавное появление фона
show sprite_victor nervous with dissolve
"Тени сгущаются… Ты слышишь шёпот?"
show sprite_victor scared with move # анимация позиции
"Виктор поёжился и сделал шаг назад."
with vpunch # эффект «тряски» экрана (вертикально)
"Внезапно дверь захлопнулась сама собой."
hide sprite_victor with dissolve
scene black with dissolve # затемнение сцены
"Тишина стала невыносимой."
return
Что можно делать: fade/dissolve/move/vpunch/hpunch, затемнения, плавные появления персонажей, тряску, затемнение краёв (vignette), эффекты «старой плёнки» и т.д.
Если ты делаешь новеллу всерьёз — лучше сразу в Ren’Py. Это стандарт индустрии для таких проектов.
---
## Вариант 2. Визуальные эффекты на pygame (если хочешь свой движок)
Подойдёт, если хочется полного контроля и «своего» стиля, например, мрачной ручной отрисовки. Тут ты сам делаешь переходы, тряску, частицы, вспышки.
### Пример: тряска экрана + затемнение + вспышка текста
Сначала:
pip install pygameimport pygame
import random
pygame.init()
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Новелла: мрачная сцена")
clock = pygame.time.Clock()
font = pygame.font.SysFont("Arial", 28)
# Цвета
BG_DARK = (15, 10, 20)
TEXT_GLOW = (255, 210, 100)
RED_FLASH = (200, 40, 40)
def shake_screen(intensity=8, frames=10):
"""Эффект тряски экрана"""
for _ in range(frames):
offset_x = random.randint(-intensity, intensity)
offset_y = random.randint(-intensity, intensity)
screen.fill(BG_DARK)
# Здесь ты бы рисовал фон/персонажа со смещением offset_x, offset_y
pygame.display.flip()
clock.tick(60)
def fade_out(duration=1.0):
"""Плавное затемнение экрана"""
overlay = pygame.Surface((WIDTH, HEIGHT))
alpha = 0
step = 255 / (duration * 60) # кадров в секунду
while alpha < 255:
alpha = min(alpha + step, 255)
overlay.fill((0, 0, 0))
overlay.set_alpha(alpha)
screen.blit(overlay, (0, 0))
pygame.display.flip()
clock.tick(60)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
# Эффект тряски при важном событии
shake_screen(intensity=10, frames=15)
# Затемнение для смены сцены
fade_out(duration=1.2)
screen.fill(BG_DARK)
text = font.render("Нажми ПРОБЕЛ для перехода сцены", True, TEXT_GLOW)
screen.blit(text, (100, 300))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Как это использовать в новелле:
- Тряска экрана (shake) — для внезапных событий (захлопнулась дверь, выстрел, удар).
- Затемнение (fade) — чтобы сменить сцену без «резкого скачка».
- Можно добавить поверх текста полупрозрачную красную «вспышку» для ощущения опасности.
---
## Вариант 3. Комбинированный подход: pygame для эффектов + текстовые блоки как в новеллах
Можно сделать «движок» на pygame, где:
- Фон и спрайты — картинки.
- Диалоги — текстовые блоки внизу.
- Переходы/тряска/частицы — через pygame.
ꪆ୧⏝︶#тейк @programming_cfbot
🥰1👾1