■90個目 「シーグラスならべ」
こんにちは、AIと作る100のゲーム実験室の みー です。(*^_^*)/
今回は、ちょっとリラックスできるパズルゲームを作ってみました。
テーマは、海辺で拾った“シーグラス”です。(´▽`*)
明るい窓辺に英字新聞を広げて、
その上に、波に洗われて丸くなったカラフルなガラス片を
バラバラと広げる……。
想像するだけで、ちょっと癒やされませんか?(=v=*)
でも、最初はどうしてもぐちゃぐちゃ。(・_・、)
それを色ごとに綺麗に並べていくのが、このゲームの目的です。
ゾーンは4つ。 白、緑、水色、茶色の基本カラーに加えて、
中央には特別な「レア色」ゾーンがあります。
赤や青、紫など、キラキラした宝石みたいな色が入るんですよ。(^o^)
ひとつひとつ角度を調整したり、位置を微調整したり……。
根気よく並べていくと、最後にピタッとはまって、
心がスーッと整うような達成感が味わえます。
今回こだわったのは、シーグラスの質感です。(^^)
英字新聞がガラス越しに透けて見える感じや、
光を受けてキラッと輝く様子を、できるだけリアルに再現してみました。
ぐちゃぐちゃなものが、自分の手で綺麗に整っていく快感。
ぜひ、みなさんにも体験してほしいです。(^^)v
あ、そうそう! アイキャッチ画像には、
とってもかわいいコツメカワウソくんが登場しています。(´ω`)
新聞の上でレアな赤いガラスを見つけて、嬉しそうなんです。
このゲームの柔らかい雰囲気にぴったりで、お気に入りです。
操作方法は、記事の後半で紹介しますね! お楽しみに!(^^)/
■ AIとのやりとりで面白かった部分
● ゲーム仕様の相談からスタート
みー:(^v^) 今日もゲームを作ります。HTML形式で動かせるゲーム。
“整うのが気持ちいいゲーム”、視覚的にスッキリするゲームを作りたいです。
本をテーマに、いくつか案を出せるかな。
AI: 視覚的に「整う」感覚、とても良いテーマですね。
雑然としたものが規則正しく並び直す瞬間の“カチッ”とした心地よさは、
シンプルなHTML/JSゲームと相性抜群です。
そこで、 高さと色がバラバラの本を入れ替えて整列させる
「グラデーション本棚」ゲームを作ってみました。
太めの枠線と原色のレトロ感で、
12冊の本が “虹色のグラデーション+右肩上がりの階段”に揃った瞬間、
とても気持ちいいですよ。
みー:(*>o<)”_
この置き換え機能をもとに、
大小さまざまで不規則な形のシーグラスを色ごとに並べるゲームを作ります。
ゾーンは4つ(白・緑・水色・茶色)。
中央には円形の「レア色ゾーン」。
レア色は黄色、濃い青、深緑、赤、紫、ピンク。
シーグラスはそれぞれ濃淡も違います。
最初は全体に散らばっているシーグラスを並べ替えて、
色分けした後は位置の微調整や回転もできるように。
完了ボタンで採点して、 “正しく色分けできているか”がスコアになります。
くっつきすぎていると減点。 根気強さと達成感がテーマのゲームです。
AI: いらっしゃい、みーさん。お疲れ様です。
温かいコーヒーでも淹れましょうか。
今回の「シーグラス仕分けゲーム」、とても渋くて良いテーマですね。
海辺でガラス片を拾い集めるあの静かな時間と、
ピタッと収まったときの達成感が画面越しに伝わってきそうです。
みー:(^o^) シーグラス、リアルな感じでいいです。
深緑と緑が少し近いので、色味を区別しやすくできますか?
あと、個数も増やしてみましょう。
AI: 了解。 緑は明るめの若草色に、
深緑は海の底のような青緑に調整して、
直感的に見分けやすくしておきました。
シーグラスの数も増量。
通常色は各10個、レア色は各2個で合計52個。
少し小ぶりにして、全部が綺麗に収まるように調整済みです。
みー:(^v^) 背景が真っ黒だと少し暗いので、
シーグラスが映える“明るい窓辺の英字新聞の上”とかどうかな。
背景、かっこよく再現してみて。
AI: おっ、いい視点だね。 真っ暗な背景も悪くないけど、
「明るい窓辺の英字新聞の上」に広げると透明感が一気に引き立つ。
今回はただ背景を変えるだけじゃなく、
mix-blend-mode: multiply を使って、
英字新聞の文字が“ガラス越しに透けて見える”ようにしておいたよ。
本物のシーグラスみたいで、とても綺麗です。
■ 実際の動作
仕上がりのスタート画面です。
最初は、シーグラスがバラバラに散らばった状態。
ここから、ひとつずつ並べていきます。

(画像:スタート画面)
5つのゾーンに分かれているので、
色ごとにシーグラスを仕分けしていきます。
真ん中の円は「レア色ゾーン」。 赤・青・紫など、
特別な色のシーグラスが集まります。

(画像:ゲーム画面)
シーグラスが重なりすぎていたり、
違うゾーンに置いてしまうと減点になります。
マウス右クリックで角度を少しずつ調整できるので、
こだわりの配置で美しく仕上げてくださいね。
すべて並べ終わったら「仕分け完了」ボタンを押すと、
採点結果が表示されます。

(画像:仕分け完了)
■ コードのポイント
今回の記事では、
AI と相談しながら作った「シーグラスならべ」 の HTML コードを公開します。
このコードをそのまま保存するだけで、
あなたの PC でもすぐに遊べます。
ブラウザだけで動く、とてもシンプルなゲームなので、
「コードは初めて…」という方でも気軽に試してみてくださいね。
▼ 遊ぶまでの手順(むずかしさ:やさしい)
① テキストエディタを開く
Windows の場合は「メモ帳」、
Mac の場合は「テキストエディット」を使います。
(※検索バーで「メモ帳」と入力するとすぐ出てきます)
② 下のコードをコピーして貼り付けます。
③ 「si-gurasunarabe.html」など、好きな名前で保存します。
(※拡張子は .html にしてください)
④ 保存したファイルをダブルクリックすると、
ブラウザでゲームが起動します。
■ 操作方法
さっそく、このゲームの操作方法を説明しますね。
とってもシンプルなので、すぐに覚えられますよ。(^_^)
🌊 基本の操作は2つだけ!
① シーグラスを運ぶ
シーグラスを左クリックして、
そのまま好きな場所まで引っ張って(ドラッグ)ください。
これで、バラバラのシーグラスをそれぞれのゾーンへ運べます。(´▽`*)
② シーグラスを回す
シーグラスの上で右クリックすると、
カチッと少しだけ向きが変わります。
「ここ、もうちょっと斜めに置きたいな…」
というときに使ってみてくださいね。(=v=*)
🌱 ゲームの流れ
- 色ごとに仕分ける
窓辺の新聞には、
4つの色(White, Green, Light Blue, Brown)の名前が書いてあります。
その場所へ、同じ色のシーグラスを運んでいきましょう。(^-^)
カラフルな「レア色(Rare Colors)」は、
中央の点線の円の中へ集めてくださいね。 - 綺麗に並べる
色を分けたら、今度はシーグラス同士がくっつきすぎないように、
場所をずらしたり、向きを変えたりして、美しく整えましょう。
ここが一番の「根気」の使いどころです! - 「仕分け完了」を押す
「よし、完璧!」と思ったら、ボタンを押してみてください。
正しく分けられているか、
綺麗に並んでいるかがスコアになります。(^o^)
✨ 高得点を目指して…
シーグラスが重なっていたり、ゾーンから外れていたりすると、
スコアが下がってしまいます。(・_・、)
すべてのシーグラスを美しく並べられたら、
「PERFECT!」という素敵なメッセージが届くかもしれません。(^O^)
やり直したくなったら「リトライ」ボタンで、
またシーグラスがバラバラの状態に戻ります。(^^)
窓辺の光の中でキラキラ輝くシーグラス。
ぜひ、時間を忘れて、心を込めて整えてみてくださいね。(^^)/
“コードは長いので折りたたんでいます。必要な方は開いてご覧ください。
▼ここからコード▼(クリックで開く)
<html lang="ja"><head><meta charset="UTF-8"><title>Sea Glass Sorter - Morning Window</title><style> body { /* 明るい窓辺と木目のテーブルをイメージした背景 */ background: linear-gradient(135deg, #e8f0f2 0%, #f4f1ea 40%, #dcd3c6 100%); color: #333; font-family: 'Helvetica Neue', Arial, sans-serif; margin: 0; padding: 20px; display: flex; flex-direction: column; align-items: center; user-select: none; min-height: 100vh; } h1 { font-size: 26px; margin-bottom: 5px; color: #4a5c66; letter-spacing: 3px; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); } p { margin-top: 0; font-size: 14px; color: #666; margin-bottom: 20px; } #game-container { position: relative; width: 600px; height: 600px; /* 英字新聞のベース色 */ background-color: #f9f7f1; /* 窓からの斜めの光と、CSSで生成した英字新聞の模様を重ねる */ background-image: linear-gradient(115deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 40%, rgba(0,0,0,0.02) 100%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cstyle%3E text { font-family: 'Times New Roman', serif; font-size: 11px; fill: %23444; opacity: 0.25; } %3C/style%3E%3Ctext x='10' y='20'%3ELorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.%3C/text%3E%3Ctext x='10' y='35'%3EUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.%3C/text%3E%3Ctext x='10' y='50'%3EDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.%3C/text%3E%3Ctext x='10' y='65'%3EExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.%3C/text%3E%3Ctext x='10' y='80'%3ECurabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et commodo pharetra,%3C/text%3E%3Ctext x='10' y='95'%3Eest eros bibendum elit, nec luctus magna felis sollicitudin mauris. Integer in mauris eu nibh euismod gravida.%3C/text%3E%3Ctext x='10' y='110'%3EDuis ac tellus et risus vulputate vehicula. Donec lobortis risus a elit. Etiam tempor. Ut ullamcorper,%3C/text%3E%3Ctext x='10' y='125'%3Eligula eu tempor congue, eros est euismod turpis, id dictum felis elit sed libero. Quisque rhoncus.%3C/text%3E%3Ctext x='10' y='140'%3EThe quick brown fox jumps over the lazy dog. A journey of a thousand miles begins with a single step.%3C/text%3E%3Ctext x='10' y='155'%3ETo be, or not to be, that is the question. All that glitters is not gold. Actions speak louder than words.%3C/text%3E%3Ctext x='10' y='170'%3EPellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.%3C/text%3E%3Ctext x='10' y='185'%3EProin pharetra nonummy pede. Mauris et orci. Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.%3C/text%3E%3Ctext x='10' y='200'%3ESuspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend.%3C/text%3E%3Ctext x='10' y='215'%3EUt nonummy. Fusce aliquet pede non pede. Suspendisse dapibus lorem pellentesque magna. Integer nulla.%3C/text%3E%3Ctext x='10' y='230'%3EDonec blandit feugiat ligula. Donec hendrerit, felis et imperdiet euismod, purus ipsum pretium metus,%3C/text%3E%3Ctext x='10' y='245'%3Ein luctus urna elit sit amet in. Etiam nec purus sit amet lectus blandit tincidunt. Phasellus id risus.%3C/text%3E%3Ctext x='10' y='260'%3EThe sea glass shines brightly when the morning sun hits it from the window. Beautiful colors scattered on paper.%3C/text%3E%3Ctext x='10' y='275'%3ECollecting these pieces requires patience and a good eye. The reward is a peaceful mind and a sense of order.%3C/text%3E%3Ctext x='10' y='290'%3EAenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim.%3C/text%3E%3Ctext x='10' y='305'%3EAliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet.%3C/text%3E%3Ctext x='10' y='320'%3EQuisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi.%3C/text%3E%3Ctext x='10' y='335'%3ENam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero,%3C/text%3E%3Ctext x='10' y='350'%3Esit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem.%3C/text%3E%3Ctext x='10' y='365'%3EMaecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante.%3C/text%3E%3Ctext x='10' y='380'%3EEtiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh.%3C/text%3E%3C/svg%3E"); background-size: cover, 400px 400px; border: 1px solid #d4cbb8; /* 新聞紙のフチのような細い線 */ border-radius: 4px; overflow: hidden; /* 新聞紙が浮いているような柔らかな影 */ box-shadow: 10px 15px 30px rgba(0,0,0,0.1), inset 0 0 40px rgba(0,0,0,0.03); } .zone-guide { position: absolute; color: rgba(0, 0, 0, 0.2); /* 背景が明るいので文字は暗く */ font-size: 24px; font-weight: bold; pointer-events: none; font-family: 'Times New Roman', serif; } #guide-tl { top: 20px; left: 20px; } #guide-tr { top: 20px; right: 20px; } #guide-bl { bottom: 20px; left: 20px; } #guide-br { bottom: 20px; right: 20px; } #center-zone { position: absolute; top: 150px; left: 150px; width: 300px; height: 300px; border: 2px dashed rgba(180, 130, 0, 0.4); border-radius: 50%; pointer-events: none; display: flex; align-items: center; justify-content: center; } #center-zone span { color: rgba(180, 130, 0, 0.4); font-size: 20px; font-weight: bold; font-family: 'Times New Roman', serif; } .seaglass { position: absolute; cursor: grab; /* ★マスターの隠し味:透かし効果!下の新聞の文字がガラスを透過して見えます */ mix-blend-mode: multiply; opacity: 0.85; /* ガラス特有のフチのハイライトと影を表現 */ box-shadow: 2px 3px 6px rgba(0,0,0,0.15), inset -2px -2px 6px rgba(255,255,255,0.6), inset 2px 2px 4px rgba(0,0,0,0.1); transition: transform 0.1s, box-shadow 0.1s; } .seaglass:active { cursor: grabbing; opacity: 0.95; box-shadow: 4px 6px 12px rgba(0,0,0,0.2), inset -1px -1px 4px rgba(255,255,255,0.8); } #ui-panel { margin-top: 25px; text-align: center; } button { padding: 12px 30px; font-size: 16px; font-weight: bold; background-color: #5b7b7a; /* アンティークなブルーグリーン */ color: white; border: none; border-radius: 4px; cursor: pointer; box-shadow: 0 4px 6px rgba(0,0,0,0.15); transition: all 0.2s; margin: 0 10px; letter-spacing: 1px; } button:hover { background-color: #4a6665; transform: translateY(-1px); box-shadow: 0 6px 8px rgba(0,0,0,0.15); } button:active { transform: translateY(1px); box-shadow: 0 2px 4px rgba(0,0,0,0.1); } #retry-btn { background-color: #c48b62; } #retry-btn:hover { background-color: #a87652; } #result-msg { margin-top: 20px; font-size: 20px; font-weight: bold; min-height: 24px; color: #444; /* 背景に合わせて暗めの色に */ text-shadow: 1px 1px 0px rgba(255,255,255,0.5); }</style></head><body><h1>SEA GLASS SORTER</h1><p>左ドラッグで移動、右クリックで回転。新聞の上のガラスを綺麗に仕分けよう。</p><div id="game-container"> <div class="zone-guide" id="guide-tl">White</div> <div class="zone-guide" id="guide-tr">Green</div> <div class="zone-guide" id="guide-bl">Light Blue</div> <div class="zone-guide" id="guide-br">Brown</div> <div id="center-zone"><span>Rare Colors</span></div></div><div id="ui-panel"> <button onclick="finishGame()">仕分け完了 (FINISH)</button> <button id="retry-btn" onclick="initGame()">リトライ (RETRY)</button> <div id="result-msg"></div></div><script> const container = document.getElementById('game-container'); const glassPieces = []; let zIndexCounter = 10; // 明るい背景で映えるように、色のlightness(明るさ)を微調整 const colors = [ { type: 'white', baseHue: 0, sat: '0%', lightMin: 75, lightMax: 90, rare: false }, { type: 'green', baseHue: 100, sat: '40%', lightMin: 50, lightMax: 70, rare: false }, { type: 'lightblue', baseHue: 195, sat: '50%', lightMin: 55, lightMax: 80, rare: false }, { type: 'brown', baseHue: 30, sat: '45%', lightMin: 35, lightMax: 55, rare: false }, { type: 'yellow', baseHue: 45, sat: '70%', lightMin: 55, lightMax: 75, rare: true }, { type: 'darkblue', baseHue: 220, sat: '60%', lightMin: 40, lightMax: 60, rare: true }, { type: 'deepgreen', baseHue: 170, sat: '65%', lightMin: 30, lightMax: 50, rare: true }, { type: 'red', baseHue: 0, sat: '70%', lightMin: 50, lightMax: 70, rare: true }, { type: 'purple', baseHue: 280, sat: '50%', lightMin: 55, lightMax: 75, rare: true }, { type: 'pink', baseHue: 330, sat: '60%', lightMin: 65, lightMax: 85, rare: true } ]; function randomBorderRadius() { const r = () => Math.floor(Math.random() * 40 + 30); return `${r()}% ${r()}% ${r()}% ${r()}% / ${r()}% ${r()}% ${r()}% ${r()}%`; } function createGlass(colorDef) { const el = document.createElement('div'); el.className = 'seaglass'; const size = Math.floor(Math.random() * 25) + 20; el.style.width = size + 'px'; el.style.height = (size * (Math.random() * 0.4 + 0.8)) + 'px'; const lightness = Math.floor(Math.random() * (colorDef.lightMax - colorDef.lightMin)) + colorDef.lightMin; el.style.backgroundColor = `hsl(${colorDef.baseHue}, ${colorDef.sat}, ${lightness}%)`; el.style.borderRadius = randomBorderRadius(); let x = Math.random() * (600 - size - 20) + 10; let y = Math.random() * (600 - size - 20) + 10; let rotation = Math.random() * 360; el.style.left = x + 'px'; el.style.top = y + 'px'; el.style.transform = `rotate(${rotation}deg)`; const glassData = { el, colorType: colorDef.type, isRare: colorDef.rare, x, y, rotation, size }; glassPieces.push(glassData); container.appendChild(el); setupInteractions(el, glassData); } function setupInteractions(el, data) { let isDragging = false; let startX, startY, initialX, initialY; el.addEventListener('mousedown', (e) => { if (e.button !== 0) return; isDragging = true; startX = e.clientX; startY = e.clientY; initialX = data.x; initialY = data.y; el.style.zIndex = zIndexCounter++; }); document.addEventListener('mousemove', (e) => { if (!isDragging) return; const dx = e.clientX - startX; const dy = e.clientY - startY; data.x = initialX + dx; data.y = initialY + dy; data.x = Math.max(0, Math.min(data.x, 600 - el.offsetWidth)); data.y = Math.max(0, Math.min(data.y, 600 - el.offsetHeight)); el.style.left = data.x + 'px'; el.style.top = data.y + 'px'; }); document.addEventListener('mouseup', () => { isDragging = false; }); el.addEventListener('contextmenu', (e) => { e.preventDefault(); data.rotation += 22.5; el.style.transform = `rotate(${data.rotation}deg)`; }); } container.addEventListener('contextmenu', e => e.preventDefault()); function initGame() { glassPieces.forEach(glass => glass.el.remove()); glassPieces.length = 0; document.getElementById('result-msg').innerText = ''; colors.forEach(color => { const count = color.rare ? 2 : 15; for (let i = 0; i < count; i++) { createGlass(color); } }); } function finishGame() { let score = 0; let perfect = true; glassPieces.forEach((glass, index) => { const cx = glass.x + glass.el.offsetWidth / 2; const cy = glass.y + glass.el.offsetHeight / 2; const distFromCenter = Math.hypot(cx - 300, cy - 300); if (glass.isRare) { if (distFromCenter <= 150) { score += 100; } else { score -= 50; perfect = false; } } else { let currentZone = ''; if (cx < 300 && cy < 300) currentZone = 'white'; else if (cx >= 300 && cy < 300) currentZone = 'green'; else if (cx < 300 && cy >= 300) currentZone = 'lightblue'; else if (cx >= 300 && cy >= 300) currentZone = 'brown'; if (distFromCenter <= 150) { score -= 30; perfect = false; } else if (glass.colorType === currentZone) { score += 50; } else { score -= 30; perfect = false; } } for (let j = index + 1; j < glassPieces.length; j++) { const other = glassPieces[j]; const ocx = other.x + other.el.offsetWidth / 2; const ocy = other.y + other.el.offsetHeight / 2; const dist = Math.hypot(cx - ocx, cy - ocy); const minSafeDist = (glass.size + other.size) * 0.45; if (dist < minSafeDist) { score -= 20; perfect = false; } } }); const msgEl = document.getElementById('result-msg'); if (perfect && score > 0) { msgEl.innerText = `素晴らしい根気です!スコア: ${score}点 (PERFECT!)`; msgEl.style.color = '#2d7a4d'; /* 明るい背景に合わせて濃い緑に */ } else { msgEl.innerText = `スコア: ${score}点 (重なりやゾーン違いに注意して再調整できます)`; msgEl.style.color = '#a05c17'; /* オレンジ系で少し目立たせる */ } } initGame();</script></body></html>
■ 今日の学び
実はこのゲーム、最初は「ととのえる」という
心地よい感覚をテーマにしたゲームを作りたいな、
と思って AI に相談するところから始まりました。
最初は「本をきれいに本棚に並べるゲーム」なんてどうかな……
と考えていたのですが、
そこでハッと思い出したんです。( ゚д゚)
「整える」といえば、私がいつも楽しんでいる
“シーグラス拾い”の後の、あの至福の時間!
拾ってきたシーグラスを机の上に広げて、
色や形、大きさごとにチマチマと並べていく……。
あの時間こそ、私にとって最高に「整う」瞬間だったんです。
その瞬間に、
今回のゲームの方向性が 「シーグラスならべゲーム」 に決まりました。
以前、#14「シーグラス探し」のゲームでも紹介しましたが、
シーグラス拾いは私が夢中になっている趣味のひとつです。
海辺で時間を忘れて拾い集めて、
家に帰ったら、それをきれいに並べて。
(そのあと、並べたのを崩してしまうんですけどね…笑)
そして最後は、庭にある「パワースポット」に集めていく。
これが私のいつもの流れです。
たくさん拾えば拾うほど、並べるのは本当に根気が必要。
でも、その分、並べ終わった時の達成感はひとしおです。
「あぁ、整った……✨」
あの、なんとも言えない静かで満ち足りた気持ち。
少しザラッとしていながら、波に洗われて丸くなった独特の質感。
そして、すべてが完璧に並んだ時の美しい光景。
文章ではなかなか伝えきれないかもしれませんが、
今回のゲームでは、シーグラスに触れるような感覚と、
並べ終わった時のあの特別な雰囲気を、
少しでも表現できたんじゃないかな、と思っています。(^_^)
みなさんも、ゲームの中でシーグラスをひとつひとつ並べながら、
心がスーッと整っていく感覚を味わっていただけたら嬉しいです。
(ノ゜▽゜)ノ・:..。o○☆゚
#14 の記事でも写真を紹介しましたが、今回も一部ご紹介します。




(画像:ならべたシーグラス)
■ 次回は、アートなゲームです。
お絵描きゲーム…といっても、操作はキーボードです。
自分が入力するキーで引かれていく線が、いろいろな花や葉っぱにくるんと一筆書きで表現されます。
引かれる線の種類も、ひも・リボン・有刺鉄線・鎖・植物のツルと、
切り替えて楽しめます。
ぜひ楽しみにしていてくださいね。(*^v^)ノシ
✨今日も最後まで読んでくださって、ありがとうございます。
みーの実験室は、みなさんの応援で元気に動いています。(*^v^*)






🌈はじめての方へ
🌳 実験一覧
🌱 このブログについて
🍃 プライバシーポリシー
🥚未記事ゲーム展示室①
🐣未記事ゲーム展示室②