Seite 1 von 2

Verfasst: Montag 2. Februar 2009, 00:28
von EyDu
Und in kurz:

Code: Alles auswählen

def load_image_alpha(filename, colorkey=None):
    filename = os.path.join('data', 'images', filename)
    try:
        surface = pygame.image.load(filename)
    except pygame.error:
        raise SystemExit('"%s" %s not found'%(filename, pygame.get_error()))
    if colorkey is not None:
        if colorkey == -1:
            colorkey = surface.get_at((0,0))
        surface.set_colorkey(colorkey, RLEACCEL)
    return surface.convert_alpha()

def load_image(filename):
    return load_image_alpha(filename)

def load_images(*files):
    return [load_image(filname) for filename in files]

Verfasst: Montag 2. Februar 2009, 00:48
von Py19917062
ehm was muss ich für data und images einsetzen? :roll:

Verfasst: Montag 2. Februar 2009, 00:49
von Py19917062
muss ich einen ordner ertellen der data heißt indem ein ordner names images ist indem sich mein bildbefindet?

Verfasst: Montag 2. Februar 2009, 00:55
von Py19917062
nagut ich habs xD. sollte vielleicht zuerst denken dann testen und dann schreiben =P

also und wie bring ich das image aufs surface?

könnt auch ein link schicken mit einem tutorial

Verfasst: Montag 2. Februar 2009, 00:59
von derdon
Py19917062 hat geschrieben:könnt auch ein link schicken mit einem tutorial
Nichts leichter als das: http://docs.python.org/tutorial/index.html

Verfasst: Montag 2. Februar 2009, 01:03
von Py19917062
für pygame hilft mir das wenig

Verfasst: Montag 2. Februar 2009, 01:22
von derdon
Dann eben: http://www.pygame.org/docs/
Mit Google wäre das aber auch nicht schwer gewesen.

Re: Nicht aufgeben

Verfasst: Montag 2. Februar 2009, 01:42
von Leonidas
Py19917062 hat geschrieben:da bin ich auf python gestoßen....angeblich leicht zulernen und ein gute anfang um später weitere programmespr. zu lernen.
Uhh, eher nicht. Nach Python hat man schlicht keine Lust mehr auf weniger Mächtige Sprachen. Persönlich kann ich mich fast nur für halb-esoterische Sprachen begeistern, alles andere ist schlicht zu langweilig.
Py19917062 hat geschrieben:nur hab ich jetzt einige probleme bei global und local und classes sind meine schwächen noch dazu tuh ich mich schwer logisch zu denken, aber langsam wirds besser.
``global`` vergisst du schlicht dass es das gibt und gut is. Das braucht man eigentlich nicht.
Py19917062 hat geschrieben:und hab mir mal blitz basic angeguckt und scheint nicht viel anders zu sein als andere sprachen.... sind ja alle fast mit den selben eigenschaften ausgestattet vlt. mal eine eigenschaft mehr oder weniger als bei anderen.
Uhh, dann kennst du noch nicht viele Sprachen. Du hast mit C++, Blitz Basic und Python eigentlich nur imperative Sprachen gesehen (obwohl gerade Python einige funktionale Konzepte beinhaltet). Schau dir "richtig" funktionale Sprachen wie Haskell oder OCaml an, Logische Sprachen wie Prolog oder Stackbasierte Sprachen wie Factor an. Dort muss man oft ganz anders denken und es ist keine Sache von "ein Feature mehr oder weniger".

Verfasst: Montag 2. Februar 2009, 01:53
von Py19917062
wie alt sind den diese ganzen sprachen? und wo werden sie heute verwendet?

Verfasst: Montag 2. Februar 2009, 02:12
von Leonidas
Py19917062 hat geschrieben:wie alt sind den diese ganzen sprachen? und wo werden sie heute verwendet?
Der neueste Haskell-Standard, Haskell98 ist von 1998, das aktuelle Release vom Haskell-Compiler GHC ist vom 4. November 2008. OCaml ist von 1996 (also etwas jünger als Python wobei es auf Caml Light und ML aufbaut, die schon wesentlich älter sind), das aktuelle Release 3.11.0 ist vom 4. Dezember. OCaml wird hauptsächlich in der Forschung verwendet, wenn es um schnellen Code geht. Prolog ist von 1972 aber die Konzepte davon sind sicherlich in vielen Expertensystemen enthalten, ich würde sogar sagen dass die meisten eine Prolog-ähnliche Basis haben. Factor hat letztens seinen fünften Geburtstag gefeiert. Wozu es gut ist weiß ich selbst noch nicht, aber es macht Spaß, sich eine neue Denkweise anzugewöhnen. Und es hat eine Menge interessanter Libraries dabei.

