///+ Prefix linkto BasicCode1 //// Lines for set up Psychlops environment #include <psychlops.h> using namespace Psychlops; ///- Prefix linkto BasicCode1 ///+ Main Routine //// Psychlops runs at the first line of this function psychlops_main(). void psychlops_main() { ///+ 0 SetGlobal ////Prepare global parameters const int maxrectnum = 200; int rectnum = 100/*ID:rectnumber 25.0 200.0 25.0*/; double rectsize = 3.0/*ID:dotsize 1.0 10.0 1.0*/; Psychlops::Rectangle rect[maxrectnum]; double rectcolorR[maxrectnum]; double rectcolorG[maxrectnum]; double rectcolorB[maxrectnum]; ///- 0 SetGlobal Canvas window(Canvas::window); ///+ 1 Initialize ////Initialize for(int i=0; i < rectnum; i++){ ///+ 1.1 ////set positions and sizes rect[i].set(rectsize, rectsize); //Set a size of rectangles. rect[i].centering(); //Move Rectangles to the center. rect[i].shift((i - 0.5 * rectnum) * rectsize * 1.5/*ID:RectHGap 1.0 3.0 0.5*/, (i - 0.5 * rectnum) * rectsize * 1.5/*ID:RectVGap 1.0 3.0 0.5*/); //Move Rectangles to initial positions ///- 1.1 ///+ 1.2 ////set colors rectcolorR[i]=(double)i * 0.5/*ID:RGain 0.0 1.0 0.5*//(double)rectnum; //Set R values. Note that "i" and "rectnum" is converted to double-type. rectcolorG[i]=(double)i * 0.5/*ID:GGain 0.0 1.0 0.5*//(double)rectnum; //Set G values. Note that "i" and "rectnum" is converted to double-type. rectcolorB[i]=(double)i * 0.5/*ID:BGain 0.0 1.0 0.5*//(double)rectnum; //Set B values. Note that "i" and "rectnum" is converted to double-type. ///- 1.2 } ///- 1 Initialize ///+ 2 drawing ////drawing objects while(!Keyboard::esc.pushed()){ window.clear(Color::black); //Clear window with black for(int i=0; i < rectnum; i++){ rect[i].draw(Color(rectcolorR[i], rectcolorG[i], rectcolorB[i])); //draw objects by designated colors. } window.flip(); } ///- 2 drawing } ///- Main Routine
./3_1a.xap