docs: CodeBoth для урока 16 «Лава-пол» (main+lava+finish)

This commit is contained in:
min 2026-06-09 20:11:16 +03:00
parent 2979104931
commit 1a6a92b431

View File

@ -2189,7 +2189,7 @@ game.self.onClick(() => {
<h3 className="lessonH">Шаг 4. Главный скрипт</h3> <h3 className="lessonH">Шаг 4. Главный скрипт</h3>
<ScriptKind kind="global" /> <ScriptKind kind="global" />
<Code>{`// === ИГРА «ЛАВА-ПОЛ» — главный скрипт === <CodeBoth game="lava-floor" script="g16_main">{`// === ИГРА «ЛАВА-ПОЛ» — главный скрипт ===
let won = false; let won = false;
@ -2215,7 +2215,7 @@ game.onMessage('win', () => {
const p = game.player.position; const p = game.player.position;
game.scene.spawnParticles('confetti', game.scene.spawnParticles('confetti',
{ x: p.x, y: p.y + 3, z: p.z }, { duration: 3, count: 3 }); { x: p.x, y: p.y + 3, z: p.z }, { duration: 3, count: 3 });
});`}</Code> });`}</CodeBoth>
<ul> <ul>
<li><code>game.onTick</code> следит, не провалился ли игрок <li><code>game.onTick</code> следит, не провалился ли игрок
совсем низко тогда возвращает его на старт;</li> совсем низко тогда возвращает его на старт;</li>
@ -2226,14 +2226,14 @@ game.onMessage('win', () => {
<h3 className="lessonH">Шаг 5. Скрипт лавы главное</h3> <h3 className="lessonH">Шаг 5. Скрипт лавы главное</h3>
<ScriptKind kind="object" on="невидимую зону «ЛаваЗона»" /> <ScriptKind kind="object" on="невидимую зону «ЛаваЗона»" />
<Code>{`// === Скрипт лавы === <CodeBoth game="lava-floor" script="g16_lava">{`// === Скрипт лавы ===
// Игрок коснулся лавы урон. У damage есть защита (i-frames), // Игрок коснулся лавы урон. У damage есть защита (i-frames),
// так что урон не каждый кадр, а раз в ~0.5 секунды. // так что урон не каждый кадр, а раз в ~0.5 секунды.
game.self.onTouch(() => { game.self.onTouch(() => {
game.player.damage(20); game.player.damage(20);
game.sound.play('hit'); game.sound.play('hit');
});`}</Code> });`}</CodeBoth>
<p>Разберём:</p> <p>Разберём:</p>
<ul> <ul>
<li><code>game.player.damage(20)</code> отнимает у игрока <li><code>game.player.damage(20)</code> отнимает у игрока
@ -2248,10 +2248,10 @@ game.self.onTouch(() => {
<h3 className="lessonH">Шаг 6. Скрипт финиша и проверка</h3> <h3 className="lessonH">Шаг 6. Скрипт финиша и проверка</h3>
<ScriptKind kind="object" on="зелёный финиш" /> <ScriptKind kind="object" on="зелёный финиш" />
<Code>{`// === Скрипт финиша === <CodeBoth game="lava-floor" script="g16_finish">{`// === Скрипт финиша ===
game.self.onTouch(() => { game.self.onTouch(() => {
game.broadcast('win'); // сообщаем главному скрипту о победе game.broadcast('win'); // сообщаем главному скрипту о победе
});`}</Code> });`}</CodeBoth>
<ul> <ul>
<li>прыгай с островка на островок;</li> <li>прыгай с островка на островок;</li>
<li>попал в лаву здоровье тает, слышен звук урона;</li> <li>попал в лаву здоровье тает, слышен звук урона;</li>