![]() | Name | Last modified | Size | Description |
---|---|---|---|---|
![]() | Parent Directory | - | ||
2d shooter spel: överlev mot monster så länge som möjligt. Du har vapen och (o)begränsad ammunition. Spelet kan givetvis anpassas så att det blir precis som man vill. Det här är tänkt att spelas med tangentbord och mus. Perspektivet är tänkt som rakt uppifrån.
Koncept: Grafik, objekt-orientering, polymorfism
OBS! Det här är en uppgift av den större och svårare typen. Börja otroligt enkelt först och få det att fungera. Bygg ut det fungerande programmet successivt tills det är så coolt som ni vill ha det.
Exempel kan vara bra för att komma igång, bäst lär man sig dock genom att göra själv. Använd gärna detta exempel som utgångspunkt. Ni kan även se andra exempel online eller i Pygame mappen:
C:\Python27\Lib\site-packages\pygame\examples
.
Tänk på att det inte är viktigt hur sprites:en (.png-bilderna) ser ut, rita dem väldigt enkelt i Paint eller motsvarande och lägg istället tiden på att få allt att fungera. När spelet är färdigt kan ni skaffa snygga bilder.
OBS! På Chalmers linux-datorer saknas vissa dependencies till pygame vilket medför att den endast stödjer .bmp-bilder. Detta är relevant att tänka på om ni skulle få felmeddelandet:
pygame.error: File is not a Windows BMP file
.
GraphObject
som ärver pygame.sprite.Sprite
Skapa en funktion update(self, time) som anropas i varje frame.g = pygame.sprite.Group()
och g.draw(screen)
.GraphObject
och skapa ett objekt av denna som utgör spelaren. Skapa i denna klass en ny metod update(self,time)
som även kallar på GraphObject.update(self,time)
. Detta är ett exempel på polymorfism.pygame.event.get()
. Låt spelaren flytta på sig när man använder pil-tangenterna. Avbryt loopen om pygame.QUIT
eller Escape matas in.GraphObject
. Då du klickar på Space eller vänster musknapp ska en projektil flyga iväg åt det hållet du har muspekaren.GraphObject
. Rita ut några monster då spelet startas.pygame.sprite.groupcollide()
eller pygame.sprite.spritecollide()
. Då ett monster träffas av en projektil ska han ta skada och eller dö. Om spelaren kolliderar med ett monster ska spelaren ta skada och eller dö. Se guider ovan under Tips för hjälp med kollisionshantering.pygame.QUIT
.