Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Tap dancing walk animation
Index -> Programming, Turing -> Turing Submissions
View previous topic Printable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
petree08




PostPosted: Fri Oct 27, 2006 12:16 pm   Post subject: Tap dancing walk animation

This is a funny little program i wrote when a saw a walk animation on compsci last year. I didn't even look at the code for it because i was the biggest noob there was, but it inspired me latter on to make this. It may not look anything like the animation i saw before but i still think it's okay

code:


var Key : array char of boolean
var X : int := maxx div 2
var y : int := 20
var dy : int := 1
var legangle := 1
var legangle2 := -2
var dy2 : int := 1
var dy3 : int := -1
var Head : int := 200
var Headd : int := 1
var Y : int := 201
var Ch : char


procedure Pause

    Ch := getchar
end Pause


setscreen ("graphics:max,max,nobuttonbar,offscreenonly")
colorback (7)


loop

    X := X + 2
    Head := Head + Headd

    if Head > 200 then
        Headd := -Headd
    end if
    if Head <= 175 then
        Headd := -Headd
    end if
    legangle2 := legangle2 + dy3
    legangle := legangle + dy2
    if legangle <= 1 then
        dy2 := -dy2
    elsif legangle >= 20 then
        dy2 := -dy2
    end if
    if X >= maxx + 50 then
        X := 1
    end if

    if legangle2 <= 1 then
        dy3 := -dy3
    elsif legangle2 >= 20 then
        dy3 := -dy3
    end if
    if X >= maxx + 50 then
        X := 1
    end if
    y := y + dy
    if y > 20 then
        dy := -dy
    end if
    if y < -20 then
        dy := -dy
    end if
    cls
    drawline (1, 200, maxx, 200, 0)

    drawdot (X, Y, 0)

    % person %%%%%%%%

    % head

    drawfilloval (X, Y + Head, 15, 15, 0)
    Draw.Arc (X, Y + Head, 7, 9, 180, 0, 7)
    drawfilloval (X - 5, Y + Head + 5, 3, 3, 7)
    drawfilloval (X + 5, Y + Head + 5, 3, 3, 7)
    %hat
    drawfillbox (X - 20, Y + Head + 12, X + 20, Y + Head + 17, 15)
    drawfillbox (X - 10, Y + Head + 12, X + 10, Y + Head + 40, 15)
    %Body (spine)
    drawline (X, Y + Head - 20, X, Y + 75, 0)
    %HIPS
    drawline (X - 5, Y + 75 - y, X + 5, Y + 75 + y, 0)
    % Legs
    drawline (X - 5, Y + 75 - y, X - 5, Y + 75 - y - 60, 0)
    drawline (X + 5, Y + 75 + y, X + 5, Y + 75 + y - 60, 0)
    drawfilloval (X - 13, Y + 75 - y - 60, 7, 3, 15)
    drawfilloval (X + 13, Y + 75 + y - 60, 7, 3, 15)
    %arms
    drawline (X - 5, Y + 150 - y, X + 5, Y + 150 + y, 0)
    drawline (X - 5, Y + 150 - y, X - 15, Y + 150 - y - 60, 0)
    drawfilloval (X + 20, Y + 150 + y - 60, 7, 3, 0)
    drawfilloval (X - 20, Y + 150 - y - 60, 7, 3, 0)

    drawline (X + 5, Y + 150 + y, X + 15, Y + 150 + y - 60, 0)



    delay (5)
    View.Update
    Input.KeyDown (Key)



end loop

Sponsor
Sponsor
Sponsor
sponsor
jamonathin




PostPosted: Fri Oct 27, 2006 2:33 pm   Post subject: (No subject)

lol.... heres a remake for you - or at least anyone else
code:

var Key : array char of boolean
var X : int := maxx div 2
var y : int := 20
var dy : int := 1
var legangle := 1
var legangle2 := -2
var dy2 : int := 1
var dy3 : int := -1
var Head : int := 200
var Headd : int := 1
var Y : int := 201
var Ch : char


procedure Pause

    Ch := getchar
end Pause


setscreen ("graphics:max,max,nobuttonbar,offscreenonly")
colorback (7)


for i : 1 .. 300
    X := X + 5
    Head := Head + Headd

    if Head > 200 then
        Headd := -Headd
    end if
    if Head <= 175 then
        Headd := -Headd
    end if
    legangle2 := legangle2 + dy3
    legangle := legangle + dy2
    if legangle <= 1 then
        dy2 := -dy2
    elsif legangle >= 20 then
        dy2 := -dy2
    end if
    if X >= maxx + 50 then
        X := 1
    end if

    if legangle2 <= 1 then
        dy3 := -dy3
    elsif legangle2 >= 20 then
        dy3 := -dy3
    end if
    if X >= maxx + 50 then
        X := 1
    end if
    y := y + dy
    if y > 20 then
        dy := -dy
    end if
    if y < -20 then
        dy := -dy
    end if
    cls
    drawline (1, 200, maxx, 200, 0)

    drawdot (X, Y, 0)

    % person %%%%%%%%

    % head

    drawfilloval (X, Y + Head, 15, 15, 0)
    Draw.Arc (X, Y + Head, 7, 9, 180, 0, 7)
    drawfilloval (X - 5, Y + Head + 5, 3, 3, 7)
    drawfilloval (X + 5, Y + Head + 5, 3, 3, 7)
    %hat
    drawfillbox (X - 20, Y + Head + 12, X + 20, Y + Head + 17, 15)
    drawfillbox (X - 10, Y + Head + 12, X + 10, Y + Head + 40, 15)
    %Body (spine)
    drawline (X, Y + Head - 20, X, Y + 75, 0)
    %HIPS
    drawline (X - 5, Y + 75 - y, X + 5, Y + 75 + y, 0)
    % Legs
    drawline (X - 5, Y + 75 - y, X - 5, Y + 75 - y - 60, 0)
    drawline (X + 5, Y + 75 + y, X + 5, Y + 75 + y - 60, 0)
    drawfilloval (X - 13, Y + 75 - y - 60, 7, 3, 15)
    drawfilloval (X + 13, Y + 75 + y - 60, 7, 3, 15)
    %arms
    drawline (X - 5, Y + 150 - y, X + 5, Y + 150 + y, 0)
    drawline (X - 5, Y + 150 - y, X - 15, Y + 150 - y - 60, 0)
    drawfilloval (X + 20, Y + 150 + y - 60, 7, 3, 0)
    drawfilloval (X - 20, Y + 150 - y - 60, 7, 3, 0)

    drawline (X + 5, Y + 150 + y, X + 15, Y + 150 + y - 60, 0)

    %delay (5)
    View.Update
    Input.KeyDown (Key)
end for
var xb, yb : int := maxx
yb := Y + Head
var x, yy, r, a, b : array 1 .. 50 of int
var count : int := 0
for i : 1 .. 50
    x (i) := X + Rand.Int (-5, 5)
    yy (i) := Y + Head
    r (i) := Rand.Int (1, 2)
    a (i) := Rand.Int (-10, 10)
    b (i) := Rand.Int (-10, 10)
end for

proc spray
    for i : 1 .. 50
        x (i) += a (i)
        yy (i) += b (i)
        drawfilloval (x (i), yy (i), r (i), r (i), red)
    end for
end spray

for i : 1 .. maxx + 15 by 15
    Draw.ThickLine (xb, yb - 1, maxx, yb - 1, 8, black)
    drawfilloval (xb, yb, 5, 2, grey)
    xb -= 30
    if xb <= X then
        spray
    end if
    View.Update
end for


lol Very Happy
Display posts from previous:   
   Index -> Programming, Turing -> Turing Submissions
View previous topic Tell A FriendPrintable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 2 Posts ]
Jump to:   


Style:  
Search: