Browse Source

Record input for AI (Maybe misguided)

master
Luna 7 years ago
parent
commit
1f3e851a02
2 changed files with 55 additions and 0 deletions
  1. +1
    -0
      recordings/2-0-8903.rec
  2. +54
    -0
      scripts/ai/ai-player.gd

+ 1
- 0
recordings/2-0-8903.rec
File diff suppressed because it is too large
View File


+ 54
- 0
scripts/ai/ai-player.gd View File

@ -0,0 +1,54 @@
extends "res://scripts/player.gd"
var time = 0
func _ready():
._ready()
read_recording()
print(recording.spawn)
set_translation(recording.spawn)
func _physics_process(delta):
time += delta
play_keys()
func read_recording():
# Gather all existing recordings
var possible = []
var begin = "%d-%d" % [player_info.level, player_info.hero]
var path = "res://recordings/"
var dir = Directory.new()
dir.open(path)
dir.list_dir_begin()
while true:
var fname = dir.get_next()
print(fname)
if fname == "":
# Indicates end of directory
break
if fname.begins_with(begin):
possible.append(fname)
dir.list_dir_end()
# Now pick a random one
var fname = possible[randi() % possible.size()]
# Read the file into recording.events for later use
var frec = File.new()
frec.open(path + fname, File.READ)
recording = parse_json(frec.get_as_text())
print(recording.events)
frec.close()
func play_keys():
# events[0] is first event
# events[0][0] is first event's TIME
while float(recording.events[0][0]) <= time:
# events[0][1] is first event's EVENT2
var event_obj = recording.events.pop_front()[1]
print(event_obj)
var event = obj_to_event(event_obj)
Input.parse_input_event(event)
#._input(event)
#get_node("TPCamera")._input(event)

Loading…
Cancel
Save