Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Python: Starfield

flob [12.07.2004 20:27:25]

#

Pieni katsaus pygameen. Starfieldin tekeminen on aina mukavaa aivojumppaa.

import pygame
from pygame.locals import *
from math import *
from random import *
def main():
    # alustetaan pygame
    pygame.init()
    screen = pygame.display.set_mode((640, 480))
    # luodaan 150 tahtea
    tahdet = [[2 * pi * random(), randint(1, 30) * random()/random() , 0] \
                        for i in range(150)]
    done = 0
    while not done:
        for event in pygame.event.get():
            if event.type in (QUIT, KEYDOWN):
                done = 1
        screen.fill((0, 0, 0))
        for str in tahdet:
            # liikutetaan tahtia
            str[1] *= 1.07
            # asetetaan tahdet alkuun jos ovat karanneet tarpeeksi kauas
            if str[1] > 450:
                str[0] = str[1] = 2 * pi * random()
            # annetaan sopiva vari
            if int(str[1] * 2) <= 255:
                str[2] = int(str[1] * 2)
            # heitellaan tahdet paikoilleen
            screen.set_at([ int(cos(str[0]) * str[1]) + 320, \
                      240 - int(sin(str[0]) * str[1])], (str[2], str[2], str[2]))
        pygame.display.update()
        pygame.time.delay(1)
if __name__ == '__main__': main()

Antti Laaksonen [13.07.2004 13:40:03]

#

Kelpo esimerkki, voisinpa itsekin tutustua tarkemmin pygamen käyttöön.

flob [14.07.2004 00:03:52]

#

Korjasinpa hieman. Nyt on paljon nopeempi kun tähtiä lisää.

Kalle [02.08.2014 08:39:11]

#

Ai täs käytetää pygamea :D

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta