Skip to content
Snippets Groups Projects
Unverified Commit bb767c38 authored by Drahflow's avatar Drahflow
Browse files

Level 11+12, qwop

parent 754cb673
No related branches found
No related tags found
No related merge requests found
......@@ -84,6 +84,16 @@ class Score:
def get(self):
return self.points
class Background:
def update(self, tick):
pass
def draw(self):
pass
def typed(self, key):
pass
def explode(x, y, color, count, size):
for i in range(0, count):
a = 6.282 * random()
......
......@@ -21,7 +21,7 @@ class Enemy:
self.y += 1 / len(self.text)
else:
self.y += 1
if self.y > height:
objects.remove(self)
......@@ -77,13 +77,58 @@ class BigFighter(Enemy):
score.inc(3)
super().hit()
class WordFighter(Enemy):
img = pygame.transform.smoothscale(pygame.image.load("fighter2.png"), (30, 30))
def __init__(self, text, x, y):
super().__init__(text, x, y)
def draw(self):
if self.y < 0:
return
super().draw()
screen.blit(self.img, (self.x - self.img.get_width() / 2, self.y - self.img.get_height()))
def hit(self):
score.inc(1)
super().hit()
class CrossFighter(Enemy):
img = pygame.transform.rotate(pygame.transform.smoothscale(pygame.image.load("fighter2.png"), (30, 30)), -90)
def __init__(self, text, x, y):
super().__init__(text, x, y)
def update(self, tick):
self.x -= 1
if self.x < 0:
objects.remove(self)
if random() < 0.2:
objects.append(Spark(self.x + 15, self.y - 23, random(), -0.5 + random(), (255, 255, 255 * random()), 1))
if random() < 0.2:
objects.append(Spark(self.x + 15, self.y - 10, random(), -0.5 + random(), (255, 255, 255 * random()), 1))
def draw(self):
if self.x < 0:
return
super().draw()
screen.blit(self.img, (self.x - self.img.get_width() / 2, self.y - self.img.get_height()))
def hit(self):
score.inc(2)
super().hit()
class Shot(Enemy):
def __init__(self, text, x, y, dx, dy):
super().__init__(text, x, y)
self.dx = dx
self.dy = dy
self.v = sqrt(self.dx * self.dx + self.dy * self.dy)
def update(self, tick):
self.x += self.dx
self.y += self.dy
......@@ -98,7 +143,7 @@ class Shot(Enemy):
self.dx = 0.95 * self.dx + 0.05 * px / pv * self.v
self.dy = 0.95 * self.dy + 0.05 * py / pv * self.v
if self.y > height:
objects.remove(self)
......
fighter2.png

127 KiB

from common import Background
from enemies import Fighter, Boss
from objects import Text
def level1(objects, tick):
if tick == 1:
objects.append(Background())
objects.append(Text("Level 1", 50))
objects.append(Text("Zeigefinger auf f und j", 100))
elif tick < 2000:
......
from enemies import Fighter, WordFighter, Shooter, Boss
from objects import Text
from random import random, choice
# Needs 20
words = [
"wo",
"wer",
"was",
"wieso",
"wert",
"wort",
"wasser",
"ort",
"rot",
"tor",
"rotor",
"foto",
"hort",
"wohl",
"hol",
"löwe",
"weder",
"los",
"wie",
"weil",
"sowohl",
"doof",
"sofort",
"warte",
]
def word():
result = choice(words)
words.remove(result)
return result
def level11(objects, tick):
if tick == 1:
objects.append(Text("Level 11", 50))
objects.append(Text("Ringfinger auch für w und o", 100))
elif tick < 2000:
if tick % 400 == 0:
objects.append(Fighter("w", 100, 0))
objects.append(Fighter("w", 150, 0))
objects.append(Fighter("o", 650, 0))
objects.append(Fighter("o", 700, 0))
elif tick < 4000:
if tick % 400 == 0:
objects.append(Shooter(word(), 200, 0, "asdfjklö"))
objects.append(Shooter(word(), 600, 0, "asdfjklö"))
if tick % 400 == 200:
objects.append(WordFighter(word(), 250, 0))
objects.append(WordFighter(word(), 550, 0))
elif tick == 4000:
if tick % 400 == 0:
objects.append(WordFighter("was", 200, 0))
objects.append(WordFighter("ist", 250, 0))
objects.append(WordFighter("hier", 550, 0))
objects.append(WordFighter("los", 600, 0))
elif tick == 5200:
objects.append(Boss("wieso das alles", 400, 0))
elif tick == 6000:
return True
from enemies import Fighter, WordFighter, CrossFighter, Shooter, Boss
from objects import Text
from random import random, choice
# Needs 20
words = [
"quer",
"qualle",
"quo",
"qi",
"quant",
"po",
"papa",
"person",
"stop",
"pi",
"popel",
"top",
"pott",
"pass",
"pelle",
"puh",
"pille",
"app",
"depp",
"klippe",
"kopf",
"kuppel",
"loipe",
"quest",
]
def word():
result = choice(words)
words.remove(result)
return result
def level12(objects, tick):
if tick == 1:
objects.append(Text("Level 12", 50))
objects.append(Text("Kleine Finger auch für q und p", 100))
elif tick < 2000:
if tick % 400 == 0:
objects.append(Fighter("q", 100, 0))
objects.append(Fighter("q", 150, 0))
objects.append(Fighter("p", 650, 0))
objects.append(Fighter("p", 700, 0))
elif tick < 4000:
if tick % 400 == 0:
objects.append(Shooter(word(), 200, 0, "asdfjklö"))
objects.append(Shooter(word(), 600, 0, "asdfjklö"))
if tick % 400 == 200:
objects.append(WordFighter(word(), 250, 0))
objects.append(WordFighter(word(), 550, 0))
elif tick == 4000:
objects.append(CrossFighter("quer", 800, 150))
elif tick == 4200:
objects.append(CrossFighter("fliegt", 800, 150))
elif tick == 4400:
objects.append(CrossFighter("wer", 800, 150))
elif tick == 4600:
objects.append(CrossFighter("siegt", 800, 150))
elif tick == 5200:
objects.append(Boss("papperlapapp", 400, 0))
elif tick == 6000:
return True
......@@ -36,10 +36,12 @@ from level7 import level7
from level8 import level8
from level9 import level9
from level10 import level10
from level11 import level11
from level12 import level12
from won import won
levels = [level1, level2, level3, level4, level5, level6, level7, level8, level9, level10, won]
# levels = [level10, won]
levels = [level1, level2, level3, level4, level5, level6, level7, level8, level9, level10, level11, level12, won]
# levels = [level12, won]
level = levels.pop(0)
clock = pygame.time.Clock()
completed = False
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment