Tableau atomique d’après celui d’Omega.
Vous pouvez me contacter sur Discord à l’aide de ce lien https://discord.gg/wNtEFdQgWD.
N’hésitez pas à venir, vous pourriez découvrir des choses intéressantes…
from kandinsky import * from ion import * from time import * from random import * e2="e"+chr(768) e1="e"+chr(769) periodic=( ("H" ,0,"Hydrog"+e2+"ne",0), ("He",2,"H"+e1+"lium",1), ("Li",4,"Lithium",2), ("Be",5,"B"+e1+"ryllium",3), ("B" ,6,"Bore",4), ("C" ,6,"Carbone",0), ("N" ,7,"Azote",0), ("O" ,8,"Oxyg"+e2+"ne",0), ("F" ,10,"Fluor",5), ("Ne",10,"N"+e1+"on",1), ("Na",12,"Sodium",2), ("Mg",12,"Magn"+e1+"sium",3), ("Al",14,"Aluminium",6), ("Si",14,"Silicium",4), ("Ph",16,"Phosphore",0), ("S" ,16,"Soufre",0), ("Cl",18,"Chlore",5), ("Ar",22,"Argon",1), ("K" ,20,"Potassium",2), ("Ca",20,"Calcium",3), ("Sc",24,"Scandium",7), ("Ti",26,"Titane",7), ("V" ,28,"Vanadium",7), ("Cr",28,"Chrome",7), ("Mn",30,"Mangan"+e2+"se",7), ("Fe",30,"Fer",7), ("Co",32,"Cobalt",7), ("Ni",31,"Nickel",7), ("Cu",34,"Cuivre",7), ("Zn",34,"Zinc",6), ("Ga",38,"Gallium",6), ("Ge",42,"Germanium",4), ("As",42,"Arsenic",4), ("Se",46,"S"+e1+"l"+e1+"nium",0), ("Br",44,"Brome",5), ("Kr",48,"Krypton",1), ("Rb",48,"Rubidium",2), ("Sr",50,"Strontium",3), ("Y" ,50,"Yttrium",7), ("Zr",50,"Zirconium",7), ("Nb",52,"Nobium",7), ("Mo",56,"Molybd"+e2+"ne",7), ("Tc",56,"Techn"+e1+"tium",7), ("Ru",58,"Ruthenium",7), ("Rh",58,"Rhodium",7), ("Pd",60,"Palladium",7), ("Ag",60,"Argent",7), ("Cd",66,"Cadium",6), ("In",66,"Indium",6), ("Sn",70,"Etain",6), ("Sb",70,"Antimoine",4), ("Te",78,"Tellure",4), ("I" ,74,"Iode",5), ("Xe",78,"X"+e1+"non",1), ("Cs",78,"C"+e1+"sium",2), ("Ba",81,"Barium",3), ("La",82,"Lanthane",8), ("Ce",82,"C"+e1+"rium",8), ("Pr",82,"Pras"+e1+"odyme",8), ("Nd",84,"N"+e1+"odyme",8), ("Pm",84,"Prom"+e1+"thium",8), ("Sm",88,"Samarium",8), ("Eu",89,"Europium",8), ("Gd",93,"Gadolidium",8), ("Tr",94,"Terbium",8), ("Dy",97,"Dyxprosium",8), ("Ho",98,"Holmium",8), ("Er",99,"Erbium",8), ("Tm",100,"Thulium",8), ("Yb",103,"Ytterbium",8), ("Lu",104,"Lut"+e1+"tium",8), ("Hf",106,"Hafnium",7), ("Ta",108,"Tantale",7), ("W" ,110,"Tungst"+e2+"ne",7), ("Re",111,"Rh"+e1+"nium",7), ("Os",114,"Osmium",7), ("Ir",115,"Iridium",7), ("Pt",117,"Platine",7), ("Au",118,"Or",7), ("Hg",121,"Mercure",6), ("Tl",123,"Thalium",6), ("Pb",125,"Plomb",6), ("Bi",126,"Bismuth",6), ("Po",125,"Polonium",6), ("At",125,"Astatine",5), ("Rn",136,"Radon",1), ("Fr",136,"Francium",2), ("Ra",138,"Radium",3), ("Ac",138,"Actinium",9), ("Th",142,"Thorium",9), ("Pa",140,"Protactinium",9), ("U" ,146,"Uranium",9), ("Np",144,"Neptunium",9), ("Pu",150,"Plutonium",9), ("Am",146,"Am"+e1+"ricium",9), ("Cm",151,"Curium",9), ("Bk",150,"Berkelium",9), ("Cf",153,"Californium",9), ("Es",153,"Einsteinium",9), ("Fm",157,"Fermium",9), ("Md",157,"Medelevium",9), ("No",157,"Nobelium",9), ("Lr",163,"Lawrencium",9), ("Rf",163,"Rutherfordium",7), ("Db",163,"Dubnium",7), ("Sg",163,"Seaborgium",7), ("Bh",163,"Bohrium",7), ("Hs",169,"Hassnium",7), ("Mt",169,"Metnerium",10), ("Ds",171,"Darmstadtium",10), ("Rt",171,"Roentgenium",10), ("Cn",173,"Copernicium",6), ("Nh",173,"Nihonium",10), ("Fl",175,"Flerovium",10), ("Mc",174,"Moscovium",10), ("Lv",177,"Livermorium",10), ("Ts",177,"Tennessine",10), ("Og",176,"Oganesson",1), )#("",), type=( ("Reactifs non metalique",(0,200,0)), ("Gaz noble",(0,200,200)), ("Metal alcalin",(255,0,0)), ("Metal alcalino-terreux",(255,0,255)), ("Metalloide",(60,60,160)), ("Halogene",(255,200,0)), ("Metal post-transition",(180,150,50)), ("Metal de transition",(130,50,0)), ("Lanthanides",(150,75,150)), ("Actinides",(248, 188, 56)), ("Inconnu",(180,)*3), ) coords=[(0,0),(17,0)] for y in range(2): for x in range(8): coords+=[([0,1,12,13,14,15,16,17][x],y+1)] for y in range(2): for x in range(18): coords+=[(x,y+3)] for y in range(2): for x in range(2): coords+=[(x,y+5)] for x in range(15): coords+=[(x+3,y+8)] for x in range(15): coords+=[(x+3,y+5)] def draw_elem(n,focus=False): x,y=coords[n] atom=periodic[n] col=type[atom[3]][1] if focus: col=(int(col[0]*3/5),int(col[1]*3/5),int(col[2]*3/5)) fill_rect(7+x*17,10+y*18,17,18,col) if len(atom[0])==2: draw_string(atom[0][1],8+7+x*17,10+y*18,col_write,col) draw_string(atom[0][0],7+x*17,10+y*18,col_write,col) if atom[0][1] in "kbpomw": draw_string(atom[0][1],8+7+x*17,10+y*18,col_write,col) else: draw_string(atom[0][0],10+x*17,10+y*18,col_write,col) def move(): global cursor cursor+=keydown(KEY_RIGHT)-keydown(KEY_LEFT) cursor%=len(periodic) coo=coords[cursor] for i in [-1,1]: if keydown([None,KEY_DOWN,KEY_UP][i]): if (coo[0],coo[1]+1*i) in coords: cursor=coords.index((coo[0],coo[1]+1*i),) elif (coo[0],coo[1]+2*i) in coords: cursor=coords.index((coo[0],coo[1]+2*i),) last_cursor=-1 cursor=0 col_write=(255,)*3 for i in range(len(periodic)): draw_elem(i,i==cursor) fill_rect(49,108,3,74,(0,)*3) l=["d'apre"+chr(768)+"s celui d'Omega (+ cool)",]*10+["Omega > Numworks","Avez-vous test"+e1+" Omega ?","Fait par Antarctus"] draw_string("{:^32}".format(choice(l)),10,202) while True: move() draw_elem(cursor,True) if last_cursor!=cursor: draw_elem(last_cursor,False) last_cursor=cursor fill_rect(7+17,10,272,18,(255,)*3) fill_rect(8+34,28,169,36,(255,)*3) draw_string(periodic[cursor][2],110,10) draw_string(periodic[cursor][0],80,20) draw_string("{:>3}".format(str(cursor+1)),50,11) draw_string("{:>3}".format(str(periodic[cursor][1]+cursor+1)),50,29) sleep(0.1)