Not logged in. · Lost password · Register

Haba_DibiDu_
Member since May 2015
62 posts
Subject: Game of Life A2 a)
Hallo Leute,

kann es sein, dass bei der Game of Life ein kleiner Fehler vorliegt? Entweder ist der erste Testfall zur a) falsch, oder in der Methode gamegrid, bei der initialisierung des grid arrays die height und width als index vertauscht. Kurz: Die uns bereits gegebene Implementierung widerspricht sich mit dem Testcase.

Geht man davon aus, dass man sich beim programmieren nicht nach dem Testfall orientiert sondern an der vorgegebenen, gamegrid Methode, die grid mit (h,w) initialisiert, dann würde man ja in allen anderen Methoden, inklusive add_entity, im 2d Array den ersten Index immer mit y (wegen height) und den zweiten immer mit x (wegen width) referenzieren.
Tut man das gibt der Testfall für 1a) aber folgendes aus:

Der Aufruf add_entity
(array([[False, False, False],
       [False, False, False]], dtype=bool),
 array([[ True]], dtype=bool),
 0,
 1) liefert das Ergebnis
array([[False, False, False],
       [ True, False, False]], dtype=bool), richtig wäre aber
array([[False,  True, False],
       [False, False, False]], dtype=bool).
Diese Teilaufgabe enthält Fehler!

Vertauscht man in add_entity die beiden Indizes zu grid[x][y] oder grid[x:.., y:...] kommt der Test durch. Diese Referenzierung würde sich dann aber mit der Initialisierung von grid widersprechen, da x zur width gehört und y zur height.

Das heißt, entweder man ändert die Initialisierung von grid in der vorgegebenen Methode gamegrid zu grid = np.zeros((w,h), ...) und übernimmt das in allen anderen Methoden, oder man passt den Testfall der Methode add_entity dementsprechend an, entweder indem man im Sollwert des Arrays den Truewert von Stelle a12 nach a21 rückt, oder in dem man die Parameter 0,1 von add_entity für x, y (siehe Aufruf Testcase) vertauscht.
This post was edited on 2018-06-28, 19:10 by Haba_DibiDu_.
marcoheisig
Member since Apr 2017
46 posts
Hallo Haba_DibiDu_,

da hast du völlig recht. Die Variablennamen sind verdreht. Ich werde die Tests und Funktionssignaturen aber für dieses Jahr nicht mehr ändern, sonst gibt es Chaos. Aber nächstes Jahr werden wir die Aufgabe besser stellen.

Vielen Dank für den Hervorragenden Bug-Report!
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Datenschutz | Kontakt
Powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2011 by Yves Goergen