Advertisement
PeTeR9228

2 bolygó

Oct 23rd, 2012
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.81 KB | None | 0 0
  1. #coding: utf-8
  2. from tkinter import *
  3. from functools import partial
  4.  
  5. def mozog_a(gd,hb):
  6.     global x1,y1
  7.     x1,y1=x1+gd,y1+hb
  8.     meret_a= eval(mezo2.get())
  9.     can1.coords(ovall,x1,y1,x1+meret_a,y1+meret_a)
  10.    
  11. def mozog_b(gd,hb):
  12.     global x2,y2
  13.     x2,y2=x2+gd,y2+hb
  14.     meret_b= eval(mezo3.get())
  15.     can1.coords(oval2,x2,y2,x2+meret_b,y2+meret_b)
  16.    
  17. def kozep_a():
  18.     kozepx1=x1+25
  19.     kozepy1=y1+25
  20.     return "Helyzet: X= ",kozepx1," Y= ",kozepy1
  21.    
  22. def kozep_b():
  23.     kozepx2=x2+15
  24.     kozepy2=y2+15
  25.    
  26. def mozdit(irany,melyik):
  27.     mertek= eval(mezo1.get())
  28.     if melyik=="a":
  29.         if irany=="balra":
  30.             mozog_a(0-mertek,0)
  31.         elif irany=="jobbra":
  32.             mozog_a(mertek,0)
  33.         elif irany=="fel":
  34.             mozog_a(0,0-mertek)
  35.         elif irany=="le":
  36.             mozog_a(0,mertek)
  37.         kozep_a()
  38.     elif melyik=="b":
  39.         if irany=="balra":
  40.             mozog_b(-mertek,0)
  41.         elif irany=="jobbra":
  42.             mozog_b(mertek,0)
  43.         elif irany=="fel":
  44.             mozog_b(0,-mertek)
  45.         elif irany=="le":
  46.             mozog_b(0,mertek)
  47.            
  48. x1,y1,x2,y2=10,10,100,100
  49. meret_a,meret_b=10,30
  50. abl1=Tk()
  51. abl1.title("2 bolygó közti gravitációs erő kiszámolása")
  52.  
  53. can1=Canvas(abl1,bg="white",height=300,width=300)
  54. ovall=can1.create_oval(x1,y1,x1+50,y1+50,width=2,fill="red")
  55. oval2=can1.create_oval(x2,y2,x2+30,y2+30,width=2,fill="blue")
  56. can1.grid(row=0,column=4,rowspan=10)
  57. mezo1=Entry(abl1)
  58. mezo1["width"]=10
  59. Label(abl1,text="Lépés mértéke:").grid(row=0,column=1,padx=4,columnspan=3)
  60. mezo1.grid(row=1,column=1,padx=4,columnspan=3)
  61. mezo1.insert(0,10)
  62. global mertek,tavolsag,kozepx1,kozepx2,kozepy1,kozepy2
  63. Button(abl1,text="Kilép",command=abl1.quit).grid(row=9,column=2)
  64. Button(abl1,text="<",command=partial(mozdit,"balra","a")).grid(row=3,column=1,sticky=E,padx=4)
  65. Button(abl1,text=">",command=partial(mozdit,"jobbra","a")).grid(row=3,column=3,sticky=W)
  66. Button(abl1,text="^",command=partial(mozdit,"fel","a")).grid(row=2,column=2,sticky=S)
  67. Button(abl1,text="ˇ",command=partial(mozdit,"le","a")).grid(row=4,column=2,sticky=N)
  68. Button(abl1,text="<",command=partial(mozdit,"balra","b")).grid(row=6,column=1,sticky=E,padx=4)
  69. Button(abl1,text=">",command=partial(mozdit,"jobbra","b")).grid(row=6,column=3,sticky=W)
  70. Button(abl1,text="^",command=partial(mozdit,"fel","b")).grid(row=5,column=2,sticky=S)
  71. Button(abl1,text="ˇ",command=partial(mozdit,"le","b")).grid(row=7,column=2,sticky=N)
  72. Label(abl1,text="1. bolygó (piros) mérete: ").grid(row=6,column=7)
  73. mezo2=Entry(abl1)
  74. mezo2.grid(row=6,column=8)
  75. mezo2.insert(0,50)
  76. mezo3=Entry(abl1)
  77. Label(abl1,text="2. bolygó (kék) mérete: ").grid(row=7,column=7)
  78. mezo3.grid(row=7,column=8)
  79. mezo3.insert(0,30)
  80. Label(abl1,text=kozep_a()).grid(row=8,column=7)
  81.  
  82. abl1.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement