Программирование кф
53 subscribers
78 photos
75 links
Бот для тейков/связи -
Оформу не вставлять
Download Telegram
"╰ˎˊ˗ @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
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
Где найти звуки/музыку без авторских прав для использования в коммерческих целях?
ꪆ୧⏝︶#тейк @programming_cfbot
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
Мой любимый сайт с документацией зашкварился~
ꪆ୧⏝︶#тейк @programming_cfbot
💘31
🤩 🥹🌟очешь чем-то поделиться
с Харухи, но не знаешь где?🐱
🤩начит ты по адресу 🥹🥹
🥹𝙙𝙖𝙞𝙡𝙮+𝙘𝙛 𝙃𝙖𝙧𝙪𝙝𝙞 𝙎𝙪𝙯𝙪𝙢𝙞🥹
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
[🎐]★— мне надоело искать
людей с которыми можно сделать
вп,хочу чтобы у меня был сразу
большой выбор!!

🌆
тебе в
«VP CONFESSION санчез» !!!

вп пост(0+) // набор в админы
🌟
Это ты, стражник! Готов к сегодняшней тренировке?😎

◀️❗️ WELCOME TO THE GUARDIAN TALES CONFESSIONS ❗️▶️

📃 Здесь вы можете поделиться чем угодно по игре Guardian Tales! Творчеством, новостями, теориями, мнением, похвастаться удачным призывом и всем остальным, что связано с гт.

🟠 DNI: поддержка любого вида угнетения.
Правила ⬅️ клик
Тв/кв пост ⬅️ клик

💐 Бот для тейков @GuardianTalesConF_bot

ВП пост (0+) ⬅️ клик

Семья ⬅️ клик

🌟
Please open Telegram to view this post
VIEW IN TELEGRAM
🥹🥹🔤🔤🔤🔤🔤🔤🔤🔤🔤
confession🥹
ищешь где попросить поставить реактов , а может найти реакты по определённому фд ? 🥹💘
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Achievements in games . . | 🪭 (الكعة Nn#SSs.1B3k @)
: 🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤
🔤🔤 🔤🔤🔤🔤🔤:
🥹чекк какого бойца выбила !!
мм.. наконец-то прошла этот уровень !! поздравьте

зацените ачивку в игре 🥹
🔤MP | @Achievementsgamescf_bot

🤩own : nnasbekk
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from {Kao} Emoji confession
🥚🥹🔤🔤🔤🔤🔤
𝓬onfession . . 🎀
🥹🥹 𝓴анал для поиска премиум эмодзи, каомоджи, символов!🥹 🥹
🥹🥹 👋 𝓹iar 🥹price 🥹
@caomoji_bot
🤩own: nnasbekk
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from @ склад | warehouse 倉 (الكعة Nn#SSs.1B3k @)
⌗ ⋮ СКЛАД КАНАЛОВᅠ ׄ𝅄​​​​​ 𓏵( @warehousecff🐾 ᅠ ׄ◝ ⁠⁠⁠‌ֺ‌ - -      confession 🎀
薄荷 ࿔࣪ помогите найти кф по 🐾 . ⎯ׅ⎯ ꒰ есть ли кф на тему ??
| . .mp | @warehousecff_bot

🤩own : nnasbekk
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Find admins | 行 💤 (الكعة Nn#SSs.1B3k @)
👣ㅤ‘ㅤ𝒲elcome to the
⠀: ПОИСК АДМИНОВ confession
ищешь админов в свой канал ? — или хочешь разнообразить
свой список ?
🥹
mp | @findadminscff_bot

own : nnasbekk 🥹🥹
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩делали инфо км подслушано, быстрее заходи ! ! !
😻😻 меня бесит ... потому что ... !! !

😻😻 а меня смущает ... , она такое сделала!!

🎀😻 🤍 elcome to.. 🥹🥹. . 😻😻
🗒🥹🥹 OVERHEAD INFO CM🥹
navigation . ❤️
mp post 🤩 channel 🤩 bot for takes 🤩 admins & rules
🤩 support

🤩🥂🤩own :: syshka
🤩🤩 : co-own :: narkosha
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from @ Laziness confession . . (الكعة Nn#SSs.1B3k @)
⸻ ㅤ‘ㅤ𝒲elcome to the
⠀⠀⠀. ⠀. . Laziness confession 🎀
🎀добро пожаловать —- в кф,
посвященный 🤩 лени .. cc
. | MP | @lazinesscff_bot

🥹own : nnasbekk
Please open Telegram to view this post
VIEW IN TELEGRAM
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
Это даёт максимум контроля над визуалом и позволяет делать нестандартные эффекты (например, «капающая» анимация текста, искажение картинки, «шум плёнки»).

---



## Что выбрать

- Если цель — сделать полноценную визуальную новеллу и быстро получить красивые эффекты — бери Ren’Py.
- Если хочешь экспериментировать с собственными визуальными приёмами, необычными переходами и частицами — делай на pygame.
- Если планируешь добавить звуковые якоря и спецэффекты для усиления погружения — лучше комбинировать графику (pygame/Ren’Py) и звук (pygame.mixer или playsound).

конец(2 часть(опять же если на 2 соо отправиться ;(. ))

надеюсь я вам как то помог. извините что долго не было, интернет отключали.
🫍
ꪆ୧⏝︶#тейк @programming_cfbot
"╰ˎˊ˗ @programming_cf──ᯓ─ ᛝ .┈─ ╮╮
всем привет извините что пропал. ваша косатка 🫍.
сегодня мы будем писать коды для визуальных эффектов для новелл.

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 pygame

import 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
Forwarded from Unpopular Confession
ㅤㅤ•••   ﹙ 🌟 канал, в котором вы можете опубликовать| найти что-то по непопулярному фандому / игре / фильму / хобби и тп!!
ㅤㅤ
ㅤㅤㅤ❤️💜💜💜💜💜💜💜💜💜
💜💜💜💜💜💜💜💜💜💜
mp post , price. , c c
@unpopulartake_bot
own : nnasbekk
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Shopping confession | 💸 (الكعة Nn#SSs.1B3k @)
🐏🤩  🤍elcome to..🎀🤩
I SHOPPING CONFESSION
🐏купили что-то новое? хотите этим поделиться? 🥹
| . . mp | @shoppingcff_bot
🤩own : nnasbekk
Please open Telegram to view this post
VIEW IN TELEGRAM