Changeset 9365 for 2017/30/MikkoH/Sq


Ignore:
Timestamp:
2017-08-02 14:58:56 (2 years ago)
Author:
mianhayr
Message:

refaktoroitu

Location:
2017/30/MikkoH/Sq/Sq/Sq
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2017/30/MikkoH/Sq/Sq/Sq/Ohjelma.cs

    r9184 r9365  
    1212#endif 
    1313            game.Run(); 
     14            
    1415        } 
    1516    } 
  • 2017/30/MikkoH/Sq/Sq/Sq/Sq.cs

    r9322 r9365  
    1616        Level.Background.Color = Color.Black; 
    1717 
    18         sqs.Add(new Square(100, 5)); 
     18        sqs.Add(new Square(0, 400, 10)); 
    1919        crc = CreateCircle(rad, pts); 
    2020    }    
     
    4545        foreach (Square sq in sqs) 
    4646        { 
    47             sq.mag -= sq.magc; // reduce current magnitude 
     47            sq.mag += /*(sq.maxmag - sq.mag) / 10;*/sq.magc; // reduce current magnitude 
    4848            for (int i = 0; i < sq.Count; i++) 
    49             { 
    50                 c.DrawLine(sq[i % sq.Count], sq[(i + sq.Count / 4) % sq.Count]); 
    51                 sq[i] = Vector.FromLengthAndAngle(sq[i].Magnitude + sq[i].Magnitude / sq.mag * sq.magc, sq[i].Angle); 
     49                c.DrawLine(sq[i % sq.Count]*sq.mag, sq[(i + sq.Count / 4) % sq.Count] * sq.mag); 
     50                //sq[i] = /*sq[i] * sq.mag;*/Vector.FromLengthAndAngle(sq[i].Magnitude * sq.mag, sq[i].Angle); 
    5251                //sq[i] += new Vector(1, 1); 
    53             } 
    5452        } 
    5553 
     
    6159            if (sqs[i].mag < sqs[i].minmag) 
    6260            { 
    63                 //sqs[i].magc = -sqs[i].magc; 
    64                 Square newsq = new Square(sqs[i].mag*4, sqs[i].dist); 
    65                 //newsq.mag = newsq.minmag+10; 
    66                 sqs.Add(newsq); 
    67                 //sqs[i].magc = -sqs[i].magc; // reverse squeeze 
    68                 sqs.Remove(sqs[i]); 
     61                sqs[i].magc = -sqs[i].magc; // reverse squeeze 
     62                Square newsq = new Square(sqs[i].minmag, sqs[i].maxmag, sqs[i].dist/1.5); 
     63                sqs.Add(newsq); sqs.Remove(sqs[i]); 
    6964            } 
    7065            else if (sqs[i].mag > sqs[i].maxmag) 
    7166                sqs[i].magc = -sqs[i].magc; // reverse squeeze 
    72         //for (int j = 0; j < sqs[i].Count; j++) 
    73         //    if (sqs[i][j].Magnitude < sqs[i].minmag) 
    74         //    { 
    75         //        //Square newsq = new Square(sqs[i].mag-1, sqs[i].dist+1); 
    76         //        //newsq.mag = 10; 
    77         //        //sqs.Add(newsq); 
    78         //        sqs[i].magc = -sqs[i].magc; // reverse squeeze 
    79         //        //sqs.Remove(sqs[i]); 
    80  
    81         //        break; 
    82         //    } 
    83         //    else if (sqs[i][j].Magnitude > sqs[i].maxmag) 
    84         //    { 
    85         //        sqs[i].magc = -sqs[i].magc; // reverse squeeze 
    86         //        break; 
    87         //    } 
    8867 
    8968        c.BrushColor = Color.Blue; 
     
    10685class Square : List<Vector> 
    10786{ 
    108     public double dist = 5, mag = 0, minmag = 20, maxmag = 300, magc = 2; 
     87    public double dist, mag, minmag , maxmag, magc = 2; 
    10988 
    110     public Square(double s, double d) 
     89    // s = magnitude, d = number of pts/side 
     90    public Square(double min, double max, double d) 
    11191    { 
    112         for (double i = -s; i <= s; i += d) Add(new Vector(-s, i)); 
    113         for (double i = -s; i <= s; i += d) Add(new Vector(i, s)); 
    114         for (double i = s; i >= -s; i -= d) Add(new Vector(s, i)); 
    115         for (double i = s; i >= -s; i -= d) Add(new Vector(i, -s)); 
    116         dist = d; mag = s; maxmag = mag * 4; 
    117  
     92        dist = d; mag = minmag = min+1; maxmag = max; 
     93        for (double i = -1; i <= 1; i += 1/d) Add(new Vector(-1, i)); 
     94        for (double i = -1; i <= 1; i += 1/d) Add(new Vector(i, 1)); 
     95        for (double i = 1; i >= -1; i -= 1/d) Add(new Vector(1, i)); 
     96        for (double i = 1; i >= -1; i -= 1/d) Add(new Vector(i, -1));        
    11897    } 
    11998} 
Note: See TracChangeset for help on using the changeset viewer.