私は次のリアルタイム1 V 1ゲームを作った.CSSを学ぶ方法
8547 ワード
誰もがあなたが5文字の単語を推測する必要がありますし、6の試みを持っているゲームを悪化させる知っている.
それで、私はあなたが誰が最初に語を推測することができるかについて見るために他のプレーヤーと対戦することができるバージョンを作る良い考えであると思いました.
そして、あなたはリアルタイムであなたの対戦相手から推測を見ることができます.
私はそれを呼んだWarWordly そして、それは日の製品でしたProduct Hunt
ゲームのルール
ゲームのルールは十分に簡単ですが、有効な単語を起動し、各文字は、このルールにacording色を受け取る: ⬜️ 灰色:手紙は間違っています 🟧 オレンジ:文字は正しいが間違った位置にある 🟩 緑:文字が正しいと正しい位置にある
1 V 1ゲームを悪化させる
このゲームのアイデアは、他のプレイヤーと競うことができるということです.
だから左側には推測があり、右側は相手です.
リアルタイム化
主な技術は以下の通りである. ▲ Next.js 反応アプリとして 🔋 Supabase DB , Auth & Realtime 🎨 Tailwind CSS スタイリング 💾 SWR データ取得用 これらのツールは、それはとても簡単に右のアイデアを起動すると知っているので、誰もがそれを使用することができますので、なぜ、あなたの小さなゲーム製品の製品狩りの製品を作ることができます.
全体のゲームはオープンソースでありproject on GitHub .
我々は、このポストのリアルタイム機能に集中するつもりです.
コードしましょう
Supabaseでは、PostgreSQLのデータベースの任意の種類を作成することができますが、彼らは本当にクールな機能をどこで任意のテーブルに購読を作成することができますてjavascript client .
プロジェクトにクライアントをインストールする
現在、我々はAをつくるつもりですReact Hook 我々のデータベースから我々のテーブルを予約するために.
最初にインポート
それからフックはフックを作ります.
その後、私たちがしなければならないのは、Supabasecreate a new subscription データベースに
これは我々の敵から推測を追跡する方法です.
その後、我々は素晴らしいを使用して戦闘の状態を更新することができますSWR とその変異関数
これは、ゲームをリアルタイムですることができますし、プレイヤーが最初に単語を推測参照してくださいコードです.
このコードを見ることができますthe repo on GitHub .
エンディング
私はこの短いポストは、コードのいくつかの行を使用してアプリケーションに簡単にリアルタイム機能を作る方法を学ぶことができます願っています.
🎮 あなたはplay the game here
🛠 プロフィールentire project on GitHub
🙋♂️ こんにちは
それで、私はあなたが誰が最初に語を推測することができるかについて見るために他のプレーヤーと対戦することができるバージョンを作る良い考えであると思いました.
そして、あなたはリアルタイムであなたの対戦相手から推測を見ることができます.
私はそれを呼んだWarWordly そして、それは日の製品でしたProduct Hunt
ゲームのルール
ゲームのルールは十分に簡単ですが、有効な単語を起動し、各文字は、このルールにacording色を受け取る:
1 V 1ゲームを悪化させる
このゲームのアイデアは、他のプレイヤーと競うことができるということです.
だから左側には推測があり、右側は相手です.
リアルタイム化
主な技術は以下の通りである.
全体のゲームはオープンソースでありproject on GitHub .
我々は、このポストのリアルタイム機能に集中するつもりです.
コードしましょう
Supabaseでは、PostgreSQLのデータベースの任意の種類を作成することができますが、彼らは本当にクールな機能をどこで任意のテーブルに購読を作成することができますてjavascript client .
プロジェクトにクライアントをインストールする
npm install @supabase/supabase-js
次に、クライアントをページにインポートしますimport { createClient } from '@supabase/supabase-js'
const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY)
あなたはあなたをつかむことができますSUPABASE_URL
and SUPABASE_ANON_KEY
あなたのsupabaseアカウントから.現在、我々はAをつくるつもりですReact Hook 我々のデータベースから我々のテーブルを予約するために.
import { useEffect } from "react";
useEffect(() => {
if (!battleId) return;
// Subscribe to the Battle
const battleSubscription = supabase
.from(`battles:id=eq.${battleId}`)
.on("UPDATE", (payload) => {
// Updates all the data from the Battle to SWR
battleMutate(payload.new);
})
.subscribe();
// Cleanup on unmount
return () => {
battleSubscription.unsubscribe();
};
}, [battleId]);
このコードは魔法が起こるところです、それで、より近い観察をしましょう👇.最初にインポート
useEffect
反応から.それからフックはフックを作ります.
useEffect(() => {
// code...
}, [battleId]);
使用するbattleId
フックに対する依存性として、これは私たちのバトルIDを持つ変数です.なぜなら、私たちはデータベース上での戦いを見つけるためにIDを必要とするからです.その後、私たちがしなければならないのは、Supabasecreate a new subscription データベースに
// Subscribe to the Battle
const battleSubscription = supabase
.from(`battles:id=eq.${battleId}`)
.on("UPDATE", (payload) => {
// Updates all the data from the Battle to SWR
battleMutate(payload.new);
})
.subscribe();
このコードは私たちにJSオブジェクトを送りますUPDATE
データベースこれは我々の敵から推測を追跡する方法です.
その後、我々は素晴らしいを使用して戦闘の状態を更新することができますSWR とその変異関数
// Updates all the data from the Battle to SWR
battleMutate(payload.new);
そしてそれです.これは、ゲームをリアルタイムですることができますし、プレイヤーが最初に単語を推測参照してくださいコードです.
このコードを見ることができますthe repo on GitHub .
エンディング
私はこの短いポストは、コードのいくつかの行を使用してアプリケーションに簡単にリアルタイム機能を作る方法を学ぶことができます願っています.
🎮 あなたはplay the game here
🛠 プロフィールentire project on GitHub
🙋♂️ こんにちは
Reference
この問題について(私は次のリアルタイム1 V 1ゲームを作った.CSSを学ぶ方法), 我々は、より多くの情報をここで見つけました https://dev.to/nicoandrade/i-made-a-realtime-1v1-game-with-nextjs-tailwind-css-learn-how-536bテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol