From d117c1b7da44bb10616edfdb34c29549c1c6c7e3 Mon Sep 17 00:00:00 2001 From: Daniel <59575049+lemoentjiez@users.noreply.github.com> Date: Tue, 1 Nov 2022 22:35:56 +0200 Subject: [PATCH] Create bonus.py --- LabMD_1/bonus.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 LabMD_1/bonus.py diff --git a/LabMD_1/bonus.py b/LabMD_1/bonus.py new file mode 100644 index 0000000..2d644b8 --- /dev/null +++ b/LabMD_1/bonus.py @@ -0,0 +1,52 @@ + +import random +from PIL import Image +from PIL import ImageDraw + + +def getNextChild(o, t, r): + if o == t == r == 1: + return 0 + elif o == t == r == 0: + return 0 + elif o == t == 1 and r == 0: + return 1 + elif o == r == 1 and t == 0: + return 1 + elif o == 1 and t == r == 0: + return 0 + elif o == 0 and t == r == 1: + return 1 + elif o == r == 0 and t == 1: + return 1 + elif o == t == 0 and r == 1: + return 1 + + +def getNextGen(previousgen): + nextgen = [] + for x in range(0, len(previousgen)): + if x == 0: + nextgen.append(getNextChild(0, previousgen[x], previousgen[x + 1])) + elif x == len(previousgen) - 1: + nextgen.append(getNextChild(previousgen[x - 1], previousgen[x], 0)) + elif 1 <= x < (len(previousgen) - 1): + nextgen.append(getNextChild(previousgen[x - 1], previousgen[x], previousgen[x + 1])) + return nextgen + +m = 1000 +pixelSize = 2 +currentGen = [0 for x in range(m-1)] +currentGen.append(1) +width = height = m*pixelSize +img = Image.new('RGB', (width, height), (128, 128, 128)) +draw = ImageDraw.Draw(img) +for x in range(m): + for g in range(len(currentGen)): + if currentGen[g] == 1: + draw.rectangle([(g*pixelSize, x*pixelSize), (width, height)], fill="#000000") + else: + draw.rectangle([(g*pixelSize, x*pixelSize), (width, height)], fill="#ffffff") + print(currentGen) + currentGen = getNextGen(currentGen) +img.show()