From 6fed9c2f13b775390cdc8571931638b6cc624006 Mon Sep 17 00:00:00 2001 From: MarcPartensky Date: Wed, 27 Feb 2019 12:11:57 +0100 Subject: [PATCH] added few stuff --- .DS_Store | Bin 6148 -> 6148 bytes Email/.DS_Store | Bin 0 -> 6148 bytes Email/Email Account Maker tuto.py | 22 + Email/Email Account Maker.py | 6 + Email/Email Sender.py | 23 + Email/__pycache__/credentials.cpython-36.pyc | Bin 0 -> 220 bytes Email/credentials.py | 2 + Extern Devices Detection.py | 14 + Fractal Dimensions.py | 418 ++++++++++++++++++ Hanoi Towers.py | 58 +++ Json/json test.py | 30 ++ Json/test.json | 1 + Matplotlib Tutorial/matplotlib tutorial.py | 103 +++++ Matplotlib Tutorial/text.txt | 6 + Minecraft with Pyglet/dirt.png | Bin 0 -> 270 bytes Minecraft with Pyglet/grass_side.png | Bin 0 -> 405 bytes Minecraft with Pyglet/grass_top.png | Bin 0 -> 665 bytes Minecraft with Pyglet/main.py | 125 ++++++ Neural Network/NeuralNetwork.py | 85 ++++ .../class en python.py | 9 + Pyglet test.py | 78 ++++ Screen Recording.py | 16 + Syracuse/.DS_Store | Bin 0 -> 6148 bytes Syracuse/GrapherV2.pyc | Bin 0 -> 7215 bytes Syracuse/GrapherV3.py | 211 +++++++++ Syracuse/GrapherV3.pyc | Bin 0 -> 8116 bytes Syracuse/__pycache__/GrapherV3.cpython-36.pyc | Bin 0 -> 6000 bytes Syracuse/__pycache__/mycolors.cpython-36.pyc | Bin 0 -> 585 bytes .../__pycache__/mycontrols.cpython-36.pyc | Bin 0 -> 676 bytes Syracuse/__pycache__/mymoves.cpython-36.pyc | Bin 0 -> 256 bytes Syracuse/__pycache__/mywindow.cpython-36.pyc | Bin 0 -> 3181 bytes Syracuse/map generation.py | 0 Syracuse/mycolors.py | 14 + Syracuse/mycolors.pyc | Bin 0 -> 680 bytes Syracuse/mycontrols.py | 12 + Syracuse/mycontrols.pyc | Bin 0 -> 912 bytes Syracuse/mymoves.py | 6 + Syracuse/mymoves.pyc | Bin 0 -> 275 bytes Syracuse/mywindow.py | 84 ++++ Syracuse/mywindow.pyc | Bin 0 -> 4621 bytes Syracuse/syracuse.py | 54 +++ Syracuse/test.py | 7 + Text/classes.py | 204 +++++++++ Text/converter.py | 49 ++ Text/test.py | 31 ++ Travail de Samy/travail 26-02-19.py | 85 ++++ __pycache__/email.cpython-36.pyc | Bin 0 -> 497 bytes email test 2.py | 23 + mandelbrot.py | 54 +++ opencv test.py | 16 + td samy.py | 3 + 51 files changed, 1849 insertions(+) create mode 100644 Email/.DS_Store create mode 100755 Email/Email Account Maker tuto.py create mode 100644 Email/Email Account Maker.py create mode 100644 Email/Email Sender.py create mode 100644 Email/__pycache__/credentials.cpython-36.pyc create mode 100755 Email/credentials.py create mode 100644 Extern Devices Detection.py create mode 100644 Fractal Dimensions.py create mode 100644 Hanoi Towers.py create mode 100644 Json/json test.py create mode 100644 Json/test.json create mode 100644 Matplotlib Tutorial/matplotlib tutorial.py create mode 100644 Matplotlib Tutorial/text.txt create mode 100644 Minecraft with Pyglet/dirt.png create mode 100644 Minecraft with Pyglet/grass_side.png create mode 100644 Minecraft with Pyglet/grass_top.png create mode 100644 Minecraft with Pyglet/main.py create mode 100644 Neural Network/NeuralNetwork.py create mode 100644 Nouveau dossier contenant des éléments/class en python.py create mode 100644 Pyglet test.py create mode 100644 Screen Recording.py create mode 100644 Syracuse/.DS_Store create mode 100644 Syracuse/GrapherV2.pyc create mode 100644 Syracuse/GrapherV3.py create mode 100644 Syracuse/GrapherV3.pyc create mode 100644 Syracuse/__pycache__/GrapherV3.cpython-36.pyc create mode 100644 Syracuse/__pycache__/mycolors.cpython-36.pyc create mode 100644 Syracuse/__pycache__/mycontrols.cpython-36.pyc create mode 100644 Syracuse/__pycache__/mymoves.cpython-36.pyc create mode 100644 Syracuse/__pycache__/mywindow.cpython-36.pyc create mode 100644 Syracuse/map generation.py create mode 100644 Syracuse/mycolors.py create mode 100644 Syracuse/mycolors.pyc create mode 100644 Syracuse/mycontrols.py create mode 100644 Syracuse/mycontrols.pyc create mode 100644 Syracuse/mymoves.py create mode 100644 Syracuse/mymoves.pyc create mode 100644 Syracuse/mywindow.py create mode 100644 Syracuse/mywindow.pyc create mode 100644 Syracuse/syracuse.py create mode 100644 Syracuse/test.py create mode 100644 Text/classes.py create mode 100644 Text/converter.py create mode 100644 Text/test.py create mode 100644 Travail de Samy/travail 26-02-19.py create mode 100644 __pycache__/email.cpython-36.pyc create mode 100644 email test 2.py create mode 100644 mandelbrot.py create mode 100644 opencv test.py create mode 100644 td samy.py diff --git a/.DS_Store b/.DS_Store index b52924dc8521f349a627089f9dfcfc2c7b92e46b..7a279d7d6878a86290334982d38a85f0750ec174 100644 GIT binary patch literal 6148 zcmZQzU|@7AO)+F(5MW?n;9!8zEL;p&0Z1N%F(jFwA|OK;!Di&-q#Fh&=jRqcWk#vd z5Eu=C!5jjhyvxeq%8<*D$dJi^E&n3P=H|P&B<18MfeMW)F^mS)EC(GK7#L7gq!3V1 zkbzM`urPQr6f@*AB`mu~2NHo+2j;0|Nsi1A_p=BsTHM^=xw(SvG%R6=vG3z`@QkvEkun hb`E|HCPt3Uf*jwOC-aL~3NS!4FhOaS%@HDNm;oP>5U>CM diff --git a/Email/.DS_Store b/Email/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmZQzU|@7AO)+F(5MW?n;9!8z45|!R0Z1N%F(jFgL>QrFAPJ2!M?+vV1V%$(Gz3ON zU^D~25V%SxcdJP zRior+2#kinunYl47MEZbCs3t{!+W4QHvuXKVuPw;Mo^s$(F3lEVT}ML$bg~*R5_@+ b2Uo?6kTwK}57Iu`5P${HC_Nei0}uiLNUI8I literal 0 HcmV?d00001 diff --git a/Email/Email Account Maker tuto.py b/Email/Email Account Maker tuto.py new file mode 100755 index 0000000..d850452 --- /dev/null +++ b/Email/Email Account Maker tuto.py @@ -0,0 +1,22 @@ +from selenium import webdriver +import time + +url = 'https://protonmail.com/' + +driver = webdriver.Chrome('/Users/olivierpartensky/Programs/Library/Selenium/chromedriver') +driver.get(url) +driver.find_element_by_xpath('//*[@title="Sign Up"]').click() +time.sleep(2) +driver.find_element_by_class_name('panel-heading').click() +time.sleep(4) +driver.find_element_by_id('freePlan').click() +time.sleep(2) +driver.find_element_by_id('username').send_keys('usernameForUser') +time.sleep(1.5) +driver.find_element_by_id('password').send_keys('passwordForUser') +time.sleep(2) +driver.find_element_by_id('passwordc').send_keys('passwordForUser') +time.sleep(2) +driver.find_element_by_class_name('signUpProcess-btn-create').click() +time.sleep(1) +driver.find_element_by_id('confirmModalBtn').click() diff --git a/Email/Email Account Maker.py b/Email/Email Account Maker.py new file mode 100644 index 0000000..5db52de --- /dev/null +++ b/Email/Email Account Maker.py @@ -0,0 +1,6 @@ +from selenium import webdriver +import time + +url="https://protonmail.com" + +driver=webdriver.Chrome( ) diff --git a/Email/Email Sender.py b/Email/Email Sender.py new file mode 100644 index 0000000..bda727e --- /dev/null +++ b/Email/Email Sender.py @@ -0,0 +1,23 @@ +import smtplib +import credentials + + +def send_email(subject, msg, receiver): + try: + server=smtplib.SMTP('smtp.gmail.com:587') + server.ehlo() + server.starttls() + server.login(credentials.SENDER, credentials.PASSWORD) + message = 'Subject: {}\n\n{}'.format(subject, msg) + server.sendmail(credentials.SENDER, receiver, message) + server.quit() + print("Success: Email sent!") + except: + print("Email failed to send.") + + +subject = "Test" +msg = "Je pratique le test de l'envoie de mail automatique par python et tu es mon cobaye." +receiver="alexandre.bigot@gmail.com" + +send_email(subject, msg, receiver) diff --git a/Email/__pycache__/credentials.cpython-36.pyc b/Email/__pycache__/credentials.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3d3166cd19c3a7d3c06fcef3cfdac3319138826b GIT binary patch literal 220 zcmXr!<>j*39}#24z`*dB0SPcNFfceUFfbJJFfcHrFhnt=Fh((^Fa= 0: + ix_str = '%04d' % playback_ix + pygame.image.save(window, 'playback/frame' + ix_str + '.png') + if playback_ix >= playback.shape[0]: + playback = None + break + else: + mat = prevMat * 0.98 + playback[playback_ix] * 0.02 + mat[:3,:3] = reorthogonalize(mat[:3,:3]) + keyvars = playback_vars[playback_ix].tolist() + playback_ix += 1 + + for i in range(3): + shader.set(str(i), keyvars[i]) + shader.set('v', np.array(keyvars[3:6])) + shader.set('pos', mat[3,:3]) + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) + glUniformMatrix4fv(matID, 1, False, mat); + glUniformMatrix4fv(prevMatID, 1, False, prevMat); + prevMat = np.copy(mat) + + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); + pygame.display.flip() + clock.tick(fps) + frame_num += 1 diff --git a/Hanoi Towers.py b/Hanoi Towers.py new file mode 100644 index 0000000..e58c249 --- /dev/null +++ b/Hanoi Towers.py @@ -0,0 +1,58 @@ + + +""" +class Hanoi: + def __init__(self,tower1,tower2,tower3): + self.tower1=tower1 + self.tower2=tower2 + self.tower3=tower3 + self.moveTower(10,tower1,tower2,tower3) + + def moveTower(height,fromPole, toPole, withPole): + if height >= 1: + self.moveTower(height-1,fromPole,withPole,toPole) + self.moveDisk(fromPole,toPole) + self.moveTower(height-1,withPole,toPole,fromPole) + + def moveDisk(fp,tp): + print("before moving disk from",fp,"to",tp) + tp=[fp[0]]+tp + del fp[0] + print("after moving disk from",fp,"to",tp) + self + + +if __name__=="__main__": + tower1=[x for x in range(10)] + tower2=[] + tower3=[] + hanoi=Hanoi() + + print(hanoi.tower1) + print(hanoi.tower2) + print(hanoi.tower3) +""" + + +number_of_disks=4 + +tower1=[x for x in range(number_of_disks)] +tower2=[] +tower3=[] + +def moveTower(height,fromPole, toPole, withPole): + if height >= 1: + moveTower(height-1,fromPole,withPole,toPole) + moveDisk(fromPole,toPole) + moveTower(height-1,withPole,toPole,fromPole) + +def moveDisk(fp,tp): + print("moving disk from",fp,"to",tp) + tp.reverse() + tp.append(fp[0]) + tp.reverse() + del fp[0] + +moveTower(number_of_disks,tower1,tower2,tower3) + +print(tower1,tower2,tower3) diff --git a/Json/json test.py b/Json/json test.py new file mode 100644 index 0000000..09addf7 --- /dev/null +++ b/Json/json test.py @@ -0,0 +1,30 @@ +import json + +a=dict() +a["chat"]=True +a["chien"]=False +a["combien"]=2 + +b=json.dumps(a) +print(a) +print(b) + +c=json.loads(b) + +print(c) + + +print(json.dumps(c,indent=2)) + +with open("test.json","w") as file: + json.dump(b,file) + + +with open("test.json","r") as file: + d=json.load(file) + +print(d) + +e=json.loads(d) + +print(e) diff --git a/Json/test.json b/Json/test.json new file mode 100644 index 0000000..91fbdf3 --- /dev/null +++ b/Json/test.json @@ -0,0 +1 @@ +"{\"chat\": true, \"chien\": false, \"combien\": 2}" \ No newline at end of file diff --git a/Matplotlib Tutorial/matplotlib tutorial.py b/Matplotlib Tutorial/matplotlib tutorial.py new file mode 100644 index 0000000..68009b5 --- /dev/null +++ b/Matplotlib Tutorial/matplotlib tutorial.py @@ -0,0 +1,103 @@ +import matplotlib.pyplot as plt +#from random import randint as rdt +import csv +import numpy as np + + +""" +x=[1,2,3] +y=[5,7,4] + +x2=[1,2,3] +y2=[10,14,12] + +plt.plot(x,y,label="First Line") +plt.plot(x2,y2,label="Second Line") +plt.xlabel("Plot Number") +plt.ylabel("Important var") +plt.title("Interesting graph\nCheck it out!") +plt.legend() +plt.show() + + + +x=[2,4,6,8,10] +y=[6,7,8,9,10] + +x2=[1,3,5,6,0] +y2=[6,3,8,3,10] + +population_ages=[20+rdt(0,50) for i in range(20)] +ids=range(len(population_ages)) + +bins=[10*x for x in ids] + + +plt.bar(ids,population_ages) +plt.bar(x,y,label="Bars1",color="blue") +plt.bar(x2,y2,label="Bars2",color="c") +plt.hist(population_ages,bins,histtype="bar",rwidth=0.8) + + + +x=[2,4,6,8,10] +y=[6,7,8,9,10] + +days=[1,2,3,4,5] +sleeping=[7,6,6,11,7] +eating=[2,3,4,3,2] +working=[5,3,5,6,2] +playing=[6,4,7,3,9] + +#plt.scatter(x,y,label="skitcat",color="k",marker="x",s=100) + +plt.plot([],[],color="m",label="Sleeping") +plt.plot([],[],color="c",label="Eating") +plt.plot([],[],color="r",label="Working") +plt.plot([],[],color="k",label="Playing") + +plt.stackplot(days,sleeping,eating,working,playing,colors=["m","c","r","k"]) + + + +slices=[7,4,2,13] +activities=["sleeping","eating","working","playing"] +cols=["c","m","r","k"] + +plt.pie(slices,labels=activities,colors=cols,startangle=90,shadow=True,explode=[0,0,0.1,0],autopct="%1.1f%%") + + +#Part 1 + +x=[] +y=[] + +with open("text.txt","r") as csvfile: + plots=csv.reader(csvfile,delimiter=",") + for row in plots: + x.append(int(row[0])) + y.append(int(row[1])) + +plt.plot(x,y,label="loaded from file") + + +#Part 2 + +x,y=np.loadtxt("text.txt",delimiter=",",unpack=True) + +plt.plot(x,y,label="loaded from file") +""" + + + +def graph_data(stock): + + stock_price_url = 'https://pythonprogramming.net/yahoo_finance_replacement' + + plt.xlabel("x") + plt.ylabel("y") + plt.title("Interesting graph\nCheck it out!") + plt.legend() + plt.show() + +graph_data("TSLA") diff --git a/Matplotlib Tutorial/text.txt b/Matplotlib Tutorial/text.txt new file mode 100644 index 0000000..a785c88 --- /dev/null +++ b/Matplotlib Tutorial/text.txt @@ -0,0 +1,6 @@ +1,2 +4,5 +2,5 +1,3 +6,4 +7,3 \ No newline at end of file diff --git a/Minecraft with Pyglet/dirt.png b/Minecraft with Pyglet/dirt.png new file mode 100644 index 0000000000000000000000000000000000000000..d225d91984a8b8b07d2a077e3ce2971a0d2c1aef GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7u6nvShE&`toxG9P$&klo zFQ2x;#lVZojYl{%GbI@Q^4@5D=^*}c(R5{zX~MTRo=;zX@BHoOSN&q;p4U#F`nKwZ zZ{6!lj*UDQYHx2#EOz?!bn=wVJGtJkIVN#z>ZYyN+8Q%9iDoNlSv|e*STtsCs77vT zMC8eUlf37fUBb5pJ~3?Q+3frJRD;a?i)-H4I!dkV)sep(UY550=KED^8yg-cdi%}k z-;;4!;$_MPx8q7O#rKbxq)n<%3UR%p^8NJ3c8l#BZ(TU0U^K_&S^I3ECwv_$_rq;0 bAByXIP(QYGOa24~1_lOCS3j3^P6~S21RPOB#PA4 z_ZB_8bSY(x;$c?9&Jz+w)51>#<#}8R&&pbKrgxLd?zCfJ!A6A-kM&oT_|0Aa_{XzH zHR;voil==qeyz`$v+ry2+nwT@!_VrRZq@UdckQr!Ny6{s8K1e!b5Fz^H>|(iweqtY z&y%bTUv6-2|9I>8f#y#VW!=p;s-+HP>=7$A*Y$`uF}!&3x=GPg5%YyfhlFoFs! zR@=nwS7(!^mwc!3&(tLI>{$iNCmng1F7@+0&vCa;r5t1LTs$zy|JV}r(ulO+q)glD%%S-sRcsKD`$!DG!@ zX-n=4lV4;mdgPPP9CbQnTg3A@DsR`7-Cwcw5NFHXcREM5b-3g`UG(izLY38B7klIX z9%dPyt2%w2ez~|x*6-ScId!_}jzopr01no@<^TWy literal 0 HcmV?d00001 diff --git a/Minecraft with Pyglet/grass_top.png b/Minecraft with Pyglet/grass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9bb29dd5735b845c9c387772606763104a30f79f GIT binary patch literal 665 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!to5~WPJSKS8z^z~ zyZocg`g%K0&lON?DYlv`v%Gp?$nqFIVNTU!Czf)1&E=ZF(d6AFSpOxp&*pjbb7RO<{&#^Tk0v}scDBpSJ-_Exs^Pjc zwFJhH=eJGb7ffqaa!vBw_Woa}X8dEJ*A@9z(Y?h#tv;6YE;QkNQI_~;0h8|OUUeBk z-rPK%-#kXuLKzM+)dCLZ1J{-vS-*R7;$s=fTiJ~POm@2hmi*0Lso13Cu|W8(=fq}V z#?r+vkM$}Yj}CwNE9Sx^&M!xpWk33ynceqTV1>r70<-hG3fzQF+}bzghNUvAY*YBx z<+J#7+}ZV#@1OP+NsBSAI5J6~@7w{ko&SPw>M2v==nU|?YIboFyt=akR{0E8Pl2><{9 literal 0 HcmV?d00001 diff --git a/Minecraft with Pyglet/main.py b/Minecraft with Pyglet/main.py new file mode 100644 index 0000000..2f2205c --- /dev/null +++ b/Minecraft with Pyglet/main.py @@ -0,0 +1,125 @@ +from pyglet.gl import * +from pyglet.window import key +import math + + +class Model: + + def get_tex(self,file): + tex = pyglet.image.load(file).texture + glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST) + glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST) + return pyglet.graphics.TextureGroup(tex) + + def __init__(self): + + self.top = self.get_tex('grass_top.png') + self.side = self.get_tex('grass_side.png') + self.bottom = self.get_tex('dirt.png') + + self.batch = pyglet.graphics.Batch() + + tex_coords = ('t2f',(0,0, 1,0, 1,1, 0,1, )) + + + for zi in range(-10,10): + for yi in range(-10,10): + for xi in range(-10,10): + x,y,z = xi,yi,zi-1 + X,Y,Z = x+1,y+1,z+1 + + self.batch.add(4,GL_QUADS,self.side,('v3f',(x,y,z, x,y,Z, x,Y,Z, x,Y,z, )),tex_coords) + self.batch.add(4,GL_QUADS,self.side,('v3f',(X,y,Z, X,y,z, X,Y,z, X,Y,Z, )),tex_coords) + self.batch.add(4,GL_QUADS,self.bottom,('v3f',(x,y,z, X,y,z, X,y,Z, x,y,Z, )),tex_coords) + self.batch.add(4,GL_QUADS,self.top,('v3f',(x,Y,Z, X,Y,Z, X,Y,z, x,Y,z, )),tex_coords) + self.batch.add(4,GL_QUADS,self.side,('v3f',(X,y,z, x,y,z, x,Y,z, X,Y,z, )),tex_coords) + self.batch.add(4,GL_QUADS,self.side,('v3f',(x,y,Z, X,y,Z, X,Y,Z, x,Y,Z, )),tex_coords) + + yi=-10 + for zi in range(-100,100): + for xi in range(-100,100): + x,y,z = xi,yi,zi-1 + X,Y,Z = x+1,y+1,z+1 + + self.batch.add(4,GL_QUADS,self.side,('v3f',(x,y,z, x,y,Z, x,Y,Z, x,Y,z, )),tex_coords) + self.batch.add(4,GL_QUADS,self.side,('v3f',(X,y,Z, X,y,z, X,Y,z, X,Y,Z, )),tex_coords) + self.batch.add(4,GL_QUADS,self.bottom,('v3f',(x,y,z, X,y,z, X,y,Z, x,y,Z, )),tex_coords) + self.batch.add(4,GL_QUADS,self.top,('v3f',(x,Y,Z, X,Y,Z, X,Y,z, x,Y,z, )),tex_coords) + self.batch.add(4,GL_QUADS,self.side,('v3f',(X,y,z, x,y,z, x,Y,z, X,Y,z, )),tex_coords) + self.batch.add(4,GL_QUADS,self.side,('v3f',(x,y,Z, X,y,Z, X,Y,Z, x,Y,Z, )),tex_coords) + + + def draw(self): + self.batch.draw() + + + +class Player: + def __init__(self,pos=(0,0,0),rot=(0,0)): + self.pos = list(pos) + self.rot = list(rot) + + def mouse_motion(self,dx,dy): + dx/=8; dy/=8; self.rot[0]+=dy; self.rot[1]-=dx + if self.rot[0]>90: self.rot[0] = 90 + elif self.rot[0]<-90: self.rot[0] = -90 + + def update(self,dt,keys): + s = dt*10 + rotY = -self.rot[1]/180*math.pi + dx,dz = s*math.sin(rotY),s*math.cos(rotY) + if keys[key.W]: self.pos[0]+=dx; self.pos[2]-=dz + if keys[key.S]: self.pos[0]-=dx; self.pos[2]+=dz + if keys[key.A]: self.pos[0]-=dz; self.pos[2]-=dx + if keys[key.D]: self.pos[0]+=dz; self.pos[2]+=dx + + if keys[key.SPACE]: self.pos[1]+=s + if keys[key.LSHIFT]: self.pos[1]-=s + + +class Window(pyglet.window.Window): + + def push(self,pos,rot): glPushMatrix(); glRotatef(-rot[0],1,0,0); glRotatef(-rot[1],0,1,0); glTranslatef(-pos[0],-pos[1],-pos[2],) + def Projection(self): glMatrixMode(GL_PROJECTION); glLoadIdentity() + def Model(self): glMatrixMode(GL_MODELVIEW); glLoadIdentity() + def set2d(self): self.Projection(); gluOrtho2D(0,self.width,0,self.height); self.Model() + def set3d(self): self.Projection(); gluPerspective(70,self.width/self.height,0.05,1000); self.Model() + + def setLock(self,state): self.lock = state; self.set_exclusive_mouse(state) + lock = False; mouse_lock = property(lambda self:self.lock,setLock) + + def __init__(self,*args,**kwargs): + super().__init__(*args,**kwargs) + self.set_minimum_size(300,200) + self.keys = key.KeyStateHandler() + self.push_handlers(self.keys) + pyglet.clock.schedule(self.update) + + self.model = Model() + self.player = Player((0.5,1.5,1.5),(-30,0)) + + def on_mouse_motion(self,x,y,dx,dy): + if self.mouse_lock: self.player.mouse_motion(dx,dy) + + def on_key_press(self,KEY,MOD): + if KEY == key.ESCAPE: self.close() + #elif KEY == key.E: self.mouse_lock = not self.mouse_lock + self.mouse_lock=True + + def update(self,dt): + self.player.update(dt,self.keys) + + def on_draw(self): + self.clear() + self.set3d() + self.push(self.player.pos,self.player.rot) + self.model.draw() + glPopMatrix() + + +if __name__ == '__main__': + window = Window(width=1440,height=900,caption='Minecraft',fullscreen=True) + glClearColor(0.5,0.7,1,1) + glEnable(GL_DEPTH_TEST) + #glEnable(GL_CULL_FACE) + pyglet.app.run() diff --git a/Neural Network/NeuralNetwork.py b/Neural Network/NeuralNetwork.py new file mode 100644 index 0000000..568354e --- /dev/null +++ b/Neural Network/NeuralNetwork.py @@ -0,0 +1,85 @@ +import numpy as np + +picture=np.random.randn(28,28) + +class NeuralNetwork: + def __init__(self,sizes=[784,784,28,10]): + """Create a neural network using list of sizes.""" + self.sizes=sizes + self.biases=[np.random.randn(y) for y in sizes[1:]] + self.weights=[np.random.randn(x,y) for x,y in zip(sizes[:-1],sizes[1:])] + #self.function=lamba x:1/(1+np.exp(-x)) + + def evaluate(self,test_data): + """Return number of successful predictions using test_datas list.""" + results=[(np.argmax(self.predict(x)),y]) for (x,y) in test_data] + return sum(int(x==y) for (x,y) in results]) + + def predict(self,input): + """Return predictions for given input.""" + input=np.reshape(input,(1,self.sizes[0]))[0] + for weight,bias in zip(self.weights,self.biases): + input=self.sigmoid(np.dot(input,weight)+bias) + return input + + def train(self,training_data,learning_rate=0.1,mini_batch_size=10,epochs=10,test_data=None): + """Train neural network using training_data and optionnal parameters such as learning rate, + mini_batch_size, epochs and test_data.""" + for epoch in range(epochs): + random.shuffle(training_data) + mini_batches=[training_data[k:k+10] for k in range(0,len(training_data)//10,mini_batch_size)] + for mini_batch in mini_batches: + self.learn(mini_batch,learning_rate) + print("Epochs completed:",epoch,"/",epochs) + if test_data: + print("Results:",self.evaluate(test_data),"/",len(test_data)) + + def learn(self,mini_batch,learning_rate): + """Train neural network using minibatch and learning_rate.""" + l=learning_rate + weights_errors = [np.zeros(weight.shape) for weight in self.weights] + biases_error = [np.zeros(bias.shape) for bias in self.biases] + for input,output in mini_batch: + biases_columns,weights_columns=self.backpropagation(input,output) + weights_errors = [error+column for (error,column) in zip(weights_errors,weights_columns)] + biases_errors = [error+column for (error,column) in zip(biases_errors,biases_columns)] + self.weights=[w-l*e for (w,e) in zip(self.weights,weights_errors)] + self.weights=[b-l*e for (b,e) in zip(self.biases,biases_errors)] + + + def backpropagation(self,x,y): + """Return tuple of weights_errors and biases in columns.""" + weights_errors = [np.zeros(weight.shape) for weight in self.weights] + biases_error = [np.zeros(bias.shape) for bias in self.biases] + + activations=[x] + weighted=[] + for (w,b) in zip(self.weights,self.biases): + z=np.dot(x,w)+b + weighted.append(z) + x=sigmoid(z) + activations.append(x) + + + + return dB,dW + + def opposite_sigmoid(self,x): #overly complicated + return -np.log(abs((x-1)/x)) + + def sigmoid(self,x): + return 1/(1+np.exp(-x)) + + def derivative_sigmoid(self,x): + a=self.sigmoid(x) + return a(1-a) + + def cost(self,input,output): + prediction=self.predict(input) + l=len(predictions) + return sum([(output[i]-prediction[i])**2] for i in range(l)) + +if __name__=="__main__": + nn=NeuralNetwork() + print(nn.__dict__) + print(nn.run(picture)) diff --git a/Nouveau dossier contenant des éléments/class en python.py b/Nouveau dossier contenant des éléments/class en python.py new file mode 100644 index 0000000..07b5132 --- /dev/null +++ b/Nouveau dossier contenant des éléments/class en python.py @@ -0,0 +1,9 @@ +class human: + def __init__(self,nom): + self.pieds=2 + self.nom=nom + def marcher(self): + print("Yes je marche avec mes "+self.nom+" pieds") + +valentin=human("valentin") +valentin.marcher() diff --git a/Pyglet test.py b/Pyglet test.py new file mode 100644 index 0000000..9267190 --- /dev/null +++ b/Pyglet test.py @@ -0,0 +1,78 @@ +from pyglet.gl import * + +class Model: + def get_tex(self,file): + tex=pyglet.image.load(file).texture + glTexParameterf(Gl_TEXTURE_2D,L_TEXTURE_MIN_FILTER,GL_NEAREST) + glTexParameterf(Gl_TEXTURE_2D,L_TEXTURE_MIN_FILTER,GL_NEAREST) + return pyglet.graphics.TextureGroup(tex) + + def __init__(self): + + self.top=self.get_tex("grass_top.png") + self.size=self.get_tex("grass_side.png") + self.bottom=self.get_tex("dirt.png") + + self.batch=pyglet.graphics.Batch() + + tex_coords=("t3f",(0,0,1,0,1,1,0,1)) + + x,y,z=0,0,0 + X,Y,Z=x+1,y+1,z+1 + + self.batch.add(4,GL_SQUADS,None,("v3f",(x,y,z,X,y,z,X,Y,z,x,Y,z))) + + def draw(self): + self.batch.draw() + +class Player: + def __inint__(self): + pass + + def update(self,dt,keys): + if keys[key.A]: print("a") + +class Window(pyglet.window.Window): + def __init__(self,*args,**kwargs): + super().__init__(*args,**kwargs) + self.set_minimum_size(300,200) + + self.model=Model() + + def Projection(self): + glMatrixMode(GL_PROJECTION) + glLoadIdentity() + + def Model(self): + glMatrixMode(GL_MODELVIEW): + glLoadIdentity() + + def set2d(self): + gluOrthod + self.Projection() + self. + + + def set3d(self): + self.Projection() + #persperctive + self.Model() + + def on_draw(self): + self.clear() + self.set3d() + self.Rotate() + self.model.draw() + + def on_key_press(self,KEY,MOD): + if KEY==key.ESCAPE: self.close() + elif KEY==key.SPACE: self.mouse_lock= not self.mouse.lock + + def update(self,dt): + self.player.update(dt,) + + +if __name__=="__main__": + window=Window(width=400,height=300,caption="Awesome Game",resizable=True) + glClearColor(0.5,0.7,1,1) + pyglet.app.run() diff --git a/Screen Recording.py b/Screen Recording.py new file mode 100644 index 0000000..44b7ca2 --- /dev/null +++ b/Screen Recording.py @@ -0,0 +1,16 @@ +import numpy as np +import cv2 +from mss import mss +from PIL import Image + +mon = {'top': 160, 'left': 160, 'width': 200, 'height': 200} + +sct = mss() + +while 1: + sct.get_pixels(mon) + img = Image.frombytes('RGB', (sct.width, sct.height), sct.image) + cv2.imshow('test', np.array(img)) + if cv2.waitKey(25) & 0xFF == ord('q'): + cv2.destroyAllWindows() + breakf diff --git a/Syracuse/.DS_Store b/Syracuse/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmZQzU|@7AO)+F(5MW?n;9!8z45|!R0Z1N%F(jFgL>QrFAPJ2!M?+vV1V%$(Gz3ON zU^D~25V%SxcdJP zRior+2#kinunYl47MEZbCs3t{!+W4QHvuXKVuPw;Mo^s$(F3lEVT}ML$bg~*R5_@+ b2Uo?6kTwK}57Iu`5P${HC_Nei0}uiLNUI8I literal 0 HcmV?d00001 diff --git a/Syracuse/GrapherV2.pyc b/Syracuse/GrapherV2.pyc new file mode 100644 index 0000000000000000000000000000000000000000..84678eba85a12267f36afaf0129caacdd9717fff GIT binary patch literal 7215 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 F0{|XmarOWJ literal 0 HcmV?d00001 diff --git a/Syracuse/GrapherV3.py b/Syracuse/GrapherV3.py new file mode 100644 index 0000000..808a22b --- /dev/null +++ b/Syracuse/GrapherV3.py @@ -0,0 +1,211 @@ +#-------# +#Credits# +#-------# + +__author__="Marc Partensky" +__license__="Marc Partensky Company" +__title__="Grapher" + +"""This program needs pygame to be run.""" + +#------------# +#Dependencies# +#------------# + +from mycolors import * +from mywindow import * +from mymoves import * +from mycontrols import * + + +import math +import random +import numpy as np +import noise + +#-------# +#Classes# +#-------# + +class Graph: + def __init__(self,function,color=RED): + self.function=function + self.color=color + self.dots=[] + self.precision=1 + + def trace(self,plan,window): + self.dots=[] + zx,zy=plan.zoom + ux,uy=plan.units + mx,my=plan.middle + px,py=plan.point + wsx,wsy=window.size + tx,ty=(wsx//2,wsy//2) + for X in range(0,wsx,self.precision): + x=((X-tx)/zx+mx)/ux + y=eval(self.function) + Y=(ty-(y*uy+my)*zy) + if 0<=X0.1: + zx/=(1.+zoom_step) + if zy>0.1: + zy/=(1.+zoom_step) + if key[K_RETURN]: + px,py=self.default_point + mx,my=self.default_middle + ux,uy=self.default_units + if pygame.mouse.get_pressed()[0]: + pressed=bool(pygame.mouse.get_pressed()[0]) + ax,ay=pygame.mouse.get_pos() + mx+=int(float(ax-tx)*0.1) + my+=int(float(ay-ty)*0.1) + self.acceleration=ax,ay + self.velocity=vx,vy + self.middle=mx,my + self.units=ux,uy + self.zoom=zx,zy + + +class Grapher: + def __init__(self,functions,settings=None): + if settings is None: + self.setDefaultSettings() + else: + self.setNewSettings(settings) + + self.name="Grapher" + self.controller=Controller() + self.window=Window(self,self.window_size) + self.plan=Plan(BLACK,WHITE) + for function,color in zip(functions,self.graph_colors): + self.graph=Graph(function,color) + self.plan.addGraph(self.graph) + self.plan.draw(self.window) + self.session() + + def session(self): + while self.window.open: + self.window.check() + #self.plan.control() + self.show() + self.window.kill() + + def show(self): + self.plan.move(self.window,self.controller) + self.plan.draw(self.window) + self.window.flip() + + def setNewSettings(self,settings): + self.window_size=settings[0] + self.plan_units=settings[1] + self.graph_colors=settings[2] + self.settings=settings + + def setDefaultSettings(self): + self.window_size=(1000,700) + self.plan_units=[10,10] + self.graph_colors=[RED,BLUE,GREEN,YELLOW,WHITE,PURPLE,GREY,DARKBLUE,DARKRED,DARKGREEN] + self.settings=self.window_size,self.plan_units,self.graph_colors + +#-------# +#Actions# +#-------# + +if __name__=="__main__": + functions=["math.sin(x)","math.cos(x)","random.random()"] + Grapher=Grapher(functions) diff --git a/Syracuse/GrapherV3.pyc b/Syracuse/GrapherV3.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1bec362ae6c83a3f2ad2f817acb011e859e13ebe GIT binary patch literal 8116 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 YQs6LSV`SriHUpV?7{QQDSWY+t0JJ|0*#H0l literal 0 HcmV?d00001 diff --git a/Syracuse/__pycache__/GrapherV3.cpython-36.pyc b/Syracuse/__pycache__/GrapherV3.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d23d8da9f2665f00e6158a38b48ee91ddaaf8b58 GIT binary patch literal 6000 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 literal 0 HcmV?d00001 diff --git a/Syracuse/__pycache__/mycolors.cpython-36.pyc b/Syracuse/__pycache__/mycolors.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..81e9d44f878d0337d78d93ab846ed4afaa1dbaf0 GIT binary patch literal 585 zcmXr!<>flz{5(2@k%8ec0}^0nU|?`yU|=Y=VPIfLVUJ=+;fP{P;f!KR;fi8T;f`WS z;fZ2R;f-QT;frEV;g8}-5s2bU5sczW5sKnY}W@KbYVGCx^6n+UZ_T_&D28Nd@ zAVLI0a4|42R0-x*Cgw16eygeG$l$b$$1CIHq4lG0=@Vgb1WPG~Y0v4RBP1Q7zfw^*EfLS1h$ z2f4c3Vs#I4b@jW&7U}Ba;~##D)yc=v+4~l2xQAzm>n#@dAlJxSYyqJ`0Y0v`I9wcq zyul*uAQnhBCx`(t0W1qPm$jfMGp}SNLy<7ZWgz00kA7%zYEiL%eokgtW@=GEVo^zI zUU7D%en3%vdQoC-v3@{hNk)F2eo$&besN|=eo>{ak%6J5esE<`VsdG5sy-}E^a?6( aaoFVMrhi$eja^;fq~&M0}^0nU|?`yU|=XVVqjoMVMt-jVF&@yOgW5Ej9@-f2!lIA z3Udle3quM^GgB0EDoYA$Gb1BI3R5tHCfiGpVVaD$7`6P8K};BCf*CBsz`&5o05U9! zDTOhGsf8hm8Dd-%OA0HKPR&+GqtE7v8W_9uQKcFZ-y(lraSU;e$BqKjh zKPa^zzc{lbzo=5z$iUE2Ke)0eF}bujRX?{f8RCXwy@JYH9P#m)d6^~g@$4YmL0(~C ztP)1JQV%AN-ML&03=Aa=6jT#=yXEiybP>iR1zyBo{!X{WMuYuFXr#O^uJg#T6f)o1ape17h>U z#}}3+=0IeMKprXLMzseVejv+=K&b%4C|0wYZ1_H=)2I4|HP~;YaOyFPw I*~rHR097`e)Bpeg literal 0 HcmV?d00001 diff --git a/Syracuse/__pycache__/mymoves.cpython-36.pyc b/Syracuse/__pycache__/mymoves.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..65fd04d801c7281219f5fa175592e744269befde GIT binary patch literal 256 zcmXr!<>j)Fc^>V;z`*dB0SPcMFfceUFfbI$FfcHrFhnt=Fh((^Fhwz?Fh?<`vZSyy zGcq!yum&?|vb_Xpd&$Va!0-~J>m@S-14ETyZlywQepzaxUMn78UE~=VX>;rWO?> z7L}yt6=zrK2NdO}7bWHv>jzYpWaQ`R2c;I|7iX5_7gg#S85mmX2Uiv)CYKhc>gQI1 f?bj=)yv1RYo1apelWGTYWHAQ=0|N^q7%~9>-w#8i literal 0 HcmV?d00001 diff --git a/Syracuse/__pycache__/mywindow.cpython-36.pyc b/Syracuse/__pycache__/mywindow.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..50f6b95beb20541a9ea757b9a3f7e81655a39b90 GIT binary patch literal 3181 zcmXr!<>gX|e-XWegMr~O0}^0nU|?`yU|=XVVqjoMVMt-jVF&@yOgW5Ej9@-f2!lIA z3Udle3quM^GgB0EDoYA$Gb1BI3R5tHCfiGpVVaD$7`6P8K};BCg&Ew#z`&5o05U9! zDTOhLIfW^ODFtK*OB!nmYYJNnV-#x&dkRMjLlj#IX9`yfLlk=ocM4AnLlj2}Zwg-v zLlkEUe~Lg0LljqvV2V%+Llk$4aEeF^LljSnXo^@1Llkd{c#1>|Llj?%WQtS^Lll3C zbc#$1LzF;@Y>He9LzG~Oe2PK~LzEEM$%?nw!ZY(y^2>`D85kJ+ZgJ-3=j9g{BqpbZ zB(p)C528Uq;|vNKHwFfV5(XBAEXEW@a|R}cc*YWjEXEp!c%~Z0Ean=9c$OLv$(q7c z!w}C_10vaLSZWyJIcivooN5@dIGY(58B!R688n&wUV1+ zHz~E~7E4}YZt5-8lFX8v)LSfR`FSO`Sn>-}^KP*eXI7=&;wnk4D2Y$b&&e;k#ax_P zqRDoPr8qSwEs7;QF*mh{n}LC$h!aHcfCyd&28NXkMf?m548MHzLyJ?3iuLnzGRrbk ziwY8pN>cNRvn%xjit^Ko5_60711d{0^7HhAQVa5nGfVP|Ds_zv3@!D8D~l47ON&$W zb1TciVWwA5d5a@HJ~J<~BtD)C6gonnAYk_GVD9bAb7r zH4Ir?;B*KISSG)hjtmS8n%uY83MxUt5yb*><1O~$)RN%Ls#I{m++q)|EOrA0D|-VSi{r|DsCA4G?|M)K9AxoDN4*MPRlRKy~SFboS2iU z$qex-dqHM$Nof%zLLrVocp2nf6(ncyK%D_L0eeh=l4yk;#2w8HE)1~-;8+4BN|tP< zBBc~il4J#y1SM?QOhr63j9Kg@93U1%rjREb7JqJ0Kp zAT^35Fw`@o2$YJV*u7mNUHrrSZZT)4Rz`7n$GZkQI|jHy1Gz{J6z^akfeCN`vnFSx zCTFXIJO;}942%MdJdA9R7=?KetOUi2pr`-`v>h}Tg7P28b0y4@3`JrkEWr#lj3um+ z3`I&MY+yFKBtwy22?vW<3j_Ym_h?U>OlUEVgZp*@7`j`POU6Pi^f}= zDVas7$)L=s5Arjl2;ySoU}QnURRYk+g)2t!Jtz@_eILTWz);}_%8W%I5?mHlSd}n= zN+EEB>wv-}ixnKbGN9;9Va#SK0IYokBxG{QW@wk77$IEh)**yTx3PUknWl zh#qjXg9&ilvlXZ2q$ZbGfdT@Qejufg0HX*ZlR;Eq_q`U#_bN!qTMX=5W{{6Si5lcX zkk1f)0u=*bk7=?%VjP?z!9D>QhR?061^JnIC7^=37!>@VbXo;VpI|At8$p(UFgS(~ z1p%mj09T~&f}jXg1m0pv%gHRz#9l`0GB7Z>fAy14>Vz^pM2} zDR`ijH=~~>Q;|3W1H&zrq@2tWXn|8C3liY~*PEc)0vt170vtWuDMg9p0gxie1IZOa zP*)&HWA{8LprBp`X9G>fD3$`uLKYkj-bfa}N^)pT2XET2GcYiK%mjxls2YOAeGN+u zYco?VOASjFa}8q(V-0gNb1kUOWyxZ#VFMMv&`@B4q-sqzNaS;ZQZT3rjAAQF%}Yrw z0*6o$$Y4!&NQuk>YPS@Da_TKsaO(wJ8G~!FDAt_Bq|_X+#~=ha&^U@S^2Q5DnVHLO(8S4Ait<2HAR#47DsL+I68{KK@-IbX*lWSTQ r6od8MVl61j%qxM!45}M$aoFVMrOdO0HEPOryQk#I{ literal 0 HcmV?d00001 diff --git a/Syracuse/map generation.py b/Syracuse/map generation.py new file mode 100644 index 0000000..e69de29 diff --git a/Syracuse/mycolors.py b/Syracuse/mycolors.py new file mode 100644 index 0000000..0343371 --- /dev/null +++ b/Syracuse/mycolors.py @@ -0,0 +1,14 @@ +BLUE = ( 0, 0,255) +RED = (255, 0, 0) +GREEN = ( 0,255, 0) +YELLOW = (255,255, 0) +BLACK = ( 0, 0, 0) +WHITE = (255,255,255) +GREY = (100,100,100) +PURPLE = (100, 0,100) +DARKGREY = ( 20, 20, 20) +DARKRED = ( 10, 10, 10) +DARKGREEN = ( 10, 10, 10) +DARKBLUE = ( 10, 10, 10) + +print("mycolors imported") diff --git a/Syracuse/mycolors.pyc b/Syracuse/mycolors.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6bf02b9bb014487f17c69e9d2bdb6688d14bb6a3 GIT binary patch literal 680 zcmZSn%*%Dc`FV6Q0~9bbFfceUFfbGcGB7Zturow4Fr;uWL@_d?a56+OF{E%YL@_g@ za5F@)Fr@G>M6oiY@G?ZPF{JP@M6olZ@H0elFr)}DL~$~t2r@)*F{B7FL~%2uurj!N zq_8mrYX~ziFl2(P%KQ&vrGN+#5WxkqQ;>myA-6I)KPSJaSRpgFAit<2HN{T@br zvV<`rjG>IW3%rxzvW7V8I8mSp7T>ANT9rWWhF x7bO;Cq!#Iir4|)u=I1FG>BAydub>j_B%9p)l+v73J4R6KOE54nurXqVOaMBXbGHBh literal 0 HcmV?d00001 diff --git a/Syracuse/mycontrols.py b/Syracuse/mycontrols.py new file mode 100644 index 0000000..26bcc1f --- /dev/null +++ b/Syracuse/mycontrols.py @@ -0,0 +1,12 @@ +from mymoves import * + +import pygame +from pygame.locals import * + +class Controller: + def __init__(self): + pass + def pressed(self): + return pygame.key.get_pressed() + +print("mycontrols imported") diff --git a/Syracuse/mycontrols.pyc b/Syracuse/mycontrols.pyc new file mode 100644 index 0000000000000000000000000000000000000000..21d46390a200846b6bb7786f1b006e8ca0a68fe6 GIT binary patch literal 912 zcmZSn%**Aj{5(3D0ScHI7#JKF7#NCe7#J8*7#LC*8FCmHLO?7gh8#wQC`Onl6GKP} zGeZg+LkbH+3j;$l14CpKGeZh1gS$rx6GN~DI|Bnl=Kufy|7$QZFff#W2ra)7E(Qh$ z=lr~qqWqkk)FQaGAXz7nwNeZW45qL@HV05O;uf`T=e7#J9mL5gA68Kj8? z;?`iWO@106uYj2)Ac^ACoHU3KNW9pWfq_9kv^ce>SU*1}vn(^Us35VZBsH%%yHY=( zC_lX@F}GMhpt2+*KTqF1F*mhX-@PcYAS1O%KP$6VvKSe%m_XqLb1x{&OV}6~7z!%W6LV8bK>X~~ z$`Wn{28Q(1lK6t6)Z*gQ6tI_qK!(%QJ0LGWZR7+6F33U#Mh#F2EAL2ov$Ona2G00JDjGRox!VC-yh*(j`%q_?-DoITN zI{@Nzkjru_bMwnmi-SPgNMeq;4rj-gqj`5BgLTf N!^OnI$i*bg1^|Rn(}Ms2 literal 0 HcmV?d00001 diff --git a/Syracuse/mymoves.py b/Syracuse/mymoves.py new file mode 100644 index 0000000..956a60a --- /dev/null +++ b/Syracuse/mymoves.py @@ -0,0 +1,6 @@ +RIGHT = 0 +UP = 1 +LEFT = 2 +DOWN = 3 + +print("my moves imported") diff --git a/Syracuse/mymoves.pyc b/Syracuse/mymoves.pyc new file mode 100644 index 0000000000000000000000000000000000000000..72a0a3460c1b2f29b41d3c637bce234a1c7f1e28 GIT binary patch literal 275 zcmZSn%*$mV^E^740SXuy7#JKF7#NBb85kH+7#N}$7*ZG+q8J%cm>8m%7*d!SqL>*{ zSQy+rQdk*+HP{#!7&1XxGeH_NnLu1-kaj@^28P^9h1~qI)MACq+=Bd~lGGGG4HgCl zh7wi=28JL{caM+~kowSo5|F5mt6K<|;o=|ervWk&K@@v2Ffizc7N-^!>*wcWmSv_E z6(kmwq~;Z8SLz28<);@V<`(M*RF-7q=jppA=B5_wyB8%EWTY19hou%3XXfWA80qI$ gf*qq*P+7vkz`$UWo1apelWGTYcQHtSjS&o)0L+j&6951J literal 0 HcmV?d00001 diff --git a/Syracuse/mywindow.py b/Syracuse/mywindow.py new file mode 100644 index 0000000..2565792 --- /dev/null +++ b/Syracuse/mywindow.py @@ -0,0 +1,84 @@ +from mycolors import * + +import pygame +from pygame.locals import * + + + +class Window: + made=0 + def __init__(self,game=None,size=None,font="monospace",text_color=BLACK,set=True): + Window.made+=1 + self.number=Window.made + self.title=game.name + self.font=font + self.open=True + self.size=size + self.text_color=text_color + if set: + self.set() + + def set(self): + pygame.init() + self.setSize() + self.font = pygame.font.SysFont(self.font, 65) + self.screen=pygame.display.set_mode(self.size) + pygame.display.set_caption(self.title) + + def setSize(self): + if self.size is None: + info = pygame.display.Info() + self.size=(info.current_w/2,info.current_h/2) + + def pop_up(self,message): + pass + + def scale(self,picture,size): + return pygame.transform.scale(picture,size) + + def check(self): + for event in pygame.event.get(): + if event.type == pygame.QUIT: + self.open=False + if event.type == KEYDOWN: + if event.key == K_ESCAPE: + self.open=False + + def direction(self): + keys=pygame.key.get_pressed() + if keys[K_LEFT]: + return LEFT + if keys[K_RIGHT]: + return RIGHT + if keys[K_UP]: + return UP + if keys[K_DOWN]: + return DOWN + + def select(self): + while self.open: + self.check() + for event in pygame.event.get(): + if event.type == MOUSEBUTTONDOWN and event.button == 1: + return (event.pos[0],event.pos[1]) + + def point(self): + for event in pygame.event.get(): + return (event.pos[0],event.pos[1]) + + def flip(self): + pygame.display.flip() + + def drawPicture(self,picture,position): + self.screen.blit(picture, position) + + def display(page): + pass + def showText(self,text,position,color,font,size): + font=pygame.font.SysFont(font, size) + label = font.render(text, 1, color) + self.screen.blit(label, position) + def kill(self): + pygame.quit() + +print("mywindow imported") diff --git a/Syracuse/mywindow.pyc b/Syracuse/mywindow.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b4a143546feed95620905fc539ecc268b58e75ca GIT binary patch literal 4621 zcmZSn%*&+`{~|h>0ScHI7#JKF7#NCe7#J8*7#LC*8FCmHLO?7gh8#wQC`Onl6GKP} zGeZg+LkbH+3j;$l14CpKGeZh1gS$rx6GN~DI|Bnl=Kufy|7$QZFff#W2ra)7HUwVsdIS$O9k@3Oi?zN0LAu zW?*2+Vg!YsIa53%LkR;z79&Fq14BF$Lk%NC7BiU5!cYTYuridefkoIEYM8(b4u%>Q zFoTn!hLxcx4#dvl0tGW;9yn%#HJBI}82mCp0jt5yz`zg$VwJFfoR*l93J&SK(%huf zBCuFqVs2^)E68D)B{`{Jp|t$G5-=mAs1zcSUyzyy7AelGN-g06sZOmZiBHbY$uBAa zd9OINL<8hih@#Y-G%zDQF*h{`q&f%`=|Nz}@GvkiXn+C>OcZ-FFfizc7N-^!>*wcW zmSv_E6(kmwq~;Z8SLz28<);@V<`(M*RF-7q=jppA=B5_wyB8%EWTY19hou%3XXfWA z80qI$mV;A{UO{CE2Ll5`e0*kJW=VWJ$mU`pkX?-Yj694yjGR!&#+VEW6A%VD9vnAu zAWwlKqnUw$v4(*miwPX4pa^1S$YKG9GczdOnwdcCcxG_iu`*P_l#vHz;F+0vViSvpE=w>=;UzK*>Lg1r+SH zjNshB3JPygP`+RTv(lJAVH(fCfSS}nCWFfraAE@oreA(uYLEaZ^^1Ta7L@uu^V0Ic zIW)Pns33~H1zz#ujB`7)MrWO|`rl&%rKw(a8hk}z;L4HAeX@Mfhxghs3FeZZ{ z5{AJ}6$S+}IR9jUOR^d!hGtN44{)|@)gLjAP<5Z1NK!W0|P@v5;#XQLQ4df*gyto@`Mxt zEDYI93`HgkC9L4Y$p%WCpd`!8P{IzD5&)-V4u%p=FgFpQvM`aMPymF&kz$z(lxjgq z7aTgNWvO{3;4(Hn6;djfR2D!=<-kzS5U?7z#GK;PAWl#WfYOAwYov>RxF1+kb}FQ( z@Q!y4c6JPKMI@gfC7KomV234Vq$X#pg8~>-FfcHRF$yvAK+-xas6oLE4r)+M04i)@ z;S34m5@rU;B3XtK7KY#&Mo_>>7HNa(L@$H^dBe_ihJ^V0fdUvD=t-p|CHZ;a#9feIj0khEej0{1sGKfN%}Grzu>u7) zD3>xY@-T8SiZRL|DmZu`8-oH_2d(6gh6N|MAps6BW^mAf0t`8%KqWb(1qU(^l7K<^ z6%sxcpqvYeQgCfWYmb8(hXwhWc_pBhOEJhjpo|PoR-jA_!r){j2r7SIH2|m)g_I3J z@elC@ygE+H$t<8to5Y%dfx#6NWuOqlR&|LpFo5#_*zGlppq6$s6SU0+@|_2TDuu(jL^KVFfi8YFR+N8&D?*+(W8i zW@u(+sD(7JSs1cd8EV*2Vh3b8q*wv>J|HO!WKR&dIRdh^C^au7wI~P_c|oAQE2N#s z3yaH=)QXZITM!SF%)uQRaJw7Qk_3t6BqpWi&@f6tJ(l8({PK|0iV|N?e1crfz$nTn z3Mo}k;*<~MQgAv&%V4080DB)CyM?8hCE&OQ7Z5abJSaZ1GjnnRK@JDGfq~Ia0~Gn- z3=tm>>RraigL{nepsq@3PHKF75V$mu0C@!zz)n7n&fYrGvC_ literal 0 HcmV?d00001 diff --git a/Syracuse/syracuse.py b/Syracuse/syracuse.py new file mode 100644 index 0000000..ad78a4e --- /dev/null +++ b/Syracuse/syracuse.py @@ -0,0 +1,54 @@ +from mywindow import * +from mycolors import * + +from GrapherV3 import * + +class Tree: + def __init__(self,position=(-10,0),size=(20,20)): + self.position=position + self.size=size + self.coordonnates=size+position + self.color=WHITE + + def draw(self,plan,window): + self.trace(plan,window) + for i in range(len(self.trunk)): + value,start,end=self.trunk[i] + pygame.draw.line(window.screen, self.color, start, end, 1) + + + +class Syracuse(Tree): + def __init__(self): + Tree.__init__(self) + tx,ty=self.position + self.trunk=[(1,(0,0),(0,0))] + try: + self.grow(self.trunk) + #print(self.trunk) + finally: + print(self.trunk) + + def grow(self,trunk): + tx,ty=self.position + sx,sy=self.size + new_trunk=[] + #print(position) + for branch in trunk: + #print(branch) + value,old_position,position=branch + x,y=position + #print(position) + if tx<=x0 and vowelfound: return word[:i] + return word + + +class MutableString(object): + def __init__(self, data): + self.data = list(data) + def __str__(self): + return "".join(self.data) + def append(self,element): + self.data+=list(element) + def appstart(self,element): + self.data.reverse() + element.reverse() + self.data.append(element) + self.data.reverse() + + def __repr__(self): + return "".join(self.data) + def __setitem__(self, index, value): + self.data[index] = value + def __getitem__(self, index): + if type(index) == slice: + return "".join(self.data[index]) + return self.data[index] + def __delitem__(self, index): + del self.data[index] + def __add__(self, other): + self.data.extend(list(other)) + def __len__(self): + return len(self.data) + def __reverse__(self): + self.data.reverse() + + + +noun={"nature":None, + "singular":None, + "synonyms":[]} + + + + + + + +if __name__=="__main__": + + sentence=Sentence("you're a fucking asshole you dumbass, you are a scrotumbag") + b=Str([1,2]) + #a=a.remove(".") + #print(a) + print(sentence.words) + print([word.syllables for word in sentence.words]) + print(sentence-"fucking ") + sentence=MutableString(sentence) + print(sentence) + print(sentence.append("Wesh negro")) + #print(list(a)) + #print(a.remove("s")) + #print(b.remove(1)) + + + #def decomposeSentence(Str): + + #return words + + #decomposeSentence(a) diff --git a/Text/converter.py b/Text/converter.py new file mode 100644 index 0000000..d729e26 --- /dev/null +++ b/Text/converter.py @@ -0,0 +1,49 @@ +from classes import Str,List,Sentence,Word + +def test(arg1,arg2): + #do something with args + a = arg1 + arg2 + return a + + + +keywords=["assert","break","class","continue","def","del","elif","else","except","finally","for", + "from","global","if","import","in","pass","print","raise","return","try","while","yield"] + +conversion = {"assert":"ASSERT", + "break":"SORTIR DE LA BOUCLE" + "class":"CLASSE", + "continue":"CONTINER", + "def":"DONNEES", + "del":"SUPPRIMER", + "elif":["SINON SI","FAIRE"], + "else":["SINON","FAIRE"], + "except":"EXCEPTE", + "finally":"FINALLEMENT", + "for":["POUR","FAIRE"], + "from":"DEPUIS", + "global":"GLOBAL", + "if":"SI", + "import":"IMPORTER", + "in":"DANS", + "pass":"PASSER", + "print":"AFFICHER", + "raise":"RELEVER", + "return":"AFFICHER", + "try":"ESSAYER", + "while":["TANT QUE","FAIRE"], + "yield":"PASSER AU TOUR SUIVANT", + "==":"=", + "=":"<-"} + +def convert(name): + import inspect + lines = inspect.getsource(foo) + lines=Str(lines) + output=[] + for line in lines: + output.append(convert(line) + return "".join(output) + +def convert(line): + pass diff --git a/Text/test.py b/Text/test.py new file mode 100644 index 0000000..2b7754d --- /dev/null +++ b/Text/test.py @@ -0,0 +1,31 @@ +def foo(arg1,arg2): + #do something with args + a = arg1 + arg2 + return a + + + +print(lines.split("\n")) + + + +def convertir(nom): + import inspect + lines = inspect.getsource(foo) + lines=Str(lines) + output=[] + for line in lines: + output.append(convert(line)) + return "".join(output) + +def convert(line): + if word_split(): + + + +#import dis +#print(dis.dis(foo)) + +#from dill.source import getsource + +#print(getsource(list.remove)) diff --git a/Travail de Samy/travail 26-02-19.py b/Travail de Samy/travail 26-02-19.py new file mode 100644 index 0000000..7f7d03f --- /dev/null +++ b/Travail de Samy/travail 26-02-19.py @@ -0,0 +1,85 @@ +import random +import sys + +print(sys.getrecursionlimit()) + +sys.setrecursionlimit(10000) + +print(sys.getrecursionlimit()) + +"""1""" + +def belong(element,list): + if len(list)==1: + if [element]==list: return True + else: return False + else: + return (belong(element,list[:1])+belong(element,list[1:])>0) + + + +def union(l1,l2): + if l1==[]: return l2 + if not belong(l1[0],l2): return [l1[0]]+union(l1[1:],l2) + else: return union(l1[1:],l2) + +def intersection(l1,l2): + if l1==[]: return [] + if not belong(l1[0],l2): return intersection(l1[1:],l2) + else: return [l1[0]]+intersection(l1[1:],l2) + +#union = lambda l1,l2:list(set(l1+l2)) + +l1=list(range(100)) +l2=list(range(6,16,2)) +random.shuffle(l1) + +#print(intersection(l1,l2)) + +"""2""" + +def insert(e,l): + if l==[]: return [e] + if e>l[0]: return [l[0]]+insert(e,l[1:]) + else: return [e]+l + +def sort(l): + if l==[]: return l + return insert(l[0],sort(l[1:])) + + +#print(sort(l1)) + +"""3""" + + +#sort1= lambda l:[min(l)]+sort1(l.remove(min(l))) + +def sort1(l): + if l==[]: return l + t=min(l) + l.remove(t) + return [t]+sort1(l) + +def factorial(n): + if n<=1: return 1 + return n*factorial(n-1) + +def shuffle(l): + if l==[]: return l + e=random.choice(l) + l.remove(e) + return [e]+shuffle(l) + +#l3=[1,2,1,4,5,1,1,7] + +def fusion(l1,l2): + if l1==[]: return l1 + if l1[0] + return + + +#print(l1) +#print(sort1(l1)) + +#print(factorial(10)) diff --git a/__pycache__/email.cpython-36.pyc b/__pycache__/email.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..069dd023f0f560a0cefecbc10e287d27ff429d7a GIT binary patch literal 497 zcmXr!<>gY?5)l)_$iVQJ0ST}$FfceUFfbJRF)%QsFr+Z%Fhnt=Fhwz@GGsBOFsHCI zGet3{GH02_D#{p82!Whh;$?+0okzZAo zSE@oIN@}q}NosLPu|h$9X^}!=X-R%=Vo7FkYLP;YdTL%-erBpdN~%I`VrEXU zLSk8JvO+;+Nk)F2LTZUZvU+N9i9$(!rb1z9szR1}Vx~fJMt){-rb2RlZf>eVa%NIa zs$Laeac)V0UOLDKz2yAdOm8LzhAN5N#G+)qg2bYd)V$*CN(Z>~Esm1R^rF6v-AIEqvAQossWlXLQmQ&%z+@h~tzh+hu+p~b01 z#rpXj!{6t{;?IkYAixl3!G*Yh++(sh