Um auf meine Homepage zu gelangen, bitte auf das Bild klicken
1. Buttonbox mit Hilfe von easygui erstellen:
2. Video-Tutorial "How to make a qcake-comic":
Die Website von Qcake: Englisch
# -*- 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
(ohne Foto) für linux user bitte LCD-font von windows installieren! anleitung per google suchen! Download: leo-funnytea4.zip
basierend auf aliens.py der download enthält den kompletten examples ordner von pygame. Der PlaneShooter heißt aliens1.py leo.zip
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()
Dieses Zip-Paket enthält ein kleines noch sehr unfertiges Spiel
einprogramm.zip
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)
Hier der Builder. pokemonclass_builder.zip
Ich habe eine kleine pygame-Demo programmiert. Enjoy! Anleitung: Zoomen mit Mausrad
[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]
Hier ist meine Sammlung an 3D-Objekten.
Es gibt noch eineiges zu verbessern, zB Texturen fehlen
Download: 3dobjekte_l.zip
|
Der Quellcode in den Code-Beispielen auf der gesamten Website www.spielend-programmieren.at ist lizensiert mit CC-GNU GPL v2.0+. |
|
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 |