Verfasst: Montag 2. Februar 2009, 02:24
von Py19917062
ja davon bin ich noch weit entfernt, aber wenn nett das mal in zukunft zu testen
Einmal ist keinmal. ^^

Verfasst: Montag 2. Februar 2009, 10:02
von sea-live
du solltest dier vieleicht mal ein paar games standart wie defender Alien Galaxy oder Wizard anschauen wie die so funzen
hier mal eine schuss klasse

Code: Alles auswählen

class Laser(pygame.sprite.Sprite):
    speed = 12
    images = []
    frame = 0
    animcycle = 3
    def __init__(self, pos):
        pygame.sprite.Sprite.__init__(self, self.containers)
        self.images.append(load_image_alpha('Laser.1.bmp', 1))
        self.images.append(load_image_alpha('Laser.2.bmp', 1))
        self.images.append(load_image_alpha('Laser.3.bmp', 1))
        self.images.append(load_image_alpha('Laser.4.bmp', 1))
        self.images.append(load_image_alpha('Laser.5.bmp', 1))
        self.images.append(load_image_alpha('Laser.6.bmp', 1))
        self.image = self.images[0]
        self.rect = self.image.get_rect(midleft=pos)
        self.pos = pos
        self.life = 18
        self.x = 2

    def update(self):
        self.x += 4
        self.frame += 1
        #self.pos[0] += self.x
        self.image = self.images[self.frame/self.animcycle%6]
        self.rect = self.image.get_rect(midleft=(self.pos[0] + self.x, self.pos[1]))
        self.life -= 1
        if self.life <= 0:
            self.kill()

Verfasst: Dienstag 3. Februar 2009, 09:29
von hendrikS
Leonidas hat geschrieben:[Factor hat letztens seinen fünften Geburtstag gefeiert. Wozu es gut ist weiß ich selbst noch nicht, aber es macht Spaß, sich eine neue Denkweise anzugewöhnen. Und es hat eine Menge interessanter Libraries dabei.
Factor wurde hier im Forum schon mehrfach erwähnt. Hatte ich vorher noch nie gehört. Also mal neugierig geworden....
Ich habs nach zwei Stunden wieder runtergeschmissen. Da spiel ich lieber mit meinem alten HP48.

Verfasst: Dienstag 3. Februar 2009, 10:07
von Leonidas
hendrikS hat geschrieben:Ich habs nach zwei Stunden wieder runtergeschmissen. Da spiel ich lieber mit meinem alten HP48.
Oh, aber hat der HP48 auch Quotations und Makros? Und eine so umfangreiche Stdlib (sogar mit IRC-Client, also fast wie Emacs). Es gibt sogar turtle. Gerade die "Enticklungsumgebung" bietet mit der eingebetteten Hilfe, Suchfunktion im Vokabular und Möglichkeit sich die Implementation anzuschauen viele Komfortfunktionen, so dass schon allein durch Nachgucken was die Wörter tun und feststellen wie sie implementiert sind viel lernt. Schade nur, dass es keine Solaris/Sparc-Version von Factor gibt.

Und danach kann man seine Stack-Programmiererfahrung auf PostScript übertragen und seinen Laserdrucker programmieren :) Es erfordert halt eine andere Denkweise, ja, aber gerade darum habe ich es ausprobiert.

Verfasst: Dienstag 3. Februar 2009, 10:57
von hendrikS
Ich hatte bei Factor nicht das Gefuehl mal produktiv sein zu könnnen.
Zwei Zahlen addiert man schnell, ebenso sin, cos, etc. wenn man schon mal mit UPN oder mit einem HP Taschenrechner Erfahrung gemacht hat.
Sonst irgendwie Krampf. Bis ich das erste Beispielprogramm am Laufen hatte. Da bin ich sogar mit Haskell deutlich schneller. :)
Ich denke, ich verwende die Zeit lieber um mein bisschen Haskell Wissen warm zu halten.