From 424a7ced87a221daa154083c26aaf24ae674f642 Mon Sep 17 00:00:00 2001 From: Sandro Zimmermann Date: Thu, 4 Dec 2025 23:47:23 +0100 Subject: [PATCH] updated verkehr_sk.py but dosn't work at all --- verkehrssimulation/verkehr_sk.py | 34 +++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/verkehrssimulation/verkehr_sk.py b/verkehrssimulation/verkehr_sk.py index 17e2085..d11676f 100644 --- a/verkehrssimulation/verkehr_sk.py +++ b/verkehrssimulation/verkehr_sk.py @@ -9,6 +9,11 @@ INIT_CELLS = int(GRIDSIZE*0.1) MAX_TIME = 300 EMPTY_CELL = -1 +def unit_distance(grid, v): + for i in range(1, v): + if grid[i] != -1: + return i + return -1 # query distance between two cars def get_distance(grid, i): @@ -18,28 +23,32 @@ def get_distance(grid, i): Insert your code here """ - if i == GRIDSIZE-1: - dist = (grid[i], grid[0]) - else: - dist = (grid[i], grid[i+1]) + print(i % 300) + quit() - return dist + for n in range(1, grid[i]+1): + if grid[i + n] != -1: + return n + return -1 # state transition t -> t + dt def update(grid_old, grid_new): for i in range(GRIDSIZE): dist = get_distance(grid_old, i) - - if not -1 in dist: - dist = dist[1] - dist[0] - - print(dist) - time.sleep(0.5) - """ Update cars according rules using value 'dist' """ """ Insert your code here """ + if dist != -1: + if dist == 0: + grid_new[i] = 0 + elif dist - grid_old[i] < 0: + grid_new[i] = dist - 1 + else: + if grid_old[i] != 5: + grid_new[i] += 1 + else: + grid_new[i] = grid_old[i] # allocate memory and initialise grids grid_old = np.full((GRIDSIZE), EMPTY_CELL, dtype=np.int32) @@ -65,3 +74,4 @@ plt.xlabel('Cells') plt.ylabel('Timesteps') plt.imshow(traffic, cmap='Blues') plt.show() +time.sleep(0.1)