added winning determination algorithm (not entirely working yet)
This commit is contained in:
@@ -38,9 +38,11 @@ signal connection_status_changed(new_status: ConnectionStatus)
|
||||
|
||||
signal client_order_received(client_ids: Array[String])
|
||||
signal cards_received(cards: Dictionary)
|
||||
|
||||
signal trump_received(trump_id: int)
|
||||
signal received_bet_request(disallowed_bet: int)
|
||||
|
||||
signal received_win()
|
||||
signal notify_play_card_request()
|
||||
signal received_played_card(client_id: String, card_id: int)
|
||||
signal received_play_winner_request()
|
||||
signal request_next_round()
|
||||
|
||||
@@ -135,20 +137,26 @@ func _handle_response(response: String) -> void:
|
||||
var received_cards = data["cards"]
|
||||
print(received_cards)
|
||||
cards_received.emit.call_deferred(received_cards)
|
||||
trump_received.emit.call_deferred(data["trump"])
|
||||
"client_submitted_bet":
|
||||
print(data)
|
||||
"request_bet":
|
||||
received_bet_request.emit.call_deferred(data["disallowed_bet"])
|
||||
"begin_playing_cards":
|
||||
# all players know it's time to play
|
||||
print(data)
|
||||
"request_card":
|
||||
print(data)
|
||||
# individual player asked to play card
|
||||
notify_play_card_request.emit.call_deferred()
|
||||
"play_card":
|
||||
print(data)
|
||||
"determine_play_winner_request": # single card go-around
|
||||
received_play_winner_request.emit.call_deferred()
|
||||
"client_played_card":
|
||||
received_played_card.emit.call_deferred(data["client_id"], data["played_card"])
|
||||
"client_won_play":
|
||||
print(data)
|
||||
if data["client_id"] == _client_id:
|
||||
received_win.emit.call_deferred()
|
||||
|
||||
func _handle_join(data) -> void:
|
||||
match data["status"]:
|
||||
@@ -217,6 +225,14 @@ func start_next_round(round_count: int) -> void:
|
||||
"cards": CardManager.get_shuffled_cards(_connected_client_ids, round_count),
|
||||
}))
|
||||
|
||||
func play_card(card_id: int) -> void:
|
||||
_send_message(JSON.stringify({
|
||||
"response": "play_card",
|
||||
"lobby_id": _lobby_id,
|
||||
"client_id": _client_id,
|
||||
"played_card": card_id,
|
||||
}))
|
||||
|
||||
func submit_bet(bet: int, current_round: int) -> void:
|
||||
_send_message(JSON.stringify({
|
||||
"response": "submit_bet",
|
||||
@@ -226,7 +242,7 @@ func submit_bet(bet: int, current_round: int) -> void:
|
||||
"bet": bet,
|
||||
}))
|
||||
|
||||
func submit_round_winner(winning_client_id: String) -> void:
|
||||
func submit_play_winner(winning_client_id: String) -> void:
|
||||
_send_message(JSON.stringify({
|
||||
"response": "submit_play_winner",
|
||||
"lobby_id": _lobby_id,
|
||||
|
||||
Reference in New Issue
Block a user