ef:gameprojekt:gruppenseiten:gruppe4:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ef:gameprojekt:gruppenseiten:gruppe4:start [2023/01/10 14:30] siffertjef:gameprojekt:gruppenseiten:gruppe4:start [2023/02/10 17:55] (aktuell) – [DesertTileset2:] siffertj
Zeile 1: Zeile 1:
-Jérôme, Michael, Joël+**Jérôme, Michael, Joël**
  
-__**Breaking Bad Game**__ +====== Breaking Bad Game ======
-Unser Plan ist es ein Spiel im Breaking Bad Theme zu machen, in dem man ähnlich wie in Super Mario Bros. Level bestreiten muss.+
  
-**Quellen und Hilfsmittel** 
-https://www.remove.bg/de 
-https://api.arcade.academy/en/latest/examples/pymunk_box_stacks.html#pymunk-box-stacks 
  
-import random +Wir haben ein Spiel im Breaking Bad Stil gemacht, in welchem man in einer begränzten Map versuchen muss Gustavo Fring, welcher Chicken Wings wirft, auszuweichen. 
-import arcade +
-import os +
-#import pymunk +
-import math+
  
-SPRITE_SCALING 0.5 +===== Funktionsweise ===== 
-SCREEN_WIDTH 1200 +Man kann mit den Pfeiltasten den Spieler bewegen und muss versuchen den Chicken Wings auszuweichen, dazu kann man verschiedene Plattformen nutzenAber auch mit den Tasten A, W, S und D kann man den Spieler steuernDas Ziel besteht darin so lange wie möglich zu überleben
-SCREEN_HEIGHT 800 +
-SCREEN_TITLE "Walter_White" +
-BULLET_SPEED +
-  +
-MOVEMENT_SPEED +
-  +
-class Player(arcade.Sprite): +
-    def update(self): +
-  +
-        self.center_x +self.change_x +
-        self.center_y +self.change_y +
-  +
-        if self.left < 0: +
-            self.left +
-        elif self.right > SCREEN_WIDTH - 1: +
-            self.right SCREEN_WIDTH - 1 +
-  +
-        if self.bottom < 0: +
-            self.bottom = 0 +
-        elif self.top > SCREEN_HEIGHT - 1: +
-            self.top = SCREEN_HEIGHT - 1+
  
-class Enemy(arcade.Sprite): 
-    def update(self): 
-         
-        self.center_x += self.change_x 
-        self.center_y += self.change_y 
-  
-        if self.left < 0: 
-            self.left = 0 
-        elif self.right > SCREEN_WIDTH - 1: 
-            self.right = SCREEN_WIDTH - 1 
-  
-        if self.bottom < 0: 
-            self.bottom = 0 
-        elif self.top > SCREEN_HEIGHT - 1: 
-            self.top = SCREEN_HEIGHT - 1 
  
-class MyGame(arcade.Window): +===== Quellen und Hilfsmittel =====
-  +
-    def __init__(self, width, height, title): +
-        super().__init__(width, height, title) +
-        self.player_list None +
-        self.player_sprite None +
-        self.physics_engine None +
-        self.background None +
-        self.enemy_list None +
-        self.enemy_sprite None +
-        self.bullet_list None +
-        self.frame_count None +
-         +
-        """floor_height 120+
  
-        body = pymunk.Body(body_type=pymunk.Body.STATIC) 
  
-        shape = pymunk.Segment(body, [0, floor_height], [SCREEN_WIDTH, floor_height], 0.0)+Die meisten Informationen für unseren Code haben wir von https://api.arcade.academy/en/latest/
  
-        shape.friction 10+===== Bildquellen =====
  
-        self.space.add(shape, body) 
  
-        self.static_lines.append(shape)"""+==== Walter White: ==== 
 + https://imgbin.com/png/CyZYh5ti/walter-white-pixel-art-breaking-bad-png
  
-    def setup(self): +==== Gustavo Fring: ==== 
-        self.player_list arcade.SpriteList() + https://www.artstation.com/artwork/xYPnYW
-        self.player_sprite Player("walter.png", SPRITE_SCALING) +
-        self.player_sprite.center_x 50 +
-        self.player_sprite.center_y 125 +
-        self.player_list.append(self.player_sprite) +
-     +
-        self.background = arcade.load_texture(":resources:images/backgrounds/desert.jpg")+
  
-        self.enemy_list arcade.SpriteList() +==== Chicken Wing: ==== 
-        self.enemy_sprite arcade.Sprite("gus.png", SPRITE_SCALING) + https://www.freepik.com/premium-vector/fried-chicken-pixel-art-vector_22858372.htm
-        self.enemy_sprite.center_x 750 +
-        self.enemy_sprite.center_y 120 +
-        self.enemy_list.append(self.enemy_sprite) +
-        self.enemy_sprite.angle = 180+
  
