Inofficiellt forum för Nintendo i Sverige

Du är inte inloggad.

Meddelande

Detta forum är nu ett arkiv för gamla minnen! Det går ej att registrera sig eller skriva på detta forum.
Vi hänvisar till nf2.se för vidare diskussioner.

#51 2009-01-07 21:52:54

Greensea
Medlem P27
Från: Piteå
Registrerad: 2008-09-02
Inlägg: 1291

Re: Programmering

Blader skrev:

Greensea skrev:

StarErik skrev:

Bevisa det!

Hmm... Jag vet både att subdominantparallellen till bess-moll är gess, och att polymorfism är när man använder en och samma typ av pekare för att peka på objekt av olika klasser, som har samma "basklass", alltså med hjälp av arv/inheritance är skapade från samma klass.
big_smile

Usch, sånt där äckel kommer jag aldrig kunna lära mig. :X

Menar du den första eller den andra saken som jag skrev? yikes

Offline

 

#52 2009-01-07 22:24:15

StarErik
Medlem P32
Från: Valdemarsvik
Registrerad: 2008-08-05
Inlägg: 22856
Webbsida

Re: Programmering

Blader skrev:

Greensea skrev:

StarErik skrev:


Bevisa det!

Hmm... Jag vet både att subdominantparallellen till bess-moll är gess, och att polymorfism är när man använder en och samma typ av pekare för att peka på objekt av olika klasser, som har samma "basklass", alltså med hjälp av arv/inheritance är skapade från samma klass.
big_smile

Usch, sånt där äckel kommer jag aldrig kunna lära mig. :X

Det är ganska onödigt att kunna. tongue Om man nu inte ska hålla en föreläsning om det. tongue


It won't be too soon till I say goodnight moon.

I'm make musics.

Offline

 

#53 2009-01-07 22:37:35

Lutgerion
Medlem P28
Från: Kungsbacka
Registrerad: 2008-08-03
Inlägg: 8742

Re: Programmering

Den här använder jag för att fixa mitt tangentbord som ibland håller inne nedåtpilen av sig självt. tongue


HotKeySet("{DOWN}","stopDown")

While(1)

WEnd

Func stopDown()

EndFunc


Jag tycker det är awesum.


http://card.mygamercard.net/gbar/360/Lutgerion.gif

If you happen to have read another book about Christopher Robin, you may remember that he once had a swan (or the swan had Christopher Robin, I don't know which), and he used to call this swan Pooh.
That was a long time ago, and when we said goodbye, we took the name with us, as we didn't think the swan would want it any more.

Offline

 

#54 2009-01-07 23:45:09

Skógvur
Meðlem 29
Registrerad: 2008-08-04
Inlägg: 10982

Re: Programmering

Lutgerion skrev:

Den här använder jag för att fixa mitt tangentbord som ibland håller inne nedåtpilen av sig självt. tongue


HotKeySet("{DOWN}","stopDown")

While(1)

WEnd

Func stopDown()

EndFunc


Jag tycker det är awesum.

Vilket språk? xD


http://i375.photobucket.com/albums/oo191/Skomakarn/alfagraLand.png

Nær dú hev brøtið alla regla som brjúta gár, og dú hev sleikt av dín sár.
Nær dað er hvarki din angr ellr pasjón som râr, hven sit dú í gjenn með dá?

Offline

 

#55 2009-01-07 23:47:32

StarErik
Medlem P32
Från: Valdemarsvik
Registrerad: 2008-08-05
Inlägg: 22856
Webbsida

Re: Programmering

Skomakarn skrev:

Lutgerion skrev:

Den här använder jag för att fixa mitt tangentbord som ibland håller inne nedåtpilen av sig självt. tongue


HotKeySet("{DOWN}","stopDown")

While(1)

WEnd

Func stopDown()

EndFunc


Jag tycker det är awesum.

Vilket språk? xD

Hindi.


It won't be too soon till I say goodnight moon.

I'm make musics.

Offline

 

#56 2009-01-07 23:50:02

Skógvur
Meðlem 29
Registrerad: 2008-08-04
Inlägg: 10982

Re: Programmering

Och varför har du en tom whileslinga mitt i allt? Den gör ju ingenting. XD


http://i375.photobucket.com/albums/oo191/Skomakarn/alfagraLand.png

Nær dú hev brøtið alla regla som brjúta gár, og dú hev sleikt av dín sár.
Nær dað er hvarki din angr ellr pasjón som râr, hven sit dú í gjenn með dá?

Offline

 

#57 2009-01-08 00:34:10

Zetanon
Medlem P32
Från: Valdemarsvik/Stockholm
Registrerad: 2008-08-12
Inlägg: 3944

Re: Programmering

Även stopDown() verkar ju vara tom... hmm


Hon ser dig

"'For the win.' Means uh... My tweet kicks your tweet's butt." - Richard Castle

Offline

 

#58 2009-01-08 13:20:57

Greensea
Medlem P27
Från: Piteå
Registrerad: 2008-09-02
Inlägg: 1291

Re: Programmering

Zetanon skrev:

Även stopDown() verkar ju vara tom... hmm

Hmm... HotKeySet kanske fungerar utan hjälp. Alltså, i den tomma loopen så kollar programmet automatiskt efter knapptryckningar. Eller?
Och det kanske inte behövs något i stopDown(), den kanske fyller sin funktion utan någon kod?
Eller, jag vet inte... tongue

Senast redigerat av Greensea (2009-01-08 16:05:51)

Offline

 

#59 2009-01-08 14:34:05

Johnny
Medlem
Från: Ljungby
Registrerad: 2008-08-13
Inlägg: 3286

Re: Programmering

Någon bra sida ni rekommenderar för programmering?

Offline

 

#60 2009-01-08 16:20:07

Skógvur
Meðlem 29
Registrerad: 2008-08-04
Inlägg: 10982

Re: Programmering

Johnny skrev:

Någon bra sida ni rekommenderar för programmering?

Beror ju på vilket språk.


http://i375.photobucket.com/albums/oo191/Skomakarn/alfagraLand.png

Nær dú hev brøtið alla regla som brjúta gár, og dú hev sleikt av dín sár.
Nær dað er hvarki din angr ellr pasjón som râr, hven sit dú í gjenn með dá?

Offline

 

#61 2009-01-08 21:21:40

Fr4sbokz
Medlem P27
Från: Här, lol.
Registrerad: 2008-08-03
Inlägg: 2832
Webbsida

Re: Programmering

Greensea skrev:

Zetanon skrev:

Även stopDown() verkar ju vara tom... hmm

Hmm... HotKeySet kanske fungerar utan hjälp. Alltså, i den tomma loopen så kollar programmet automatiskt efter knapptryckningar. Eller?
Och det kanske inte behövs något i stopDown(), den kanske fyller sin funktion utan någon kod?
Eller, jag vet inte... tongue

Det är AutoIT, lawls.
Lutte är dålig. xD
Han använder mitt script, postar det utan att nämna mig och vet inte ens hur det funkar! D8

HotKeySet() används (i detta fall) för att hindra datorn att registrera om nedknappen är tryckt. xD
När man gör en HotKeySet() så måste den länka till någon funktion, och därför är stopDown() tom. :3
och den tomma while-slingan hindrar programmet från att dö. xD

AutoIT är simpelt, men sött. <3


;;;;;;;;_;;;;;;;;; <---- RIKTIGT JÄVLA LEDSEN

"Jag hostar en porr torrent tracker i mitt skåp i skolan." - KapuX

Offline

 

#62 2009-01-08 21:24:19

Skógvur
Meðlem 29
Registrerad: 2008-08-04
Inlägg: 10982

Re: Programmering

Fr4sbokz skrev:

Greensea skrev:

Zetanon skrev:

Även stopDown() verkar ju vara tom... hmm

Hmm... HotKeySet kanske fungerar utan hjälp. Alltså, i den tomma loopen så kollar programmet automatiskt efter knapptryckningar. Eller?
Och det kanske inte behövs något i stopDown(), den kanske fyller sin funktion utan någon kod?
Eller, jag vet inte... tongue

Det är AutoIT, lawls.
Lutte är dålig. xD
Han använder mitt script, postar det utan att nämna mig och vet inte ens hur det funkar! D8

HotKeySet() används (i detta fall) för att hindra datorn att registrera om nedknappen är tryckt. xD
När man gör en HotKeySet() så måste den länka till någon funktion, och därför är stopDown() tom. :3
och den tomma while-slingan hindrar programmet från att dö. xD

AutoIT är simpelt, men sött. <3

Det gör väl inget att programmet dör när det rensat knappnedtryckningen?

Senast redigerat av Skomakarn (2009-01-08 21:24:35)


http://i375.photobucket.com/albums/oo191/Skomakarn/alfagraLand.png

Nær dú hev brøtið alla regla som brjúta gár, og dú hev sleikt av dín sár.
Nær dað er hvarki din angr ellr pasjón som râr, hven sit dú í gjenn með dá?

Offline

 

#63 2009-01-08 21:29:14

Fr4sbokz
Medlem P27
Från: Här, lol.
Registrerad: 2008-08-03
Inlägg: 2832
Webbsida

Re: Programmering

Skomakarn skrev:

Fr4sbokz skrev:

Greensea skrev:


Hmm... HotKeySet kanske fungerar utan hjälp. Alltså, i den tomma loopen så kollar programmet automatiskt efter knapptryckningar. Eller?
Och det kanske inte behövs något i stopDown(), den kanske fyller sin funktion utan någon kod?
Eller, jag vet inte... tongue

Det är AutoIT, lawls.
Lutte är dålig. xD
Han använder mitt script, postar det utan att nämna mig och vet inte ens hur det funkar! D8

HotKeySet() används (i detta fall) för att hindra datorn att registrera om nedknappen är tryckt. xD
När man gör en HotKeySet() så måste den länka till någon funktion, och därför är stopDown() tom. :3
och den tomma while-slingan hindrar programmet från att dö. xD

AutoIT är simpelt, men sött. <3

Det gör väl inget att programmet dör när det rensat knappnedtryckningen?

Jo, för programmet måste fortsätta vara på.
Varje gång man trycker ned så ska den ju tycka att "Nej, den där knappen är min hotkey! Den får inte Windows registrera! D8"...
HotKeySet() uppdaterar sig självt, så man behöver inte mer än en tom while-loop.
xD

(jag har knappt någon aning om varför Lutte ville ha detta, något med MSN, typ.)


;;;;;;;;_;;;;;;;;; <---- RIKTIGT JÄVLA LEDSEN

"Jag hostar en porr torrent tracker i mitt skåp i skolan." - KapuX

Offline

 

#64 2009-01-08 21:31:58

Eki
Medlem P30
Från: Lund
Registrerad: 2008-11-27
Inlägg: 6997
Webbsida

Re: Programmering

Lutgerion skrev:

Den här använder jag för att fixa mitt tangentbord som ibland håller inne nedåtpilen av sig självt. tongue

?


kolasås Dags att ändra den gråa texten ser jag. Och den vita också.
Brawl: 3824 0053 9360
Heart Gold: 2450 7096 3696

PÅSEn

Offline

 

#65 2009-01-08 21:33:42

Skógvur
Meðlem 29
Registrerad: 2008-08-04
Inlägg: 10982

Re: Programmering

Fr4sbokz skrev:

Skomakarn skrev:

Fr4sbokz skrev:


Det är AutoIT, lawls.
Lutte är dålig. xD
Han använder mitt script, postar det utan att nämna mig och vet inte ens hur det funkar! D8

HotKeySet() används (i detta fall) för att hindra datorn att registrera om nedknappen är tryckt. xD
När man gör en HotKeySet() så måste den länka till någon funktion, och därför är stopDown() tom. :3
och den tomma while-slingan hindrar programmet från att dö. xD

AutoIT är simpelt, men sött. <3

Det gör väl inget att programmet dör när det rensat knappnedtryckningen?

Jo, för programmet måste fortsätta vara på.
Varje gång man trycker ned så ska den ju tycka att "Nej, den där knappen är min hotkey! Den får inte Windows registrera! D8"...
HotKeySet() uppdaterar sig självt, så man behöver inte mer än en tom while-loop.
xD

(jag har knappt någon aning om varför Lutte ville ha detta, något med MSN, typ.)

Jag trodde bara att grejen var OH NOEZ MIN NEDÅTKNAPP HÅLLER INNE SIG SJÄLV - *starta program, som rensar knapptryckningen och avslutar sig, och knappen håller icke längre ned sig själv*. noes


http://i375.photobucket.com/albums/oo191/Skomakarn/alfagraLand.png

Nær dú hev brøtið alla regla som brjúta gár, og dú hev sleikt av dín sár.
Nær dað er hvarki din angr ellr pasjón som râr, hven sit dú í gjenn með dá?

Offline

 

#66 2009-01-08 21:54:00

Greensea
Medlem P27
Från: Piteå
Registrerad: 2008-09-02
Inlägg: 1291

Re: Programmering

Fr4sbokz skrev:

Greensea skrev:

Zetanon skrev:

Även stopDown() verkar ju vara tom... hmm

Hmm... HotKeySet kanske fungerar utan hjälp. Alltså, i den tomma loopen så kollar programmet automatiskt efter knapptryckningar. Eller?
Och det kanske inte behövs något i stopDown(), den kanske fyller sin funktion utan någon kod?
Eller, jag vet inte... tongue

Det är AutoIT, lawls.
Lutte är dålig. xD
Han använder mitt script, postar det utan att nämna mig och vet inte ens hur det funkar! D8

HotKeySet() används (i detta fall) för att hindra datorn att registrera om nedknappen är tryckt. xD
När man gör en HotKeySet() så måste den länka till någon funktion, och därför är stopDown() tom. :3
och den tomma while-slingan hindrar programmet från att dö. xD

AutoIT är simpelt, men sött. <3

Då gissade jag ju rätt! big_smile

Offline

 

#67 2009-01-08 22:19:26

Bwa Kell
Medlem
Från: West Clocktown
Registrerad: 2008-08-30
Inlägg: 882
Webbsida

Re: Programmering

Bwa Kell skrev:

Jag håller på med att göra ett program som simulerar elastiska krockar mellan vagnar i Java. Och ja resultatet blir oftast rätt, men ibland kan det bli konstigt, så någonstans måste det ju vara fel. Så om någon vill kan ju han/hon kontrollera min källkod.

Rorelsemangd.java är bara där användaren skriver in värden och så; själva GUI:t alltså. Så det är nog Move.java som är den intressanta.
(Jag har även kommenterat härledningen av formeln jag använt för att räkna ut hastigheten efteråt.)

Rorelsemangd.java

Kod:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;

public class Rorelsemangd extends Applet implements ActionListener
{
    private JPanel p1 = new JPanel(), p2 = new JPanel(), p3 = new JPanel(), up1 = new JPanel(), up2 = new JPanel(), up3 = new JPanel(), up4 = new JPanel();

    private JLabel jl1 = new JLabel("<html><body> Hastighet efter: <br> ---</body></html>"), jl2 = new JLabel("<html><body> Hastighet efter: <br> ---</body></html>"), jl3 = new JLabel("Vikt"), jl4 = new JLabel("Hastighet"), jl5 = new JLabel("Vikt"), jl6 = new JLabel("Hastighet"), jl7 = new JLabel("    A"), jl8 = new JLabel("    B");

    private JTextField jf1 = new JTextField("2"), jf2 = new JTextField("1"), jf3 = new JTextField("2"), jf4 = new JTextField("1");

    private JButton jb = new JButton("Starta"), jb2 = new JButton("Avbryt");

    //Några varibler bara.
    private float v1, m1, v2, m2;
    private String s1, s2, s3, s4;

    private Move app;

    public void init()
    {
        setSize(557, 330);
        setLayout(new BorderLayout());

        add(p1, BorderLayout.SOUTH);
        add(p2, BorderLayout.WEST);
        add(p3, BorderLayout.EAST);

        p1.add(jb);
        p1.add(jb2);

        p2.setLayout(new GridLayout(4, 1, 0, 50));
        p3.setLayout(new GridLayout(4, 1, 0, 50));
        up1.setLayout(new BoxLayout(up1, BoxLayout.Y_AXIS));
        up2.setLayout(new BoxLayout(up2, BoxLayout.Y_AXIS));
        up3.setLayout(new BoxLayout(up3, BoxLayout.Y_AXIS));
        up4.setLayout(new BoxLayout(up4, BoxLayout.Y_AXIS));

        jl1.setFont( new Font("Verdana", Font.BOLD, 10) );
        jl2.setFont( new Font("Verdana", Font.BOLD, 10) );
        jl7.setFont( new Font("Verdana", Font.BOLD, 25) );
        jl8.setFont( new Font("Verdana", Font.BOLD, 25) );
        jl7.setForeground( new Color(40, 200, 40) );
        jl8.setForeground( new Color(40, 200, 40) );

        up1.add(jl3);
        up1.add(jf1);
        up2.add(jl4);
        up2.add(jf2);
        up3.add(jl5);
        up3.add(jf3);
        up4.add(jl6);
        up4.add(jf4);

        p2.add(jl7);
        p2.add(jl1);
        p2.add(up1);
        p2.add(up2);

        p3.add(jl8);
        p3.add(jl2);
        p3.add(up3);
        p3.add(up4);

        jb.addActionListener(this);
        jb2.addActionListener(this);

        app = new Move();
        add(app, BorderLayout.CENTER);

        setVisible(true);
    }

    public void actionPerformed(ActionEvent ae)
    {
        if(ae.getSource()==jb)
        {
            s1 = jf1.getText().replace(',', '.').replaceAll(" ", "");
            s2 = jf2.getText().replace(',', '.').replaceAll(" ", "");
            s3 = jf3.getText().replace(',', '.').replaceAll(" ", "");
            s4 = jf4.getText().replace(',', '.').replaceAll(" ", "");

            if( s1.isEmpty() ) s1 = "0";
            if( s2.isEmpty() ) s2 = "0";
            if( s3.isEmpty() ) s3 = "0";
            if( s4.isEmpty() ) s4 = "0";

            try
            {
                m1 = Float.parseFloat(s1);
                v1 = Float.parseFloat(s2);
                m2 = Float.parseFloat(s3);
                v2 = Float.parseFloat(s4);

                app.errorMessage(false);

                if(m1<=0 || m2<=0) app.errorMessage(true);
                else app.start(v1, m1, v2, m2);
            }
            catch(Exception e){ app.errorMessage(true); }

            jl1.setText("<html><body> Hastighet efter: <br> "+app.getV1E()+" m/s </body></html>");
            jl2.setText("<html><body> Hastighet efter: <br> "+app.getV2E()+" m/s </body></html>");
        }
        else if(ae.getSource()==jb2)
        {
            app.stop();
        }
    }
}

Move.java

Kod:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Move extends JPanel implements ActionListener
{
    //Timer som genererar händelser.
    private Timer t = new Timer(50, this);

    //Bredd och höjd.
    private int w = 375, h = 300;
    private Rectangle window = new Rectangle(w, h);

    //Vagn bredd, vagn höjd och hjulens diameter.
    private int vw = 60, vh = 30, hr = 10;

    //Vagnens koordinater
    private int sPos = 50;

    private int [] vk1x = new int[3];
    private int [] vk2x = new int[3];

    private float [] vk1xF = new float[vk1x.length];
    private float [] vk2xF = new float[vk2x.length];

    private int [] vky = {h/2, h/2+vh};

    //Vagnarnas krockbox.
    private Rectangle vagn1 = new Rectangle(vw, vh), vagn2 = new Rectangle(vw, vh);

    //Hastighet och massa.
    private float v1, v2, m1, m2, v1E, v2E;

    //Felmeddelande.
    private boolean error = false;

    public Move()
    {
        setSize(w, h);

        initCoord();

        vagn1.setLocation(vk1x[0], vky[0]);
        vagn2.setLocation(vk2x[0], vky[0]);

        v1 = 0; v2 = 0; m1 = 0; m2 = 0;
        v1E = 0; v2E = 0;

        setVisible(true);
    }

    private void initCoord()
    {
        vk1x[0] = sPos;
        vk1x[1] = sPos+hr/2;
        vk1x[2] = sPos+(vw-hr-hr/2);

        vk2x[0] = w-(sPos+vw);
        vk2x[1] = w-(sPos+vw)+hr/2;
        vk2x[2] = w-(sPos+vw)+(vw-hr-hr/2);

        for(int i = 0; i<vk1x.length; i++) vk1xF[i] = vk1x[i];
        for(int i = 0; i<vk2x.length; i++) vk2xF[i] = vk2x[i];
    }

    public void start(float vv1, float mm1, float vv2, float mm2)
    {
        if( !t.isRunning() ) //Skyddar oss från fulingknep.
        {
            v1 = vv1;
            m1 = mm1;
            v2 = -vv2;
            m2 = mm2;

            /*
            if(v1!<=v2)

            Ekvation: 1/2*m1*v1^2 + 1/2*m2*v2^2 = 1/2*m1*v1E^2 + 1/2*m2*v2E^2

            --> m1*v1^2 + m2*v2^2 = m1*v1E^2 + m2*v2E^2

            --------------------------------------------

            Ekvation: m1*v1 + m2*v2 = m1*v1E + m2*v2E

            --> m1*v1/m2 + v2 - m1*v1E/m2 = v2E

            v2E^2 = (m1*v1/m2 + v2 - m1*v1E/m2)^2 --> v2E^2 = |(m1*v1/m2)^2 + m1*v1*v2/m2 - m1^2*v1*v1E/m2^2| + |m1*v1*v2/m2 + v2^2 - m1*v1E*v2/m2| - |m1^2*v1*v1E/m2^2 - m1*v1E*v2/m2 + (m1*v1E/m2)^2|
            --> (m1*v1/m2)^2 + 2*m1*v1*v2/m2 - 2*m1^2*v1*v1E/m2^2 + v2^2 - 2*m1*v1E*v2/m2 + (m1*v1E/m2)^2

            --------------------------------------------

            m1*v1^2 + m2*v2^2 = m1*v1E^2 + m2*( (m1*v1/m2)^2 + 2*m1*v1*v2/m2 - 2*m1^2*v1*v1E/m2^2 + v2^2 - 2*m1*v1E*v2/m2 + (m1*v1E/m2)^2 )
            --> m1*v1^2 + m2*v2^2 = m1*v1E^2 + |(m1*v1)^2/m2 + 2*m1*v1*v2 - 2*m1^2*v1*v1E/m2 + m2*v2^2 - 2*m1*v1E*v2 + (m1*v1E)^2/m2|

            m1*v1^2 + m2*v2^2 - (m1*v1)^2/m2 - 2*m1*v1*v2 - m2*v2^2 = m1*v1E^2 - 2*m1^2*v1*v1E/m2 - 2*m1*v1E*v2 + (m1*v1E)^2/m2
            m2*m1*v1^2 - (m1*v1)^2 - 2*m1*v1*v2*m2 = m1*v1E^2*m2 - 2*m1^2*v1*v1E - 2*m1*v1E*v2*m2 + (m1*v1E)^2
            m2*v1^2 - m1*v1^2 - 2*v1*v2*m2 = v1E^2*m2 - 2*m1*v1*v1E - 2*v1E*v2*m2 + m1*v1E^2
            m2*v1^2 - m1*v1^2 - 2*v1*v2*m2 = v1E^2(m2 + m1) - v1E(2*m1*v1 + 2*v2*m2)
            v1E^2 - v1E(2*m1*v1 + 2*v2*m2)/(m2 + m1) - (m2*v1^2 - m1*v1^2 - 2*v1*v2*m2)/(m2 + m1) = 0

            v1E|  x1 = (2*m1*v1 + 2*v2*m2)/(m2 + m1)/2 + ( ((2*m1*v1 + 2*v2*m2)/(m2 + m1)/2)^2 + (m2*v1^2 - m1*v1^2 - 2*v1*v2*m2)/(m2 + m1) )^(1/2)
            v1E|  x2 = (2*m1*v1 + 2*v2*m2)/(m2 + m1)/2 - ( ((2*m1*v1 + 2*v2*m2)/(m2 + m1)/2)^2 + (m2*v1^2 - m1*v1^2 - 2*v1*v2*m2)/(m2 + m1) )^(1/2)


                //if(m1>m2) v1E = (x1<v2) ? x2 : x1;
                //else if(m2>m1) v1E = (x1>v2) ? x2 : x1;
                //else v1E = (x1==v2) ? x1 : x2;

            //Logic solve.
            x3 = (x1>=v1) ? x2 : x1;
            x4 = (x2>=v1) ? x1 : x2;

            if(x3==x4) v1E = x3;
            else
            {
                y1 = m1*v1/m2 + v2 - m1*x1/m2;
                y2 = m1*v1/m2 + v2 - m1*x2/m2;

                y3 = (y1<=v2) ? y2 : y1;
                y4 = (y2<=v2) ? y1 : y2;

                if(y3==y4) v1E = (y1==y3) ? x1 : x2;
                else v1E = ( (int)(Math.random()*2)==1 ) ? x1 : x2; //Slumpa, vi har gett upp.
            }

            v2E = m1*v1/m2 + v2 - m1*v1E/m2;

            */

            if(v1>v2)
            {
                double x1 = (2*m1*v1 + 2*v2*m2)/(m2 + m1)/2 + Math.sqrt( Math.pow((2*m1*v1 + 2*v2*m2)/(m2 + m1)/2, 2) + (m2*Math.pow(v1, 2) - m1*Math.pow(v1, 2) - 2*v1*v2*m2)/(m2 + m1) );
                double x2 = (2*m1*v1 + 2*v2*m2)/(m2 + m1)/2 - Math.sqrt( Math.pow((2*m1*v1 + 2*v2*m2)/(m2 + m1)/2, 2) + (m2*Math.pow(v1, 2) - m1*Math.pow(v1, 2) - 2*v1*v2*m2)/(m2 + m1) );

                double x3 = (x1>=v1) ? x2 : x1;
                double x4 = (x2>=v1) ? x1 : x2;

                if(x3==x4) v1E = (float)x3;
                else
                {
                    double y1 = m1*v1/m2 + v2 - m1*x1/m2;
                    double y2 = m1*v1/m2 + v2 - m1*x2/m2;

                    double y3 = (y1<=v2) ? y2 : y1;
                    double y4 = (y2<=v2) ? y1 : y2;

                    if(y3==y4) v1E = (y1==y3) ? (float)x1 : (float)x2;
                    else v1E = ( (int)(Math.random()*2)==1 ) ? (float)x1 : (float)x2; //Slumpa, vi har gett upp.
                }

                v2E = m1*v1/m2 + v2 - m1*v1E/m2;

                //Vi vill ha tre decimaler.
                int tmp1 = (int)(1000*v1E);
                int tmp2 = (int)(1000*v2E);

                v1E = (float)tmp1/1000;
                v2E = (float)tmp2/1000;
            }
            else{ v1E = 0; v2E = 0;}

            t.start();

            //Gör så att missförstånd undviks.
            if(v1==0 && v2==0) stop();
        }
    }

    public void stop()
    {
        initCoord();
        t.stop();

        repaint();
    }

    public float getV1E()
    {
        return v1E;
    }

    public float getV2E()
    {
        return v2E;
    }

    public void errorMessage(boolean err)
    {
        if( !t.isRunning() ) error = err;
        repaint();
    }

    //Rita ut.
    public void paint(Graphics g)
    {
        //Suddar.
        g.setColor(Color.ORANGE);
        g.fillRect(-1, -1, w+2, h+2);

        //Vi vill rita i svart.
        g.setColor(Color.BLACK);

        //Rita vagn 1.
        g.fillRect(vk1x[0], vky[0], vw, vh);
        g.fillOval(vk1x[1], vky[1], hr, hr);
        g.fillOval(vk1x[2], vky[1], hr, hr);

        //Rita vagn 2.
        g.fillRect(vk2x[0], vky[0], vw, vh);
        g.fillOval(vk2x[1], vky[1], hr, hr);
        g.fillOval(vk2x[2], vky[1], hr, hr);

        //Ritar ut bokstäver.
        g.setColor(Color.WHITE);
        g.drawString("A", vk1x[0]+vw/2-5, vky[0]+vh/2+5);
        g.drawString("B", vk2x[0]+vw/2-5, vky[0]+vh/2+5);

        //Skriva ut felmeddelande.
        if(error){ g.setColor(Color.RED); g.drawString("Någon siffra tycks vara fel! Kontrollera vad du har angivit.", 30, h-15); }
    }

    public void actionPerformed(ActionEvent ae)
    {
        for(int i = 0; i<vk1x.length; i++){ vk1xF[i] += v1/2; vk1x[i] = Math.round(vk1xF[i]);}
        for(int i = 0; i<vk2x.length; i++){ vk2xF[i] += v2/2; vk2x[i] = Math.round(vk2xF[i]);}

        vagn1.setLocation(vk1x[0], vky[0]);
        vagn2.setLocation(vk2x[0], vky[0]);

        if( vagn1.intersects(vagn2) )
        {
            v1 = v1E;
            v2 = v2E;
        }

        /*if( vk1x[0]+vw>vk2x[0] )
        {
                          För framtiden.
        }*/

        if( !window.intersects(vagn1) && !window.intersects(vagn2) ) stop();

        repaint();
    }
}

Så nu har jag lagt upp den på nätet.
Programmet ligger under hjälpprogram och rörelsemängd.

http://litetstortprojekt.awardspace.com


Jag hänger på Loading.

Wii-nr: 2362 3133 6235 8005
Brawl-fc: 5413-2455-2274

Offline

 

#68 2009-01-08 22:47:47

Skógvur
Meðlem 29
Registrerad: 2008-08-04
Inlägg: 10982

Re: Programmering

Haha, i resultatet märker man då _inte_ att det är så mycket kod eller beräkningar. XD


http://i375.photobucket.com/albums/oo191/Skomakarn/alfagraLand.png

Nær dú hev brøtið alla regla som brjúta gár, og dú hev sleikt av dín sár.
Nær dað er hvarki din angr ellr pasjón som râr, hven sit dú í gjenn með dá?

Offline

 

#69 2009-01-08 23:31:01

Blader
Medlem
Registrerad: 2008-08-04
Inlägg: 8605

Re: Programmering

StarErik skrev:

Blader skrev:

Greensea skrev:


Hmm... Jag vet både att subdominantparallellen till bess-moll är gess, och att polymorfism är när man använder en och samma typ av pekare för att peka på objekt av olika klasser, som har samma "basklass", alltså med hjälp av arv/inheritance är skapade från samma klass.
big_smile

Usch, sånt där äckel kommer jag aldrig kunna lära mig. :X

Det är ganska onödigt att kunna. tongue Om man nu inte ska hålla en föreläsning om det. tongue

Håller med dig till 100%.
Egentligen hatar jag teori. Musik är känsla, musik är glädje. Musik är _INTE_ något jävla sepe-teorispråk, som man ska kunna till punkt och pricka. I min mening så klarar man sig fint som gitarrspelare (andra instrument vet jag ju inte så mycket om) om man kan tabulatur, vad tonerna och ackorden heter, de vanligaste tonarterna och några soloskalor som är anpassade efter musiken man spelar.

Att jag suger på teori bidrar säkert till att jag tycker som jag gör, men allvarligt. Musik ska vara _KUL_.

Greensea: Båda.

Offline

 

#70 2009-01-08 23:32:35

StarErik
Medlem P32
Från: Valdemarsvik
Registrerad: 2008-08-05
Inlägg: 22856
Webbsida

Re: Programmering

De vanligaste tonarterna? Själv kan man alla. smile Älska göra en låt i G#-moll. smile


It won't be too soon till I say goodnight moon.

I'm make musics.

Offline

 

#71 2009-01-08 23:40:36

Blader
Medlem
Registrerad: 2008-08-04
Inlägg: 8605

Re: Programmering

StarErik skrev:

De vanligaste tonarterna? Själv kan man alla. smile Älska göra en låt i G#-moll. smile

Som sagt, jag är inte mycket för teori, så jag kan knappt någon. Ska dock lära mig.
Fast jag tycker bäst om att improvisera när jag skriver musik, leta fram snygga riff utan att bry sig om tonarter. Har försökt skriva efter tonarter ett par gånger, men det blir aldrig bra... hmm

Offline

 

#72 2009-01-08 23:43:18

StarErik
Medlem P32
Från: Valdemarsvik
Registrerad: 2008-08-05
Inlägg: 22856
Webbsida

Re: Programmering

Blader skrev:

StarErik skrev:

De vanligaste tonarterna? Själv kan man alla. smile Älska göra en låt i G#-moll. smile

Som sagt, jag är inte mycket för teori, så jag kan knappt någon. Ska dock lära mig.
Fast jag tycker bäst om att improvisera när jag skriver musik, leta fram snygga riff utan att bry sig om tonarter. Har försökt skriva efter tonarter ett par gånger, men det blir aldrig bra... hmm

Jag bestämmer mig aldrig för tonart. tongue Jag kanske nynnar något och så får det bli vad det blir..... men oftast blir det C. sad För okomplicerat.


It won't be too soon till I say goodnight moon.

I'm make musics.

Offline

 

#73 2009-01-08 23:48:52

Blader
Medlem
Registrerad: 2008-08-04
Inlägg: 8605

Re: Programmering

StarErik skrev:

Blader skrev:

StarErik skrev:

De vanligaste tonarterna? Själv kan man alla. smile Älska göra en låt i G#-moll. smile

Som sagt, jag är inte mycket för teori, så jag kan knappt någon. Ska dock lära mig.
Fast jag tycker bäst om att improvisera när jag skriver musik, leta fram snygga riff utan att bry sig om tonarter. Har försökt skriva efter tonarter ett par gånger, men det blir aldrig bra... hmm

Jag bestämmer mig aldrig för tonart. tongue Jag kanske nynnar något och så får det bli vad det blir..... men oftast blir det C. sad För okomplicerat.

Så när du nynnar fram en liten melodi så blir den automatiskt efter en tonart, utan att du tänker på det? O____o

Att nynna fram en liten melodi tycker jag är också ett grymt sätt att skriva en låt på, btw. Brukar, liek, fantisera om att man står på någon fet jävla scen, allt ljus på en, och så nynnar man fram en melodi som låter... inte riktigt lika bra som man tänkt sig, hemma på Squiern, men nästan. ^^

Juste! Hur gick det på praktiken idag? smile

Offline

 

#74 2009-01-08 23:50:46

StarErik
Medlem P32
Från: Valdemarsvik
Registrerad: 2008-08-05
Inlägg: 22856
Webbsida

Re: Programmering

Jag kan hitta D utan hjälpmedel. smile Det är lätt. Bara att tänka på en låt som man vet går i D och vet man hur det låter så kan man fort hitta D. smile Eller vilken tonart som helst.

Ibland brukar jag få fel med bara en halvton högre eller lägre. Oftast lägre.


It won't be too soon till I say goodnight moon.

I'm make musics.

Offline

 

#75 2009-01-09 08:14:01

Bwa Kell
Medlem
Från: West Clocktown
Registrerad: 2008-08-30
Inlägg: 882
Webbsida

Re: Programmering

Skomakarn skrev:

Haha, i resultatet märker man då _inte_ att det är så mycket kod eller beräkningar. XD

Är ju inte så mycket beräkningar heller. ^^
Det är ju bara härledningen av den allmäna lösningen som är lite jobbig, eftersom man inte kan ersätta någon variabel med ett tal (vilket man kan göra när man räknar i fysiken).

Fast felet verkar vara att programmet inte kan avgöra vilken som är den rätta lösningen av de två man får fram. :S
Sedan undrar jag om någon vet hur jag kan få bort flimret som förekommer när man scrollar. Kan det vara så att man måste deklarera en update() som man lämnar tom?


Jag hänger på Loading.

Wii-nr: 2362 3133 6235 8005
Brawl-fc: 5413-2455-2274

Offline

 

Sidfot

Powered by PunBB
(© Copyright 2002–2008 PunBB)
© Copyright 2008-2010 Alfred Löfving och Rasmus Utterberg

[ Generated in 1.064 seconds, 7 queries executed ]