sur codingame.com, une plateforme de jeux pour développeurs.
Mardi 21 octobre 2014 à 12:00
Cette discussion est en relation avec le billet suivant :
sur codingame.com, une plateforme de jeux pour développeurs.
import sys, math
# Auto-generated code below aims at helping you parse
# the standard input according to the problem statement.
# W: width of the building.
# H: height of the building.
w, h = [int(i) for i in raw_input().split()]
N = int(raw_input()) # maximum number of turns before game over.
x, y = [int(i) for i in raw_input().split()]
minx=miny=0
maxx=w
maxy=h
def update_frame(minx, miny, maxx, maxy, x, y, dx, dy):
if dx == 'L':
maxx = x - 1
elif dx == 'R':
minx = x + 1
if dy == 'U':
maxy = y - 1
elif dy == 'D':
miny = y + 1
return minx, miny, maxx, maxy
def jump(minx, miny, maxx, maxy):
x = minx + (maxx - minx) / 2
y = miny + (maxy - miny) / 2
return x, y
# game loop
while 1:
BOMB_DIR = raw_input() # the direction of the bombs from batman's current location (U, UR, R, DR, D, DL, L or UL)
if len(BOMB_DIR) == 2:
dy, dx = BOMB_DIR[0], BOMB_DIR[1]
elif BOMB_DIR in 'LR':
dx, dy = BOMB_DIR, None
else:
dx, dy = None, BOMB_DIR
minx, miny, maxx, maxy = update_frame(minx, miny, maxx, maxy, x, y, dx, dy)
x, y = jump(minx, miny, maxx, maxy)
print '%d %d' % (x, y)
GuybrushJe suis parti du même postulat, ce qui doit me manquer, c'est cette "optimisation" de la frame. J'avais systématiquement 1 test où j'arrivais à 1 position de la cible avant le temps échoué. Je testerai ce soir je pensedef update_frame(minx, miny, maxx, maxy, x, y, dx, dy):
if dx == 'L':
maxx = x - 1
elif dx == 'R':
minx = x + 1
if dy == 'U':
maxy = y - 1
elif dy == 'D':
miny = y + 1
return minx, miny, maxx, maxy
1996-2024 — Lexpage v4 — GPLv3 (sources)
page générée le 22 novembre 2024 à 14:29:57