Discuss Scratch

Kotik_Meow8
Scratcher
69 posts

Идеи для создания новых функций в Scratch

Vaduha_2--1 wrote:

Kotik_Meow8 wrote:

Vaduha_2--1 wrote:

Очевидно, хочется Онлайна!
Тоесть пользователи смогут играть в мультиплеере. Основной смысл в двух вещах:
1) Хотелось бы сохранение прогресса:
Прошёл я 5 уровней в игрульке, выключил ПК и лёг спать. Проснулся и вынужден играть сначала. А так прогресс бы сохранялся на
аккаунте. Я понимаю что это занимает много памяти (для каждого аккаунта много проектов), но насколько это возможно хотелось бы.
2) Мультиплеер
Реализовать можно либо с помощью ID игрока или имена пользователей.

Для этого нужен список всех игроков.
Для удобства можно добавить блок:
(Случайное число от () до () кроме [ v])
Где последняя переменная должен быть список чисел.

Также переменные должны разделятся на публичные (переменная одинаковая для всех игроков) или локальные (только для одного пользователя)

Пример кликера онлайн:
Спрайт 1
when this sprite clicked
if <(costume [number v]) = (1)> then
ask [] and wait
replace item (item # of (username) in [Список игроков v]) of [ID комнат игроков v] with (answer)
repeat until <not <(answer) = []>>
ask [] and wait
replace item (item # of (username) in [Список игроков v]) of [ID комнат игроков v] with (answer)
end
set [ID v] to (answer)
switch costume to [Кнопка выхода v]
if <not <[ID комнат v] contains (answer) ?>> then
add (answer) to [ID комнат v]
add [0] to [Результаты комнаты v]
end
broadcast [Показать v]
else
replace item (item # of (username) in [Список игроков v]) of [ID комнат игроков v] with []
switch costume to [Ввод ID v]
broadcast [Скрыть v]
end

when green flag clicked
forever
if <not <(item (item # of (username) in [Список игроков v]) of [ID комнат игроков v] :: list) = []>> then
show list [Список комнаты (локальный) v]
set [I v] to [1]
repeat until <(length of [Список игроков v] :: list) < (I)>
if <(item (I) of [ID комнат игроков v] :: list) = (ID)> then
add (item (I) of [Список игроков v] :: list) to [Список комнаты (локальный) v]
end
change [I v] by (1)
end
wait (0.1) secs
delete all of [Список комнаты (локальный) v]
else
hide list [Список комнаты (локальный) v]
end
end

Спрайт 2

when I receive [Показать v]
show

when I receive [Скрыть v]
hide

when this sprite clicked
replace item (item # of (ID) in [ID комнат v]) of [Результаты комнат v] with ((item (item # of (ID) in [ID комнат v]) of [Результаты комнат v] :: list) + (1))

При этом из локальных только
I
ID
Список комнаты (локальный)

Теперь вы можете зайти в комнату с любым именем и вместе с другими игроками кликать на кнопку.
Легко, но классно!
ничего не понятно
Более простой пример:
К примеру я хочу сделать игру где пользователи получают “1” (что-то типа статуса) причём только когда я (создатель игры) находится на сервере:
when green flag clicked
forever
if <[Список игроков v] contains [Vaduha_2--1] ?> then
set [Статус v] to [1]
end
end

Более детально:
к примеру на сервере находятся:
Вася
Петя
Лёша

Тогда список игроков будет состоять из 3 элементов:
1) Вася
2) Петя
3) Лёша
Пете захотелось кушать, и он вышел из игры.
Тогда список обновится:
1) Вася
2) Лёша
И (это кстати я забыл сказать) сработает блок события:
Игрок (X) вышел. Его место: (Y)
(Можно переименовать)
В данном случае X = Петя, а Y = 2 потому что он был на втором месте перед тем как вышел.
Но сейчас такого блока нет.
Теперь захожу Я. Список обновился:
1) Вася
2) Лёша
3) Vaduha_2–1

Теперь (следуя коду) условие Если (а именно содержит ли список игроков Vaduha_2–1?), а значит локальная для каждого игрока переменная Статус изменяется на 1.
Теперь у Васи, Лёши и Vaduha_2–1 Статус = 1
Vaduha_2–1 выходит из игры.
Список:
1) Вася
2) Лёша

Заходит Марина:
1) Вася
2) Лёша
3) Марина

Если мы посмотрим глазами Марины то Статус = 0, а глазами Васи Статус = 1 (это локальная переменная)
Теперь уже Вася уходит поспать, выключает компьютер.
Заходит на следующий день, а статус так и остался равным 1 (его глазами естественно).

Теперь более подробно?
кстати я создал блогк
turn video [видео в ютубе v]
Sasha-mouse
Scratcher
100+ posts

Идеи для создания новых функций в Scratch

Kotik_Meow8 wrote:

Vaduha_2--1 wrote:

Kotik_Meow8 wrote:

Vaduha_2--1 wrote:

Очевидно, хочется Онлайна!
Тоесть пользователи смогут играть в мультиплеере. Основной смысл в двух вещах:
1) Хотелось бы сохранение прогресса:
Прошёл я 5 уровней в игрульке, выключил ПК и лёг спать. Проснулся и вынужден играть сначала. А так прогресс бы сохранялся на
аккаунте. Я понимаю что это занимает много памяти (для каждого аккаунта много проектов), но насколько это возможно хотелось бы.
2) Мультиплеер
Реализовать можно либо с помощью ID игрока или имена пользователей.

Для этого нужен список всех игроков.
Для удобства можно добавить блок:
(Случайное число от () до () кроме [ v])
Где последняя переменная должен быть список чисел.

Также переменные должны разделятся на публичные (переменная одинаковая для всех игроков) или локальные (только для одного пользователя)

Пример кликера онлайн:
Спрайт 1
when this sprite clicked
if <(costume [number v]) = (1)> then
ask [] and wait
replace item (item # of (username) in [Список игроков v]) of [ID комнат игроков v] with (answer)
repeat until <not <(answer) = []>>
ask [] and wait
replace item (item # of (username) in [Список игроков v]) of [ID комнат игроков v] with (answer)
end
set [ID v] to (answer)
switch costume to [Кнопка выхода v]
if <not <[ID комнат v] contains (answer) ?>> then
add (answer) to [ID комнат v]
add [0] to [Результаты комнаты v]
end
broadcast [Показать v]
else
replace item (item # of (username) in [Список игроков v]) of [ID комнат игроков v] with []
switch costume to [Ввод ID v]
broadcast [Скрыть v]
end

when green flag clicked
forever
if <not <(item (item # of (username) in [Список игроков v]) of [ID комнат игроков v] :: list) = []>> then
show list [Список комнаты (локальный) v]
set [I v] to [1]
repeat until <(length of [Список игроков v] :: list) < (I)>
if <(item (I) of [ID комнат игроков v] :: list) = (ID)> then
add (item (I) of [Список игроков v] :: list) to [Список комнаты (локальный) v]
end
change [I v] by (1)
end
wait (0.1) secs
delete all of [Список комнаты (локальный) v]
else
hide list [Список комнаты (локальный) v]
end
end

Спрайт 2

when I receive [Показать v]
show

when I receive [Скрыть v]
hide

when this sprite clicked
replace item (item # of (ID) in [ID комнат v]) of [Результаты комнат v] with ((item (item # of (ID) in [ID комнат v]) of [Результаты комнат v] :: list) + (1))

При этом из локальных только
I
ID
Список комнаты (локальный)

Теперь вы можете зайти в комнату с любым именем и вместе с другими игроками кликать на кнопку.
Легко, но классно!
ничего не понятно
Более простой пример:
К примеру я хочу сделать игру где пользователи получают “1” (что-то типа статуса) причём только когда я (создатель игры) находится на сервере:
when green flag clicked
forever
if <[Список игроков v] contains [Vaduha_2--1] ?> then
set [Статус v] to [1]
end
end

Более детально:
к примеру на сервере находятся:
Вася
Петя
Лёша

Тогда список игроков будет состоять из 3 элементов:
1) Вася
2) Петя
3) Лёша
Пете захотелось кушать, и он вышел из игры.
Тогда список обновится:
1) Вася
2) Лёша
И (это кстати я забыл сказать) сработает блок события:
Игрок (X) вышел. Его место: (Y)
(Можно переименовать)
В данном случае X = Петя, а Y = 2 потому что он был на втором месте перед тем как вышел.
Но сейчас такого блока нет.
Теперь захожу Я. Список обновился:
1) Вася
2) Лёша
3) Vaduha_2–1

Теперь (следуя коду) условие Если (а именно содержит ли список игроков Vaduha_2–1?), а значит локальная для каждого игрока переменная Статус изменяется на 1.
Теперь у Васи, Лёши и Vaduha_2–1 Статус = 1
Vaduha_2–1 выходит из игры.
Список:
1) Вася
2) Лёша

