Oyun fikirleri ve özellikleri

Sıradaki özelliğin

Maçlar

Açık revizyonlar, yorumlanmayan durum ve ayrı sonuç raporlarıyla sıra tabanlı oyunlar.

SDK: developOyuncu oturumu gerekli
Unity
Maçlar görseli
Görünür sonuç

İki oyuncu oturumuyla lobiyi, dönüşümlü turları ve bağımsız son raporları koordine edin.

Video yakında

Bu adımın videosu henüz yok. Rehber ve MCP isteği kullanıma hazır.

Sıra tabanlı maçlar

Aynı projeyi hazırlayın

  1. Panelde oyun yapılandırmandaki projeyle aynı projeyi seç.

    Maçlar →
  2. İlk istek için ek tanım gerekmez. Eşleşen oyun verisi yokken boş sonuç geçerlidir.

    İki ayrı oyuncu oturumu kullanın: lobi oluşturun, katılın, açık sırayla başlayın, bayt durumlarını sırayla gönderin ve aynı son sonucu bağımsız bildirin.

    İlk örnek veri okur. Grup, maç veya nesne oluşturmaz. Boş liste geçerli bir ilk yanıttır.

Bu özelliği ekle

Kılavuzu inceleyebilirsin. Çalıştırmak için etkin bir proje anahtarı gerekir. Projeyi hazırla

SDK kurulu, proje yapılandırması içe aktarılmış ve oyuncu oturum açmış olmalı.

Bu SDK örneği develop kullanır. Gerekli API'lerin kurulu SDK sürümünde bulunduğunu kontrol et.

Hızlı başlangıç bağlantısını ilgili oyuncuyla tamamlayın. ReadMyMatches() çağrısını açık bir düğme veya sahne eyleminden yapın. Dosyayı açmak tek başına istek göndermez.

C#
Assets/Scripts/MatchesDemo.cs
horizOn çağrısı
1using UnityEngine;
2using PM.horizOn.Cloud.Manager;
3​
4public sealed class MatchesDemo : MonoBehaviour
5{
6 // Initialize/connect and restore the existing player in the Quickstart first.
7 // Invoke explicitly. The SDK also enforces the returned polling cadence.
8 public async void ReadMyMatches()
9 {
10 var user = UserManager.Instance.CurrentUser;
11 if (user == null || !user.IsValid()) return;
12 var result = await MatchesManager.Instance.GetMatches(user.UserId);
13 if (!result.IsSuccess) { Debug.LogWarning(result.ErrorCode); return; }
14 Debug.Log($"Ledger revision: {result.Data.revision}");
15 foreach (var match in result.Data.recent)
16 Debug.Log($"Match {match.id}: {match.status}");
17 // Recent may include an active match after this player's forfeit.
18 // Respect result.Data.pollAfterSeconds; no background poll or automatic timeout.
19 }
20}
21// Full two-player recipe: SDK Examples/MatchesExample and MatchesSampleStore.
22// ReadLedger/ReadMatch -> SaveCreateAfterLedgerReview/SaveActionAfterMatchReview.
23// ApplySavedIntent sends one durable original body/revision. Unknown create is reconciled.
24// Never replace a pending original with the revision from a later read.
25// ReportResult uses the original finalStateRevision/result bytes/sorted winnerIds.
26// Ordinary consensus is not trusted victory proof. Ranked runs use Validated Actions.
Tam SDK örneğini aç ↗

İki oyuncu, tek özgün tur

İki ayrı oyuncu oturumu kullanın: lobi oluşturun, katılın, açık sırayla başlayın, bayt durumlarını sırayla gönderin ve aynı son sonucu bağımsız bildirin.

Göndermeden önce tam isteği kaydedin. Zaman aşımından sonra durumu okuyup uzlaştırın. Revizyonu veya özgün niyeti sessizce değiştirmeyin.

Raporlar değişmez son revizyonu kullanır. Uzlaşma güvenilir zafer kanıtı değildir; eksik veya çelişkili raporlar kazanan belirlemez.

Dereceli koşular onaylanmış dereceli maç ve mevcut Validated Actions hattını gerektirir. Normal raporlar ödül vermez.

PHP normal maç REST yollarını destekler. Dereceli doğrulama ve gerçek zaman kullanılamaz, gerektiğinde FEATURE_NOT_SUPPORTED döner.

Yeni özelliğini test et.

İki oyuncu oturumuyla lobiyi, dönüşümlü turları ve bağımsız son raporları koordine edin.

Panelde oyun yapılandırmandaki projeyle aynı projeyi seç.

Uç noktalar
  • GET/matches
  • GET/matches/limits
  • GET/matches/open
  • GET/matches/{matchId}
  • POST/matches
  • POST/matches/{matchId}/join
  • POST/matches/{matchId}/decline
  • POST/matches/{matchId}/start
  • POST/matches/{matchId}/turn
  • POST/matches/{matchId}/timeout
  • POST/matches/{matchId}/leave
  • POST/matches/{matchId}/cancel
  • POST/matches/{matchId}/result
  • POST/matches/{matchId}/ranked-run
API referansındaki tüm uç noktalar
Sıradaki adım için önerimiz

Her tura bir yüksek puan ekle.

Turdan sonra puanı kaydet ve kimin önde olduğunu göster. Bağlantını ve oyuncu oturumunu kullanmaya devam et.