feat: 基本完成多人游戏框架
This commit is contained in:
@@ -1,10 +1,11 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
var peer = ENetMultiplayerPeer.new()
|
var peer = ENetMultiplayerPeer.new()
|
||||||
|
|
||||||
var players: Array
|
var players: Array
|
||||||
var cards: Array
|
var cards: Array
|
||||||
var my_card: Array
|
var my_card: Array
|
||||||
var max_players
|
var max_players: int
|
||||||
var player_cards: Dictionary
|
var player_cards: Dictionary
|
||||||
var player_turns: Dictionary
|
var player_turns: Dictionary
|
||||||
var player_username: Dictionary
|
var player_username: Dictionary
|
||||||
@@ -50,6 +51,7 @@ func start_game() -> void:
|
|||||||
return
|
return
|
||||||
deal_cards()
|
deal_cards()
|
||||||
server_round = 1
|
server_round = 1
|
||||||
|
remote_variable()
|
||||||
|
|
||||||
func extract() -> String:
|
func extract() -> String:
|
||||||
if cards.size() == 0:
|
if cards.size() == 0:
|
||||||
@@ -72,14 +74,9 @@ func next_round() -> void:
|
|||||||
|
|
||||||
func settle_round() -> void:
|
func settle_round() -> void:
|
||||||
for player in players:
|
for player in players:
|
||||||
begin_round.rpc_id(player, player)
|
request_card_draw(player)
|
||||||
remote_variable()
|
remote_variable()
|
||||||
|
|
||||||
@rpc("any_peer", "call_remote", "reliable")
|
|
||||||
func begin_round(id: int) -> void:
|
|
||||||
request_card_draw.rpc(1, id)
|
|
||||||
|
|
||||||
@rpc("any_peer", "call_remote", "reliable")
|
|
||||||
func request_card_draw(player_id: int) -> void:
|
func request_card_draw(player_id: int) -> void:
|
||||||
if server_round == 1 and 0 <= player_turns[player_id] <= 1:
|
if server_round == 1 and 0 <= player_turns[player_id] <= 1:
|
||||||
for i in range(3):
|
for i in range(3):
|
||||||
|
|||||||
Reference in New Issue
Block a user