From d9f16c22af896122eb8a7c43670fbd09eb9123e5 Mon Sep 17 00:00:00 2001 From: Voussoir Date: Tue, 10 Mar 2015 21:21:17 -0700 Subject: [PATCH] else --- Dots/dots.py | 123 -------------------------------------------- Editor/README.md | 8 ++- Editor/editor.py | 30 ++++++++++- Editor/textfiles.db | Bin 4215808 -> 4215808 bytes Logogame/logos.py | 31 +++++++---- 5 files changed, 58 insertions(+), 134 deletions(-) delete mode 100644 Dots/dots.py diff --git a/Dots/dots.py b/Dots/dots.py deleted file mode 100644 index 4f88024..0000000 --- a/Dots/dots.py +++ /dev/null @@ -1,123 +0,0 @@ -import tkinter -import threading -import time - -class CanvasGame: - def managementthread(self): - while True: - w = self.pressed_dict.get('w', False) - s = self.pressed_dict.get('s', False) - a = self.pressed_dict.get('a', False) - d = self.pressed_dict.get('d', False) - if w: - self.velocity_y -= self.velocity_speedup - if s: - self.velocity_y += self.velocity_speedup - - if a: - self.velocity_x -= self.velocity_speedup - if d: - self.velocity_x += self.velocity_speedup - - if not any(movement for movement in [w,a,s,d]): - nondirectional = abs(self.velocity_x) + abs(self.velocity_y) - nondirectional /= 2 - if nondirectional < self.velocity_minimum: - self.velocity_x = 0 - self.velocity_y = 0 - else: - if self.velocity_x != 0: - self.velocity_x *= self.velocity_slowdown - if self.velocity_y != 0: - self.velocity_y *= self.velocity_slowdown - - - - self.velocity_x = self.numbercap(self.velocity_x, self.velocity_maximum) - self.velocity_y = self.numbercap(self.velocity_y, self.velocity_maximum) - - self.player_x += self.velocity_x - self.player_y += self.velocity_y - - x = self.x_camera + self.player_x - y = self.y_camera + self.player_y - xdiff = x - self.gamewidthcenter - ydiff = y - self.gameheightcenter - if xdiff > self.camera_distance: - self.x_camera -= abs(xdiff / self.camera_distance) - elif xdiff < -self.camera_distance: - self.x_camera += abs(xdiff / self.camera_distance) - - if ydiff > self.camera_distance: - self.y_camera -= abs(ydiff / self.camera_distance) - elif ydiff < -self.camera_distance: - self.y_camera += abs(ydiff / self.camera_distance) - - #print(self.player_x, x) - - self.canvas.coords(self.player, x-self.player_radius, y-self.player_radius, - x+self.player_radius, y+self.player_radius) - - self.label_coordinates.configure(text="%d, %d" % (self.player_x, self.player_y)) - time.sleep(0.017) - - def numbercap(self, i, cap): - if i > cap: - i = cap - elif i < -cap: - i = -cap - return i - - def pushkey(self, event): - #print(event.char, "Down") - self.pressed_dict[event.char] = True - def releasekey(self, event): - #print(event.char, "Up") - self.pressed_dict[event.char] = False - - def __init__(self): - self.t = tkinter.Tk() - self.pressed_dict = {} - - self.gamewidth = 640 - self.gameheight = 480 - self.gamewidthcenter = self.gamewidth / 2 - self.gameheightcenter = self.gameheight / 2 - self.canvas = tkinter.Canvas(self.t, width=self.gamewidth, height=self.gameheight) - self.x_camera = (self.gamewidth / 2) - self.y_camera = (self.gameheight / 2) - - x = 0 - y = 0 - self.player_x = x - self.player_y = y - self.player_radius = 3 - self.player = self.canvas.create_oval(x-self.player_radius, y-self.player_radius, - x+self.player_radius, y+self.player_radius, - fill="#ff0") - self.camera = self.canvas.create_oval(self.x_camera, self.y_camera, self.x_camera, self.y_camera) - self.camera_distance = 20 - self.playerthread = threading.Thread(name="Playerthread", target=self.managementthread) - self.playerthread.daemon = True - self.velocity_x = 0 - self.velocity_y = 0 - self.velocity_maximum = 4 - self.velocity_minimum = 0.2 - self.velocity_slowdown = 0.95 - self.velocity_speedup = 0.6 - - self.entities = [] - self.label_coordinates = tkinter.Label(self.canvas, text="0, 0") - self.label_coordinates.place(x=self.gamewidthcenter, y=self.gameheight-10, anchor="c") - - self.canvas.bind("", self.pushkey) - self.canvas.bind("", self.releasekey) - self.canvas.focus_set() - - self.playerthread.start() - - self.canvas.pack() - - self.t.mainloop() - -c = CanvasGame() diff --git a/Editor/README.md b/Editor/README.md index 5e0d87e..c7a1d18 100644 --- a/Editor/README.md +++ b/Editor/README.md @@ -1,4 +1,10 @@ Editor ========== -A neat idea that would make for a fun website. Users read and write text files by choosing the file name. If it exists, the text is returned to them for editing. If it does not, it will be created when they press Save. No logins and no file security. Since it's using a database instead of actual txt files, there are no filename character restrictions, only a maximum title length and a couple self-imposed rules for sanity's sake. \ No newline at end of file +A neat idea that would make for a fun website. Users read and write text files by choosing the file name. If it exists, the text is returned to them for editing. If it does not, it will be created when they press Save. No logins and no file security. Since it's using a database instead of actual txt files, there are no filename character restrictions, only a maximum title length and a couple self-imposed rules for sanity's sake. + +`ctrl+s - save file` +`ctrl+w - return to menu (does not save)` +`ctrl+[ - smaller font` +`ctrl+] - larger font` +`ctrl+/ - toggle linewrap` \ No newline at end of file diff --git a/Editor/editor.py b/Editor/editor.py index 9a4d256..d67d0c0 100644 --- a/Editor/editor.py +++ b/Editor/editor.py @@ -17,6 +17,8 @@ class Editor: self.font_large = ("Consolas", 16) self.font_med = ("Consolas", 12) self.font_small = ("Consolas", 10) + self.font_username = "Consolas" + self.font_usersize = 12 self.kilobyte = 1024 self.megabyte = 1048576 @@ -98,18 +100,44 @@ class Editor: self.entities.append(self.label_filesize) # self.scrollbar_editor = tkinter.Scrollbar(self.t) + self.scrollbar_horz = tkinter.Scrollbar(self.t, orient='horizontal') self.scrollbar_editor.pack(side='right', fill='y') - self.text_editor = tkinter.Text(self.t, wrap='word', font=self.font_med, yscrollcommand=self.scrollbar_editor.set) + self.scrollbar_horz.pack(side='bottom', fill='x') + self.text_editor = tkinter.Text(self.t, wrap='word', font=self.font_med) + self.text_editor.configure(yscrollcommand=self.scrollbar_editor.set) + self.text_editor.configure(xscrollcommand=self.scrollbar_horz.set) self.scrollbar_editor.configure(command=self.text_editor.yview) + self.scrollbar_horz.configure(command=self.text_editor.xview) self.text_editor.insert('end', filetext) self.text_editor.pack(expand=True, fill='both') self.text_editor.focus_set() self.text_editor.bind('', self.savefile_smart) self.text_editor.bind('', self.gui_build_fileloader) + self.text_editor.bind('', lambda s: self.editor_resize_font(-1)) + self.text_editor.bind('', lambda s: self.editor_resize_font(1)) + self.text_editor.bind('', self.editor_toggle_wrap) self.entities.append(self.text_editor) self.entities.append(self.scrollbar_editor) + self.entities.append(self.scrollbar_horz) ### + def editor_resize_font(self, direction, *b): + self.font_usersize += direction + if self.font_usersize < 1: + self.font_usersize = 1 + font = [self.font_username, self.font_usersize] + self.text_editor.configure(font=font) + self.label_filesize.configure(text=str(self.font_usersize)) + + def editor_toggle_wrap(self, *b): + mode = self.text_editor.cget('wrap') + if mode == 'word': + self.text_editor.configure(wrap='none') + self.label_filesize.configure(text='word wrap disabled') + if mode == 'none': + self.text_editor.configure(wrap='word') + self.label_filesize.configure(text='word wrap enabled') + def savefile_smart(self, *b): try: filetext = self.text_editor.get('0.0', 'end') diff --git a/Editor/textfiles.db b/Editor/textfiles.db index f1b08bbe549811655a7a6fb4c32955f987a1cbd4..077ec73a72d4a81c493b953ce88fad186f0e2e4f 100644 GIT binary patch delta 83794 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 Z^KZwmjNd!(dnbNRzV;*ME5G^9{|Bo&Nm2j+ delta 3016 zcmYk8e^6A{702Jb57_79Jz$B5u&g{14gLW6wJR(OvTG#OX^F0>Nu7xmOr!M&0uf`3 zKVTJ~#vj1Cnim^T&?cIy1+tNYR0I^YnQC3yW|BY5fHUbRGfe^+;$-5F^xV7JDZ8Ix z&;4=E_nmw0eYf_sm)0VU7WGv@h=~&fbvphx`KITRS362u#dz_)5GLLguw#b!KpYeQ zBi_Z&N}oF}kREnkOjx;cRjyqSqOMKBA=S?a0{tWgM~6#+2c~VJ@l%U!F41;%M(*j1 zBnU-BBn$~hA`lZIArqi8QvTK1If4)-Y!>i)jacXobS8+$y=ruGYF3_Ol`S(f$F}l~ z+_Ef(V^tP*)tRtw=Lh9RLyv5Y#D>>c!`{k=c2rfgcXN*RY<%f-z8S;k;#1F z|K~rQO-GC=ee$qz_p=;0V_!`!nEUiIea6h0M#%*^!Sq`hbC5dC-#Ec#th**B z7@uF27nuZsyr8B&_q27gQE|h*FboBkz{MN(E5vBOE-%?b3lu~}qL64L1~DVC$TP@9 zBo3K`#3PfD1SAo$AW1+Ath98ZOo|0kOa^H@T~7AXlXOJPFs3wFm-=eIgyLrFB}&#p zR#U<)(Z5(pMRk9Mh--gz!Q7h2@(K*dL;1=UfFlvmcisbIzfs~ls zA<;jqSlRTgP}LKKdRiVQl@foSqO!(q;9Y91p)gvRxSc!M9vD-4D05Q8?Hw>!u4GVf z-3!0T8*0G4B)gYD%veMrfB0HRDNVvKEuk=8aPM~X@(G1}!cN0H8h-G+7Foen?SiVW z!y9l_P9&Ez1$B^8<{ZNDO$k;$em8hu%BjJ}ydP0YpnXIMHS18eJz^PGc9M_V1HS6~ z3egy?w;yDV_Co8z*_e-*n@{rbE~JcT=(+ZoCFEisjNQ|sMFShYVKep{V?RaAKxO~r z$__wTg5x+Q^dC9Pd4z*N;v7Fyqwo9tM{ImObhIZf!aAVJIc7Hiv8VsQ>%hcQ(Fo>B z`8(0?3MJQP_$-bJ7@m-;Q3!sXRL;E~0{6I#HK2uRzz^DXbu!O~jlnQA z$Z9E#OFIH7Nm@KEWz)Y|_j}OsyR1c+a+T{apuaS^2%oDbiWkcJ;F)Lgab4@UuA_lF zO0sA)+R0aJ`X2%v3O)v!eEJ9A{#Q5($_xo=3V4*|xIPQ$aW=RaJh56E0qvEXA%X%n zu*PH1ae%p~{Y?aSaopdk+<@TOylj!0TA;Pgv4U@xW;VDLs>%w|xtv>E&I$0uB({l% z)DqTxGLUrxH|=O>)BX`U#x?YuIW@G`J_PeCIo}cpn)9Ogv}TF-%dT4XPU%u%_JJNYws`pFSqlB;<`8@S6<9MQP;$%uBi zGw4jl5*ijU|3vx}nomXP{S;7+|g8B_D2#YO#%TX?<#MoLcR8(5YGm-Z=mJ|-x= zQ3**u51#Zqv`e4ZozR+OS;4kBpAFFZWl|Ow^*0`}E8tdo`Dz!khq@3jD=45eB%m8o zDwBs;FyS@bEQ4(&D;oFu+ zYnyO3Fbm@6rO4X(5x->(VX6n)`T}soXbX}UQOBuS9sY_Y9 zl&woSos!LTxaKWX){hsCnFzj<)ifj>nT=#1nFwAE)NCXNu_1U%QSok}<|28B1Ib66 zNC8ra%teY27ve_dAuk~FG2Ufl4YF1cYE0|!$9kk3*??3al}HuxCbAK!Mm8Z#EZ%2K zZzEffcaW{fHe@@3R~%CfQj2(zoyabv4%v<9$R1=b@-DJZaNRy7ZusV#9 0: self.tkinter_elements[0].destroy() del self.tkinter_elements[0] + self.destroy_all_logos() + + def destroy_all_logos(self): + while len(self.logo_elements) > 0: + self.logo_elements[0].destroy() + del self.logo_elements[0] def gui_build_main(self, *b): self.destroy_all_elements() @@ -147,22 +150,32 @@ class LogoGame: self.button_back.grid(row=0, column=0) self.tkinter_elements.append(self.button_back) # + #self.frame_gamearea = tkinter.Frame(self.t, bg='#f00') + #self.frame_gamearea.pack(expand=True, fill='both', anchor='w') + # self.frame_gametaglist = tkinter.Frame(self.t) self.frame_gametaglist.pack(expand=True, fill='y', anchor='e') self.tkinter_elements.append(self.frame_gametaglist) # + button_applytag = tkinter.Button(self.frame_gametaglist, text='Apply', command=self.gui_rebuild_game) + button_applytag.grid(row=0, column=0, sticky='w') alltags = self.get_all_tags() for tag in alltags: intvar = tkinter.IntVar() intvar.title=tag checkbox = tkinter.Checkbutton(self.frame_gametaglist, text=tag, variable=intvar) checkbox.intvar = intvar - checkbox.grid(row=alltags.index(tag), column=0, sticky='w') + checkbox.grid(row=alltags.index(tag)+1, column=0, sticky='w') intvar.set(1) self.tkinter_elements.append(checkbox) self.active_tags.add(tag) + ### + def gui_rebuild_game(self, *b): + self.destroy_all_logos() + + def gui_build_logo(self, *b): self.destroy_all_elements() ###