Заходит Марина:
1) Вася
2) Лёша
3) Марина

Если мы посмотрим глазами Марины то Статус = 0, а глазами Васи Статус = 1 (это локальная переменная)
Теперь уже Вася уходит поспать, выключает компьютер.
Заходит на следующий день, а статус так и остался равным 1 (его глазами естественно).

Теперь более подробно?
кстати я создал блогк
turn video [видео в ютубе v]
Я не понял, что он должен делать.
Vaduha_2--1
Scratcher
4 posts

Идеи для создания новых функций в Scratch

Kotik_Meow8 wrote:

turn video [видео в ютубе v]
Это расценивать как сарказм?

Last edited by Vaduha_2--1 (Nov. 17, 2024 12:47:40)

UJOP999
Scratcher
100+ posts

Идеи для создания новых функций в Scratch

Kotik_Meow8 wrote:

кстати я создал блогк
turn video [видео в ютубе v]

Scratch Team навряд-ли понравится такая идея. Большая часть аудитории YouTube это - 14+.
Kotik_Meow8
Scratcher
69 posts

Идеи для создания новых функций в Scratch

UJOP999 wrote:

Kotik_Meow8 wrote:

кстати я создал блогк
turn video [видео в ютубе v]

Scratch Team навряд-ли понравится такая идея. Большая часть аудитории YouTube это - 14+.
я включю видео Желейнотельного валеры
Kotik_Meow8
Scratcher
69 posts

Идеи для создания новых функций в Scratch

Kotik_Meow8 wrote:

UJOP999 wrote:

Kotik_Meow8 wrote:

кстати я создал блогк
turn video [видео в ютубе v]

Scratch Team навряд-ли понравится такая идея. Большая часть аудитории YouTube это - 14+.
я включю видео Желейнотельного валеры
или влада а4
kattysha
Scratcher
35 posts

Идеи для создания новых функций в Scratch

Есть идея блока (может кто-то его уже предлагал)
Многие знают есть блоки
play sound [ v]
И
stop all sounds
Но иногда надо остановить некоторые звуки
А не все сразу или после остановки продолжить какой-то звук
Поэтому я придумал блоки
resume sound [ v]
И
stop [ v] sound
Как вы уже поняли функционал их прост:
Продолжить звук: продолжает звук на том месте где остановился,
Остановить звук: останавливает определённый звук.
kattysha
Scratcher
35 posts

Идеи для создания новых функций в Scratch

UJOP999 wrote:

Kotik_Meow8 wrote:

кстати я создал блогк
turn video [видео в ютубе v]

Scratch Team навряд-ли понравится такая идея. Большая часть аудитории YouTube это - 14+.

И специально печатать картинку 16:9 на итак маленьком экране 4:3 не имеет логики
greg1234567890f
Scratcher
1000+ posts

Идеи для создания новых функций в Scratch

kattysha wrote:

UJOP999 wrote:

Kotik_Meow8 wrote:

кстати я создал блогк
turn video [видео в ютубе v]

Scratch Team навряд-ли понравится такая идея. Большая часть аудитории YouTube это - 14+.

И специально печатать картинку 16:9 на итак маленьком экране 4:3 не имеет логики
Некоторые видео на ютубе 4:3
s_ecialkai
Scratcher
81 posts

Идеи для создания новых функций в Scratch

<Устройство пользователя это [PC v]>
<Устройство пользователя это [Мобильное v]>
Позволит самому контролировать когда надо мобильный джойстик и когда WASD
kattysha
Scratcher
35 posts

Идеи для создания новых функций в Scratch

greg1234567890f wrote:

kattysha wrote:

UJOP999 wrote:

Kotik_Meow8 wrote:

кстати я создал блогк
turn video [видео в ютубе v]

Scratch Team навряд-ли понравится такая идея. Большая часть аудитории YouTube это - 14+.

И специально печатать картинку 16:9 на итак маленьком экране 4:3 не имеет логики
Некоторые видео на ютубе 4:3

Но только НЕКОТОРЫЕ
Kotik_Meow8
Scratcher
69 posts

Идеи для создания новых функций в Scratch

kattysha wrote:

