LuuMato (BoneWorm) By DSG

Oletko tehnyt jotain, mistä muut voisivat hyötyä. Postita vinkit tänne.
Post Reply
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

LuuMato (BoneWorm) By DSG

Post by MaGetzUb »

Juu eli tässä ois Dream Sights:n tekemä BoneWorm.
Hiiren oikealla näppäimellä saadaan mato reagoimaan painovoiman kanssa. Pari bugia siitä löytyy, nopea hiiren liikutus saa jotain mystistä tuolle madolle aikaan, ja näyttäisi siltä että pallot hakeutuvat viimmeistä kohti. Sitten toinen bugi on "heilahdus" en tiedä onko tuo ihan oikeaoppisesti tehty heilahdus. Kun vertaan tätä Spunten omaan, niin Spuntella on paljon realistisempi.

Code: Select all

SCREEN 1024,768
SetWindow "Bone Worm By DSG 2009"


Const Gravity = 0.2
Const MAX_Chains = 50
Dim Chain(MAX_Chains,2) As Float
Dim Chain_Vels(Max_Chains,2) As Float 


Scale = 10

AddText "Hiiren oikealla näppäimellä mato"
AddText "liikkuu painovoiman mukaan."

Repeat 
    Color cbwhite
    Text 0,26,"FPS: "+FPS()
    
    For i = 1 To MAX_Chains
        CurChainAngle = GetAngle(Chain(i,1),Chain(i,2),Chain(i-1,1),Chain(i-1,2))
        CurDistance = Distance(Chain(i,1),Chain(i,2),Chain(i-1,1),Chain(i-1,2))

        If CurDistance > 10 Or CurDistance < 10  Then 
                Chain(i-1,1) = Chain(i,1) + Cos(CurChainAngle) * Scale
                Chain(i-1,2) = Chain(i,2) - Sin(CurChainAngle) * Scale
        EndIf 
        

        
        If MouseDown(2) Then 
            
            Chain_Vels(i-1,1) = Chain_Vels(i-1,1) + ((Chain(i,1) - Chain(i-1,1)) / Scale) * (Gravity*0.75)
            Chain_Vels(i-1,2) = Chain_Vels(i-1,2) + ((Chain(i,2) - Chain(i-1,2)) / Scale) * (Gravity*0.75)
            
            Chain_Vels(i-1,1) = Chain_Vels(i-1,1) - (Chain_Vels(i-1,1)) * 0.075
            Chain_Vels(i-1,2) = Chain_Vels(i-1,2) - (Chain_Vels(i-1,2)) * 0.075
            
            Chain(i-1,1) = Chain(i-1,1) + Chain_Vels(i-1,1)
            Chain(i-1,2) = Chain(i-1,2) + Chain_Vels(i-1,2)
            Chain_Vels(i-1,2) = Chain_Vels(i-1,2) + Gravity
        Else 
            Chain_Vels(i-1,1) = 0
            Chain_Vels(i-1,2) = 0
        EndIf 
        

        
        Color cbwhite
        Line Chain(i-1,1),Chain(i-1,2),Chain(i,1),Chain(i,2)
        Color cbred
        Circle Chain(i,1)-5,Chain(i,2)-5,10
        
    Next i 

    Scale = Scale + UpKey() - DownKey()
    
    
    Chain(MAX_Chains,1) = MouseX()
    Chain(MAX_Chains,2) = MouseY()
    

DrawScreen
Forever 
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Post Reply