From c20f9b2578846f499106ce4229672854bf2d2f46 Mon Sep 17 00:00:00 2001 From: Suwako Moriya Date: Sat, 1 Feb 2020 12:29:45 +0100 Subject: [PATCH] Checkpoint --- assets/planet/end/00001.png | Bin 284 -> 0 bytes assets/planet/setup/00001.png | Bin 284 -> 0 bytes assets/ship/loop/00001.png | Bin 329 -> 358 bytes assets_sources/ship/Makefile | 1 - assets_sources/ship/loop.gif | Bin 229 -> 260 bytes assets_sources/ship_fire/Makefile | 1 - assets_sources/ship_fire_thrust/Makefile | 1 - assets_sources/ship_thrust/Makefile | 1 - main.py | 6 +++-- mecha.py | 10 ++++++-- visual.py | 29 +++++++++++++---------- 11 files changed, 29 insertions(+), 20 deletions(-) delete mode 100644 assets/planet/end/00001.png delete mode 100644 assets/planet/setup/00001.png delete mode 120000 assets_sources/ship/Makefile delete mode 120000 assets_sources/ship_fire/Makefile delete mode 120000 assets_sources/ship_fire_thrust/Makefile delete mode 120000 assets_sources/ship_thrust/Makefile diff --git a/assets/planet/end/00001.png b/assets/planet/end/00001.png deleted file mode 100644 index df6154a5c10f3467ac49a6dfb1eccaad9849e0cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^vOp}w!3HF~r-g3^Qk(@Ik;On71Q;1wD#byZbDl1a zAr*73UfV0wtiZ!waDVse#mVkrZpV9SS>2EC5_ecl zZ~ot^_gNxo*Fu&Cfuk%r4yt+FVTZIn@ba5U-C%i=Agk3-`CTk=S(Kn{QyRc zEQ|Vh{n-O9|3iEHJ1xR?zyz`df>nQiLOYg4s{k`Q^L%`e1)_zOGetfwZ-L(6j(b*3-e}}L}?~}RV`K3-d c^10X-X8n*`vN<<$)`9%!>FVdQ&MBb@0Fq~NZ2$lO diff --git a/assets/planet/setup/00001.png b/assets/planet/setup/00001.png deleted file mode 100644 index df6154a5c10f3467ac49a6dfb1eccaad9849e0cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^vOp}w!3HF~r-g3^Qk(@Ik;On71Q;1wD#byZbDl1a zAr*73UfV0wtiZ!waDVse#mVkrZpV9SS>2EC5_ecl zZ~ot^_gNxo*Fu&Cfuk%r4yt+FVTZIn@ba5U-C%i=Agk3-`CTk=S(Kn{QyRc zEQ|Vh{n-O9|3iEHJ1xR?zyz`df>nQiLOYg4s{k`Q^L%`e1)_zOGetfwZ-L(6j(b*3-e}}L}?~}RV`K3-d c^10X-X8n*`vN<<$)`9%!>FVdQ&MBb@0Fq~NZ2$lO diff --git a/assets/ship/loop/00001.png b/assets/ship/loop/00001.png index 2d723b0267f4d32a2db442d99d3de2775150024a..927cc70494bd9810e792e3a46cf71a768ea782ad 100644 GIT binary patch delta 325 zcmX@f^o(hOI9CM+8v_Fa->RR_CMt^8GfH^6IEGZrd3)tH?_mX=)`vYe8E>%~Ie%OB zs(EQJck&6=ub=D{Zn6A%C=ubMdHRi+EDI|p_-kBpd)uPF7sZbL*7>5b#?a{sn`I5*_CY~#&6CYP@}?0=;3SmSV1&${#3lj|2vb$`Fe-zFqD_g|#R zGl8h+BX9pzysmy8c0TiU(gow?8D$Hv%zJN@FZcGOp6g$(TC=We_qH45FS_~c)T^6a z)-}^_@tJPly5 z>dHma(_dvXV|XfMDS za&M|GEd5#@n1VX|1)@#B568e!YdvJ@t#dl_0Wnm(^g@>cG>^FDD`O|j``-k2%WTEy*t z{&?$K=bGmM@dFFIbj_DcmSaT09a&Ya&mHngoJa1gpnB}e|P`@0>GS)smtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}SHiGUdyn|(c#0noA`k|X%w(h4Ts8yF zqJRorVz);g_gXbD16VLHStc{3Xmh$<4)dU7b^UtJ9-wqUz|R+z(Dma7ptScCXc*X4 zBt~RN)Z@6o_ZKG@NP&ilbs+!%c=&f{0s04eTB^f%$oPrsN|ga>xJrAsaY}ak35cqZ k%F}CFDjb}cqrA-A?EDNJEj>+LZGDZMt-a0Ntx*5~JA0UJ=>Px# delta 203 zcmV;+05t!E0_6c2M@dFFIbj_DJOH5s09a&Ya&mHngoOY9|B)Fae>?yH0->CbsmtvT zqnxzbi?e=WblQDLSdmF6LV|g$uG_rtC{e!mj;#w=$7Vo2o@N~ zcp;SN2saUkW~iY>DGB2Dm@(;z(ddCGYB-wNva!nA>iP;BD?3YDYkP~EtGmnF>-$>( F06X?OUKs!Y diff --git a/assets_sources/ship_fire/Makefile b/assets_sources/ship_fire/Makefile deleted file mode 120000 index 6e0b391..0000000 --- a/assets_sources/ship_fire/Makefile +++ /dev/null @@ -1 +0,0 @@ -../in_Makefile \ No newline at end of file diff --git a/assets_sources/ship_fire_thrust/Makefile b/assets_sources/ship_fire_thrust/Makefile deleted file mode 120000 index 6e0b391..0000000 --- a/assets_sources/ship_fire_thrust/Makefile +++ /dev/null @@ -1 +0,0 @@ -../in_Makefile \ No newline at end of file diff --git a/assets_sources/ship_thrust/Makefile b/assets_sources/ship_thrust/Makefile deleted file mode 120000 index 6e0b391..0000000 --- a/assets_sources/ship_thrust/Makefile +++ /dev/null @@ -1 +0,0 @@ -../in_Makefile \ No newline at end of file diff --git a/main.py b/main.py index f980853..f36273b 100755 --- a/main.py +++ b/main.py @@ -81,9 +81,11 @@ while 1: for element in elements: element.apply_gravity(elements) element.tick(camera=camera) + ori = elements[-1].pos + ori_spe = elements[-1].speed for element in elements: - element.pos = element.pos - elements[-1].pos - element.speed = element.speed - elements[-1].speed + element.pos = element.pos - ori + element.speed = element.speed - ori_spe origin=elements[follow].pos for element in elements: element.apply(camera=camera, origin=origin) diff --git a/mecha.py b/mecha.py index 69201c8..bbf92b2 100755 --- a/mecha.py +++ b/mecha.py @@ -16,8 +16,14 @@ class Mass(): self.mass = mass self.G = 0.0000001 - def tick(self, origin=np.array((0, 0), dtype='float64')): - self.pos += self.speed - origin + def tick(self): + self.pos += self.speed + + def ref(self, + origin=np.array((0, 0), dtype='float64'), + speed=np.array((0, 0), dtype='float64')): + self.pos -= origin + self.speed -= speed def apply_gravity(self, elements): for element in elements: diff --git a/visual.py b/visual.py index 42051b0..c794c7b 100755 --- a/visual.py +++ b/visual.py @@ -26,8 +26,10 @@ class Obj(): scale=1, reference=np.array((0, 0), dtype='float64'), size=(0, 0)): - npsize=np.array(size, dtype='float64')/(2*scale) - scaled_pos = scale * (self.mecha.pos - reference + npsize) + npsize=np.array(size, dtype='float64') + scaled_pos = scale * (self.mecha.pos - reference + npsize/(2*scale)) + if np.linalg.norm(scaled_pos - npsize/2) > max(size): + return scaled_dimension = (scale*self.dimension()).astype(int) scaled_image = pygame.transform.scale(self.image, scaled_dimension) scaled_image = pygame.transform.rotate(scaled_image, @@ -40,21 +42,21 @@ class Obj(): class Star(Obj): def __init__(self, **keyargs): self.mecha = mecha.Player(**keyargs) - self.image = pygame.image.load("assets/star.gif") + self.image = pygame.image.load("assets/ship/loop/00001.png") self.position = self.image.get_rect() class Planet(Obj): def __init__(self, **keyargs): self.mecha = mecha.Player(**keyargs) - self.image = pygame.image.load("assets/planet.gif") + self.image = pygame.image.load("assets/planet/loop/00001.png") self.position = self.image.get_rect() class Player(Obj): def __init__(self, **keyargs): self.mecha = mecha.Player(**keyargs) - self.image = pygame.image.load("assets/ship/setup/0").convert_alpha() + self.image = pygame.image.load("assets/ship/loop/00001.png").convert_alpha() self.position = self.image.get_rect() @@ -63,12 +65,12 @@ if __name__ == "__main__": pygame.init() black = (0, 0, 0) size = width, height = 1366, 720 - TICK_RATE = 60 + TICK_RATE = 30 keys = set() tick = (time.time(), time.time(), 0) screen = pygame.display.set_mode(size, flags=pygame.RESIZABLE) - elements = [Player(speed=(-5, 30), pos=(10, 1)), Player()] + elements = [Player(speed=(5, 0), pos=(10, -200)), Player(speed=(-5, 0), pos=(10, 200), mass = 2), Planet(mass=200)] reference = 1 joy=[1, 1] while 1: @@ -99,15 +101,18 @@ if __name__ == "__main__": if key in [275,276,273,274]: exec("joy" + ("[0]+","[0]-","[1]+","[1]-")[[275,276,273,274].index(key)] + "=1") elements[1].mecha.orientation=joy[0]*(-3) - for element in elements[::-1]: + for element in elements: element.mecha.apply_gravity([element.mecha for element in elements]) - element.mecha.tick(origin=elements[0].mecha.pos) - if i <= 2: + element.mecha.tick() + ori,speed=origin=elements[1].mecha.pos, origin=elements[1].mecha.speed + for element in elements: + element.mecha.ref(origin=ori, speed=speed) + if i < 2: for element in elements: - element.draw(scale=10**(joy[1]*0.05), reference=elements[1].mecha.pos, size=screen.get_size()) + element.draw(scale=10**(joy[1]*0.05), reference=elements[reference].mecha.pos, size=screen.get_size()) pygame.display.flip() # for element in elements: # element.apply(camera=camera, origin=origin) # screen.blit(element.image, element.position) time.sleep(0.001) - if tick[2]%60 == 0 : print(elements[1].mecha.pos) \ No newline at end of file + if tick[2]%60 == 0 : print(elements[2].mecha.pos, elements[2].mecha.speed) \ No newline at end of file