Есть идея блока (может кто-то его уже предлагал)
Многие знают есть блоки
включить звук [ v]::sound
И
остановить все звуки
Но иногда надо остановить некоторые звуки
А не все сразу или после остановки продолжить какой-то звук
Поэтому я придумал блоки
продолжить звук [ v]::sound
И
остановить звук [ v] ::sound
Как вы уже поняли функционал их прост:
Продолжить звук: продолжает звук на том месте где остановился,
Остановить звук: останавливает определённый звук.
Перевел и поправил
Kotik_Meow8
Scratcher
69 posts

Идеи для создания новых функций в Scratch

Сделай те блок
перейти в скретч [1.4 v]::#1f9b00
kattysha
Scratcher
35 posts

Идеи для создания новых функций в Scratch

Help_on_scrarch-1 wrote:

1. добавить возможность создавать ботов для своих студий в редакторе скретч. например, для модерации.
2. создать такие блоки:
(количество спрайтов)
(количество блоков кода в спрайте)
Количество спрайтов можно увидеть через @дд0ны скретча
kattysha
Scratcher
35 posts

Идеи для создания новых функций в Scratch

Kotik_Meow8 wrote:

kattysha wrote:

Есть идея блока (может кто-то его уже предлагал)
Многие знают есть блоки
включить звук [ v]::sound
И
остановить все звуки
Но иногда надо остановить некоторые звуки
А не все сразу или после остановки продолжить какой-то звук
Поэтому я придумал блоки
продолжить звук [ v]::sound
И
остановить звук [ v] ::sound
Как вы уже поняли функционал их прост:
Продолжить звук: продолжает звук на том месте где остановился,
Остановить звук: останавливает определённый звук.
Перевел и поправил
Спасибо.
kattysha
Scratcher
35 posts

Идеи для создания новых функций в Scratch

Kotik_Meow8 wrote:

Сделай те блок
перейти в скретч [1.4 v]::#1f9b00
Объясняю : во первых хоть и все поймут но некоторым надо подробно объяснить логику блока . Во вторых : зайди в веб архив вбей сайт скретча найди первый снапшот (версия сайта заснятая вэйбэк машиной в определённое время : час,минута,секунда) сайта и включи его.
Или просто установи Адоб аир и поставь с сайта скретча 1.4/2.0 версии скретча ведь стилизацию сайта менять блоками нельзя а оформление увы всегда будет таким.
greg1234567890f
Scratcher
1000+ posts

Идеи для создания новых функций в Scratch

kattysha wrote:

Kotik_Meow8 wrote:

Сделай те блок
перейти в скретч [1.4 v]::#1f9b00
Объясняю : во первых хоть и все поймут но некоторым надо подробно объяснить логику блока . Во вторых : зайди в веб архив вбей сайт скретча найди первый снапшот (версия сайта заснятая вэйбэк машиной в определённое время : час,минута,секунда) сайта и включи его.
Или просто установи Адоб аир и поставь с сайта скретча 1.4/2.0 версии скретча ведь стилизацию сайта менять блоками нельзя а оформление увы всегда будет таким.
Варианты:
  1. Написать в консоль “sudo apt install scratch” и будет скретч 1.4 (только для Debian и Ubuntu)
  2. Попробовать онлайн на https://scratcharchive.naleksuh.com/ (нажми “run” возле версии которую вы хотите запустить)
  3. Скачать с официального сайта, но в Скретч 1.4 движок был не Adobe Air, а Squeak

Last edited by greg1234567890f (Dec. 3, 2024 10:19:06)

Crumbcrumbtheducky
Scratcher
7 posts

Идеи для создания новых функций в Scratch

AGScratcherBest-2 wrote:

Вернуть блок Все сразу, этот блок выглядит вот так:

все сразу {

}::control

этот блок выполняет всё что внутри без обновления экрана. Мне бы очень пригодился этот блок, а то мне надоело делать вот так:

когда я получу [game over v]
BOOM

определить BOOM
повторить (40) раз {
создать клон [самого себя v]
}::loop control
найди в поиске скретча “secret blocks” и он может быть в одном из проектов
Crumbcrumbtheducky
Scratcher
7 posts

Идеи для создания новых функций в Scratch

словари наверное будут хорошей идеей
(словарь там какой то)
Словари это то же самое что и списки, но каждый элемент что-то означает
Crumbcrumbtheducky
Scratcher
7 posts

Идеи для создания новых функций в Scratch

Kotik_Meow8 wrote:

Сделай те блок
перейти в скретч [1.4 v]::#1f9b00
хочешь в старый скретч вернутся? ничё с этим я не поделаю

Powered by DjangoBB