GMU:Bots 'n' Plots/Constantin Oestreich

From Medien Wiki

Page of Constantin Oestreich

Twitter: @ConstOest

Robot const.jpg

Animated Robot

Robot Const.gif

Thumb doesnt work - find it here:

Animated Robot: [1]

Robot Code


"""

My Animated Robot

"""

#Variablen

widthBox = 400
heightBox = widthBox
centerx = widthBox / 2
centery = heightBox / 2
koerper = widthBox / 3
kopf = koerper / 1.5
auge = kopf / 6
blauKopf = 0
gruenKopf = 90
rotKopf = 100



#Ausgabe

def setup():
    size (widthBox,heightBox)
    colorMode (RGB, 100)


def draw():
    
    #Moving per Frame
    frameRate (25)
    angle = PI/8 * sin(frameCount * 0.1)
    
    #Growing Up
    
    global auge
    if auge<30:
        auge=auge+2
    else:
        auge=10
        
    global kopf
    if kopf<140:
        kopf=kopf+2
    else:
        kopf = koerper / 1.5
        
    global blauKopf
    global gruenKopf
    global rotKopf    
    if kopf>koerper / 1.5 and kopf<130:
        blauKopf = blauKopf + 5
        gruenKopf = gruenKopf -2
        rotKopf = rotKopf -2
    
    elif kopf > 130 and kopf < 140:
        blauKopf = 0
        gruenKopf = 0
        rotKopf = 100
        
    else:
        blauKopf=0
        gruenKopf = 90
        rotKopf = 100   
    
    #Variablen BG
    R = random(30,60)
    G = random(50,80)
    B = random(70,90) 
    
    #Variablen Fill
    RF = random(20,50)
    GF = random(0,30)
    BF = random(10,40)
    
    #define
    background(R,G,B)
    rectMode(CENTER)
    fill (RF,GF,BF)
    stroke (90)
    strokeWeight(5)    

    #---Körper---
    rect (centerx, centery, koerper, koerper)

    #---Kopf---
    pushStyle()
    fill (rotKopf, gruenKopf, blauKopf)
    ellipse (centerx, centery-koerper+(kopf*0.25), kopf, kopf)
    popStyle()
    
    # Variablen Auge
    
    AugeX1 = centerx - 17
    AugeY1 = centerx - koerper*0.875
    AugeX2 = centerx + 17
    AugeY2 = centerx - koerper*0.875
    
    #---Auge01---
    
    drawAuge(AugeX1, AugeY1, 1)
    
    
    #---Auge02---
    
    drawAuge(AugeX2, AugeY2, -1)
    
    # Arm positions
    posLx = centerx - koerper / 2
    posLy = centery - koerper / 2
    posRx = centerx + koerper / 2
    posRy = centery - koerper / 2
    
    # Bein positions
    posBLx = centerx - koerper / 2
    posBLy = centery + koerper / 2
    posBRx = centerx + koerper / 2
    posBRy = centery + koerper / 2
    
    #---Left Arm---
    drawArm(posLx-30, posLy-15, 1, angle)
    
    #---Right Arm---
    drawArm(posRx+30, posRy-15, -1, angle) 
    
    #---Bein Links---
    drawBein(posBLx, posBLy)
    
    #---Bein Rechts---
    drawBein(posBRx-40, posBRy)
  
      
#Eigene Funktionen

def drawAuge (xpos, ypos, direction):
    pushMatrix()
    pushStyle()
    fill (80,80,100)
    stroke (40)
    strokeWeight(2) 
    translate (xpos, ypos)  
    scale(direction,1) 
    ellipse (0,0,auge,auge)  
    popStyle()           
    popMatrix()

def drawArm (xpos, ypos, direction, angle):
    pushMatrix()
    translate(xpos,ypos)
    scale(direction,1)
    rotate(angle)
    rectMode(CORNER)
    rect(0,0,30,130)
    popMatrix()
    
def drawBein (xpos, ypos):
    pushMatrix()
    pushStyle()
    fill(10,10,40)
    translate(xpos,ypos)
    rectMode(CORNER)
    rect(0,0,40,90)
    popMatrix()
    popStyle()
    
    
    saveFrame("robot_const_###.png")