Leo

Um auf meine Homepage zu gelangen, bitte auf das Bild klicken

Blog

Videos

Python

1. Buttonbox mit Hilfe von easygui erstellen:

Deutsch

2. Video-Tutorial "How to make a qcake-comic":

Englisch

Die Website von Qcake: Englisch

Codes

Statistik

# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
import sys
import easygui
import random
ds=easygui.multenterbox("Bitte die vier Strecken angeben!","Eingaben",["Strecke 1","Strecke 2","Strecke 3","Strecke 4"],["10","10","10","10"])
a=float(ds[0])
b=float(ds[1])
c=float(ds[2])
d=float(ds[3])
pygame.init()
pygame.mouse.set_visible(False)
screen=pygame.display.set_mode((800,400))
screen.fill([255,255,0])
tens=[0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160]
for i in range(-1,161):
    if i in tens:        
        pygame.draw.aaline(screen,[0,255,0],[0,i-(i*2)+300],[600,i-(i*2)+300])
        dfg = pygame.font.SysFont("arial",20)
        abc = dfg.render(str(i), True, (0,0,0))
        screen.blit(abc,(10, i-(i*2)+300))
        del dfg,abc
    else:
        pass
color1=[180,0,20]
color2=[255,0,255]
color3=[0,255,255]
pygame.draw.aaline(screen,color1,[0,a-(a*2)+300],[200,b-(b*2)+300])
pygame.draw.aaline(screen,color2,[200,b-(b*2)+300],[400,c-(c*2)+300])
pygame.draw.aaline(screen,color3,[400,c-(c*2)+300],[600,d-(d*2)+300])
dfg = pygame.font.SysFont("arial",40)
abc = dfg.render("Streckenverlauf 1", True, color1)
screen.blit(abc,(40,20))
del dfg,abc
dfg = pygame.font.SysFont("arial",40)
abc = dfg.render("Streckenverlauf 2", True, color2)
screen.blit(abc,(40,40))
del dfg,abc
dfg = pygame.font.SysFont("arial",40)
abc = dfg.render("Streckenverlauf 3", True, color3)
screen.blit(abc,(40,60))
del dfg,abc
pygame.display.flip()
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
           sys.exit()
        if event.type==KEYDOWN:
            if event.key==K_ESCAPE:
                sys.exit()
            if event.key==K_f:
				pygame.draw.aaline(screen,[255,255,0],[0,a-(a*2)+300],[200,b-(b*2)+300])
				pygame.draw.aaline(screen,[255,255,0],[200,b-(b*2)+300],[400,c-(c*2)+300])
				pygame.draw.aaline(screen,[255,255,0],[400,c-(c*2)+300],[600,d-(d*2)+300])
				color1=[random.randint(0,255),random.randint(0,255),random.randint(0,255)]
				color2=[random.randint(0,255),random.randint(0,255),random.randint(0,255)]
				color3=[random.randint(0,255),random.randint(0,255),random.randint(0,255)]
				if color1==color2 or color3:
					color1=[random.randint(0,255),random.randint(0,255),random.randint(0,255)]
				if color2==color3 or color1:
					color2=[random.randint(0,255),random.randint(0,255),random.randint(0,255)]
				if color3==color1 or color2:
					color3=[random.randint(0,255),random.randint(0,255),random.randint(0,255)]
				print color1
				print color2
				print color3
				dfg = pygame.font.SysFont("arial",40)
				abc = dfg.render("Streckenverlauf 1", True, color1)
				screen.blit(abc,(40,20))
				del dfg,abc
				dfg = pygame.font.SysFont("arial",40)
				abc = dfg.render("Streckenverlauf 2", True, color2)
				screen.blit(abc,(40,40))
				del dfg,abc
				dfg = pygame.font.SysFont("arial",40)
				abc = dfg.render("Streckenverlauf 3", True, color3)
				screen.blit(abc,(40,60))
				del dfg,abc
				pygame.draw.aaline(screen,color1,[0,a-(a*2)+300],[200,b-(b*2)+300])
				pygame.draw.aaline(screen,color2,[200,b-(b*2)+300],[400,c-(c*2)+300])
				pygame.draw.aaline(screen,color3,[400,c-(c*2)+300],[600,d-(d*2)+300])
				pygame.display.flip()

Optional: leo-statistik.zip

Teatimer

(ohne Foto) für linux user bitte LCD-font von windows installieren! anleitung per google suchen! Download: leo-funnytea4.zip

PlaneShooter

basierend auf aliens.py der download enthält den kompletten examples ordner von pygame. Der PlaneShooter heißt aliens1.py leo.zip

Python-Projekte-Ordner

Feuersimulator

import pygame, random
from pygame.locals import *
print "Initalizing Pygame..."
pygame.init()
print "Creating screen..."
highres=pygame.display.list_modes()[0]
screen=pygame.display.set_mode(highres)
print "Constructing class..."
class FireObject(pygame.sprite.Sprite):
    def __init__(self,mode,position=(100,100),smokecolor=(128,128,128)):
        pygame.sprite.Sprite.__init__(self)
        self.mode=mode
        self.radius=10
        self.time=0
        if self.mode=="smoke":
            self.color=smokecolor
        if self.mode=="fire":
            self.color=random.choice([(255,0,0),(255,128,64),(255,128,0)])
        self.image=pygame.Surface((200,200))
        self.image.set_colorkey((0,0,0))
        pygame.draw.circle(self.image,self.color,(100,100),self.radius)
        self.rect=self.image.get_rect()
        self.rect.center=position
        self.dx=0
        self.dy=0
        self.zaehler=0
    def update(self,listname):
        #self.tof=random.choice([False,False,False,False,False,False])
        #if self.tof:
    #        listname.append(FireObject("smoke",self.lname,(screen.get_height()/2,screen.get_width()/2),random.choice([(192,192,192),(128,128,128)])))
    #    if self.zaehler==2 and self.mode=="fire":
    #        print "changing fire color..."
    #        self.changecolor()
    #        self.zaehler=0
        #if self.zaehler==8 and self.mode=="smoke":
        #    print "creating new circle..."
        #    self.zaehler=0
        #    listname.append(FireObject("smoke",self.lname,(screen.get_height()/2,screen.get_width()/2),random.choice([(192,192,192),(128,128,128)])))
        #self.zaehler=self.zaehler+1
        if self.mode=="smoke":
            self.time+=1
            if self.time>=50:
                self.kill()
                self.remove()
            self.dy=-4
            self.rect.centery+=self.dy
            self.dx=random.randint(-3,3)
            self.rect.centerx+=self.dx
            self.radius+=1
            pygame.draw.circle(self.image,self.color,(100,100),self.radius)
    def changecolor(self):
        if self.mode=="fire":
            pygame.draw.circle(self.image,(255,255,255),(100,100),10)
            self.color=(255,random.randint(0,150),random.randint(0,150))
            pygame.draw.circle(self.image,self.color,(100,100),10)
        else:
            print "not in fire mode"
print "Constructing main function..."
def main():
    pygame.display.set_caption("Feuersimulator")
    background=pygame.Surface(screen.get_size())
    background.fill((60,255,60))
    screen.blit(background,(0,0))
 
    boxes=[]
    #for i in range(11):
        #r=random.randint(0,255)
        #g=random.randint(0,255)
        #b=random.randint(0,255)
 
 
    #boxes.append(FireObject("smoke",boxes,(screen.get_height()/2,screen.get_width()/2)))
    #boxes.append(FireObject("fire",(screen.get_height()/2,screen.get_width()/2)))
    boxes.append(FireObject("smoke",(300,300)))
    boxes.append(FireObject("fire",(300,300)))
    allSprites=pygame.sprite.OrderedUpdates(boxes)
    zaehler=0
    zaehler2=0
    keepGoing=True
    clock=pygame.time.Clock()
    #screen.fill((random.randint(0,255),random.randint(0,255),random.randint(0,255)))
    while (keepGoing):
        if zaehler2==2:
            print "changing fire color..."
            boxes[1].changecolor()
            zaehler2=0
        if zaehler==8:
             print "creating new circle..."
             zaehler=0
             boxes.append(FireObject("smoke",(300,300)))
             allSprites=pygame.sprite.OrderedUpdates(boxes)
        zaehler=zaehler+1
        zaehler2=zaehler2+1
 
 
        clock.tick(25)
        allSprites=pygame.sprite.OrderedUpdates(boxes)
        for event in pygame.event.get():
            if event.type==pygame.QUIT:
                keepGoing=False
            if event.type==pygame.KEYDOWN:
               if event.key==K_s:
                   pygame.image.save(screen,"bild.jpg")
        screen.blit(background,(0,0))
        allSprites.clear(screen,background)
        allSprites.update(boxes)
        allSprites.draw(screen)
        pygame.display.flip()