-        self.bullet_list arcade.SpriteList()+==== Meth: ==== 
 + https://www.google.ch/url?sa=i&url=https%3A%2F%2Fwww.istockphoto.com%2Fillustrations%2Fcrystal-meth&psig=AOvVaw26qihNsag0KKP-bV1gnUN2&ust=1676061559739000&source=images&cd=vfe&ved=0CBEQjhxqFwoTCPDH_oGmif0CFQAAAAAdAAAAABAD
  
-    def on_draw(self)+==== Cactus==== 
-        self.clear() + https://art.pixilart.com/thumb/sr28922305da8fe.png
-        arcade.draw_lrwh_rectangle_textured(0, 0, +
-                                            SCREEN_WIDTH, SCREEN_HEIGHT, +
-                                            self.background) +
-        self.player_list.draw() +
-        self.enemy_list.draw() +
-        self.bullet_list.draw()+
  
-    def on_update(self, delta_time)+==== BG==== 
-        self.player_list.update() + https://opengameart.org/sites/default/files/styles/medium/public/Preview3_1.jpg
-        self.enemy_list.update() +
-        self.frame_count += 1+
  
-        for self.enemy_sprite in self.enemy_list: +==== RV: ==== 
-            start_x self.enemy_sprite.center_x + https://www.pinterest.com/pin/111182684528802245/
-            start_y self.enemy_sprite.center_y+
  
-            dest_x self.player_sprite.center_x +==== DesertTileset2: ==== 
-            dest_y self.player_sprite.center_y+https://opengameart.org/content/free-desert-platformer-tileset 
 +===== Audioquellen =====
  
-            x_diff = dest_x - start_x 
-            y_diff = dest_y - start_y 
-            angle = math.atan2(y_diff, x_diff) 
  
-            self.enemy_sprite.angle math.degrees(angle) - 90+==== Intro: ==== 
 + https://www.youtube.com/watch?v=F1HNuAE9WdU
  
-            if self.frame_count % 60 == 0: +==== Hurt: ==== 
-                bullet arcade.Sprite("bullet.png"+ https://www.youtube.com/watch?v=d0LohokOYxY
-                bullet.center_x start_x +
-                bullet.center_y start_y+
  
-                bullet.angle math.degrees(angle)+==== End: ==== 
 + https://www.youtube.com/watch?v=Ybod1dys95I
  
-                bullet.change_x math.cos(angle) * BULLET_SPEED +===== Unsere Gamedatei =====
-                bullet.change_y math.sin(angle) * BULLET_SPEED+
  
-                self.bullet_list.append(bullet)+{{ :ef:gameprojekt:gruppenseiten:gruppe4:mygame.zip |}}
  
-        for bullet in self.bullet_list: +===== Verbesserungen =====
-            if bullet.top < 0: +
-                bullet.remove_from_SpriteList()+
  
-        self.bullet_list.update()+Wir brauchen noch einen Screen am Schluss, in welchem wir den Highscore anzeigen könnenLeider hatten wir keine Zeit mehr diesen einzufügen. Ausserdem könnte man einen Startscreen machen in welchem man den aktuellen Highscore sieht und das Game starten kann. Darüberhinaus könnte man die Gegner auch bewegen lassen. Dies würde das Spiel spannender machen
  
-    def on_mouse_motion(self, x, y, dx, dy): 
-        self.player_sprite.center_x = x 
-        self.player_sprite.center_y = y 
-  
-    def on_key_press(self, symbol, modifiers): 
-        if symbol == arcade.key.UP: 
-            self.player_sprite.change_y = MOVEMENT_SPEED 
-  
-        elif symbol == arcade.key.DOWN: 
-            self.player_sprite.change_y = -MOVEMENT_SPEED 
-  
-        elif symbol == arcade.key.LEFT: 
-            self.player_sprite.change_x = -MOVEMENT_SPEED 
-  
-        elif symbol == arcade.key.RIGHT: 
-            self.player_sprite.change_x = MOVEMENT_SPEED 
-  
-  
  
-def on_key_release(self, symbol, modifiers): 
-    if symbol == arcade.key.UP or symbol == arcade.key.DOWN: 
-        self.player_sprite.change_y = 0 
-    elif symbol == arcade.key.LEFT or symbol == arcade.key.RIGHT: 
-        self.player_sprite.change_x = 0 
-  
-def main(): 
-    window = MyGame(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE) 
-    window.setup() 
-    arcade.run() 
-  
-if __name__ == "__main__": 
-    main()     
  • ef/gameprojekt/gruppenseiten/gruppe4/start.1673357408.txt.gz
  • Zuletzt geändert: 2023/01/10 14:30
  • von siffertj