In the last episode (i.e. post) I posted :) some code to make dices with PIL. With some more code I made it an exercize to submit to pupil to make them, with fun, understand the concept of major or minor. This code can easily be used for other educational purposes like sum (what is the sum of the two dices) and so on.
Here the code is and the output too:
from PIL import Image from IPython.display import display import os from random import shuffle WIDTH = 100 HEIGHT = 100 width = 22 height = 22 LEFT = int(WIDTH/8) MIDDLE = LEFT*3 RIGHT = LEFT*5 UP = LEFT DOWN = RIGHT big = Image.new("RGB",(WIDTH,HEIGHT),'white') little = Image.new("RGB",(width,height),'gray') l2 = Image.new("RGB",(width-2,height-2),'white') little.paste(l2,(1,1)) def paste(x,y): global big big.paste(little,(x,y)) def dado(x): if x == 1 or x==3 or x==5: paste(MIDDLE,MIDDLE) if x==2 or x==3 or x==4 or x==5 or x==6: paste(LEFT,UP) paste(RIGHT,DOWN) if x==4 or x==5 or x==6: paste(RIGHT,UP) paste(LEFT,DOWN) if x==6: paste(LEFT,MIDDLE) paste(RIGHT,MIDDLE) return big def play(): a = [1,2,3,4,5,6] shuffle(a) ap = a.pop() dado(ap) x = 1 def main(): global x print("N."+str(x)) x +=1 print("A B") global big play() two = Image.new("RGB",(WIDTH*2+12,WIDTH+7),'gray') two.paste(big,(3,3)) big = Image.new("RGB",(WIDTH,HEIGHT),'white') play() two.paste(big,(WIDTH+8,3)) # two.show() # UNCOMMENT IF YOU WANT TO SEE IT IN THE VIEWER display(two) print("[ ] A>B [ ] B>A") print() print() if __name__ == '__main__': for i in range(5): main()
To see the notebook:
http://nbviewer.jupyter.org/urls/dl.dropbox.com/s/zqvo6m3h97g0d8k/Dices%20for%20school.ipynb
Comments
Post a Comment