if __name__ == "__main__":
    print "Starting script..."
    main()

Aktuelles.zip

Dieses Zip-Paket enthält ein kleines noch sehr unfertiges Spiel FIXME einprogramm.zip

Smalltalk

Dieses Programm läuft nur unter Ubuntu mit installiertem espeak.

# -*- coding: utf-8 -*-
 
import time
import random
import os
 
def list_actions():
    actions=["Tennis spielen ","Computer spielen ","Ein Eis essen ","Programmieren ","Ping-Pong spielen "]
    todo=""
    schongetan=[]
    for i in range(1,4):
        x=random.choice(actions)
        while x in schongetan:
            x=random.choice(actions)
        todo+x
    return todo
 
def speak(what):
    for wort in what.split():
        os.system("espeak %s -v de"%wort)
themen={"Wie geht es dir?":["Nicht so gut heute","Gut, danke der Nachfrage"],
        "Wie findest du das Wetter heute?":["Gut, ein richtig sonniger Tag","Es geht so","Naja, nicht so toll"],
        "Was hast du heute gemacht?":[list_actions()]}
 
a=random.choice(["Hi","Hallo Marvin!","Oh, hallo, schön dich zu sehen!"])
print a
speak(a)
time.sleep(0.5)
a=random.choice(["oh, Hallo Moritz!!","Hallo!","Hi!"])
print a
speak(a)
del a
#gespraech_laenge=random.randint(2,6)
erledigte_saetze=[]
for i in range(1,4):
    print "Satz Nummer %s"%str(i)
    x=random.choice(themen.keys())
    while x in erledigte_saetze:
        x=random.choice(themen.keys())
    print x
    speak(x)
    erledigte_saetze.append(x)
    x2=random.choice(themen[x])
    print x2
    speak(x2)

Builder

Hier der Builder. pokemonclass_builder.zip

Sniper Game Version 3 BETA

Ich habe eine kleine pygame-Demo programmiert. Enjoy! Anleitung: Zoomen mit Mausrad

sniper_v3_beta.zip

Anderes Zeugs

Aktiengame

[code python] class Aktie:

def __init__(self,wert=10,name):
	self.wert=wert
	self.name=name

def NewRound(aktien):

for aktie in aktien:
	aktie.wert+=random.randint(-6,6)

def MainMenu(spieler,aktien):

print "Du hast momentan %i Geld. Was was moechtest du tun?"%spieler.geld
print "====Aktionen===="
print "1 - Aktien kaufen"
print "2 - Aktien verkaufen"
print "3 - Bankaccount checken"
action=raw_input("Was moechtest du tun? ")
if action=="1":
	welche=raw_input("Welche Aktie moechtest du kaufen? ")
	menge=int(raw_input("Und wieviele? ")
	spieler.inventar[welche.lower()]=menge
if action=="2":
	welche=raw_input("Welche Aktie moechtest du verkaufen? ")

MainMenu()

[/code]

zurück

3D-Objekte

Hier ist meine Sammlung an 3D-Objekten. Es gibt noch eineiges zu verbessern, zB Texturen fehlen FIXME

Download: 3dobjekte_l.zip

de/personen/leo/start.txt · Zuletzt geändert: 2009/09/23 00:00 (Externe Bearbeitung)

CC-GNU GPL Der Quellcode in den Code-Beispielen auf der gesamten Website www.spielend-programmieren.at ist lizensiert mit CC-GNU GPL v2.0+. Creative Commons License Alle Inhalte (Texte, Bilder) in diesem spielend-programmieren Wiki von Horst JENS sind lizensiert unter der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License Bei Lizenzfragen wenden Sie sich an : Horst JENS möglichst per e-mail: horst.jens@spielend-programmieren.at