36 lines
937 B
Ruby
36 lines
937 B
Ruby
client = GameApiClient.new
|
|
turn1 = Turn.find_by(number: 1)
|
|
|
|
def get_units(gs)
|
|
return {} unless gs.is_a?(Hash)
|
|
gs = gs['game_state'] if gs.has_key?('game_state')
|
|
units = {}
|
|
if gs['powers'].is_a?(Hash)
|
|
gs['powers'].each do |power, data|
|
|
units[power] = data['units']
|
|
end
|
|
end
|
|
units
|
|
end
|
|
|
|
if turn1
|
|
puts "Sending process request for Turn 1..."
|
|
res = client.api_calculate_process(turn1.game_state, turn1.orders || {})
|
|
|
|
if res
|
|
new_gs = res['game_state']
|
|
puts "Response Phase: #{new_gs&.dig('phase')}"
|
|
|
|
puts "Units in Response game_state:"
|
|
units = get_units(new_gs)
|
|
puts units.inspect
|
|
|
|
puts "\nSending possible_orders request using this response..."
|
|
pos = client.api_calculate_possible_orders(new_gs, by_power: true)
|
|
puts "Possible Orders for AUSTRIA:"
|
|
puts (pos&.dig('possible_orders', 'AUSTRIA') || "None").inspect[0..500]
|
|
else
|
|
puts "Process failed."
|
|
end
|
|
end
|