Checkpoint

This commit is contained in:
Suwako Moriya 2020-01-31 23:30:38 +01:00
parent f13c042eda
commit b1a4fc95cb
Signed by: SuwakoMmh
GPG Key ID: A27482B806F13CD5
37 changed files with 60 additions and 11 deletions

10
Makefile Normal file
View File

@ -0,0 +1,10 @@
EXEC = asset
all: $(EXEC)
asset: clean
mkdir assets
$(MAKE) -C assets_sources
clean:
rm -r assets

BIN
assets/planet/end/00001.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 983 B

Binary file not shown.

BIN
assets/ship/loop/00001.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

5
assets_sources/Makefile Normal file
View File

@ -0,0 +1,5 @@
TARGETS = planet ship ship_fire ship_fire_thrust ship_thrust
EXEC = sub
all: $(EXEC)
sub:
bash target.sh

View File

@ -0,0 +1 @@
../in_Makefile

Binary file not shown.

Before

Width:  |  Height:  |  Size: 983 B

After

Width:  |  Height:  |  Size: 1003 B

View File

@ -0,0 +1 @@
../in_Makefile

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

View File

@ -0,0 +1 @@
../in_Makefile

View File

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@ -0,0 +1 @@
../in_Makefile

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@ -0,0 +1 @@
../in_Makefile

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

10
assets_sources/target.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
for target in */ ; do
mkdir ../assets/$target
for gif in $target/*.gif ; do
echo $(basename $gif .gif)
name=$(basename $gif .gif)
mkdir ../assets/$target${name}
ffmpeg -i $gif ../assets/$target${name}/%05d.png
done
done

8
logic.py Executable file
View File

@ -0,0 +1,8 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Jan 31 21:07:54 2020
@author: suwako
"""

View File

@ -30,8 +30,10 @@ class Obj():
scaled_pos = scale * (self.mecha.pos - reference + npsize) scaled_pos = scale * (self.mecha.pos - reference + npsize)
scaled_dimension = (scale*self.dimension()).astype(int) scaled_dimension = (scale*self.dimension()).astype(int)
scaled_image = pygame.transform.scale(self.image, scaled_dimension) scaled_image = pygame.transform.scale(self.image, scaled_dimension)
scaled_image = pygame.transform.rotate(scaled_image,
self.mecha.orientation%360)
scaled_position = scaled_image.get_rect() scaled_position = scaled_image.get_rect()
scaled_position.x, scaled_position.y = map(int, scaled_pos) scaled_position.center = tuple(map(int, scaled_pos))
screen.blit(scaled_image, scaled_position) screen.blit(scaled_image, scaled_position)
@ -52,7 +54,7 @@ class Planet(Obj):
class Player(Obj): class Player(Obj):
def __init__(self, **keyargs): def __init__(self, **keyargs):
self.mecha = mecha.Player(**keyargs) self.mecha = mecha.Player(**keyargs)
self.image = pygame.image.load("assets/ship.png").convert_alpha() self.image = pygame.image.load("assets/ship/setup/0").convert_alpha()
self.position = self.image.get_rect() self.position = self.image.get_rect()
@ -64,18 +66,25 @@ if __name__ == "__main__":
TICK_RATE = 60 TICK_RATE = 60
keys = set() keys = set()
tick = (time.time(), time.time(), 0) tick = (time.time(), time.time(), 0)
screen = pygame.display.set_mode(size) screen = pygame.display.set_mode(size,
elements = [Player(speed=(-5, 10), pos=(10, 1000)), Player()] flags=pygame.RESIZABLE)
elements = [Player(speed=(-5, 30), pos=(10, 1)), Player()]
reference = 1 reference = 1
joy=[1, 1]
while 1: while 1:
dtick = tick dtick = tick
tick = (tick[0], time.time(), int((time.time() - tick[0])*TICK_RATE)) tick = (tick[0], time.time(), int((time.time() - tick[0])*TICK_RATE))
dtick = tick[2] - dtick[2] dtick = tick[2] - dtick[2]
if dtick > 2: if dtick > 2:
print(dtick) print(dtick)
for _ in range(dtick): for i in range(dtick):
size = pygame.display.get_surface().get_size()
for event in pygame.event.get(): for event in pygame.event.get():
#print(event.type) #print(event.type)
if event.type == pygame.VIDEORESIZE:
size = width, height = event.size
screen =screen = pygame.display.set_mode(size,
flags=pygame.RESIZABLE)
if event.type == pygame.QUIT: sys.exit() if event.type == pygame.QUIT: sys.exit()
if event.type == pygame.KEYDOWN: if event.type == pygame.KEYDOWN:
keys.update({event.key}) keys.update({event.key})
@ -86,17 +95,19 @@ if __name__ == "__main__":
if event.key in keys: if event.key in keys:
keys.remove(event.key) keys.remove(event.key)
screen.fill(black) screen.fill(black)
# for key in keys: for key in keys:
# if key in [275,276,273,274]: if key in [275,276,273,274]:
# exec("camera" + ("[0]+","[0]-","[1]-","[1]+")[[275,276,273,274].index(key)] + "=30") 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[::-1]:
element.mecha.apply_gravity([element.mecha for element in elements]) element.mecha.apply_gravity([element.mecha for element in elements])
element.mecha.tick(origin=elements[0].mecha.pos) element.mecha.tick(origin=elements[0].mecha.pos)
for element in elements: if i <= 2:
element.draw(scale=.1, reference=elements[1].mecha.pos, size=size) for element in elements:
element.draw(scale=10**(joy[1]*0.05), reference=elements[1].mecha.pos, size=screen.get_size())
pygame.display.flip()
# for element in elements: # for element in elements:
# element.apply(camera=camera, origin=origin) # element.apply(camera=camera, origin=origin)
# screen.blit(element.image, element.position) # screen.blit(element.image, element.position)
pygame.display.flip()
time.sleep(0.001) time.sleep(0.001)
if tick[2]%60 == 0 : print(elements[1].mecha.pos) if tick[2]%60 == 0 : print(elements[1].mecha.pos)