วันจันทร์ที่ 13 ตุลาคม พ.ศ. 2557

Lab 4 : Task#2 - X-O game


int[][] pos=new int [3][3];
int count=2;

void setup()
{
  size(300,300);
  strokeWeight(3);
  noFill();
}

void draw()
{
  background(135);
  for(int x=0;x<3;x++)
  {
    for(int y=0;y<3;y++)
    {
      if(pos[x][y]==1)
        {ellipse(50+(x*100),50+(y*100),85,85);}
      if(pos[x][y]==2)
        {draw_x(x,y);}
    }
  }
  draw_grid();
}

void mousePressed()
{
  check_pos();
}

void check_pos()
{
  int x=-1,y=-1;
  for(int i=0;i<3;i++)
  {
    if(mouseX>i*100&&mouseX<(i*100)+100)
    {x=i;}
    if(mouseY>i*100&&mouseY<(i*100)+100)
    {y=i;}
  }
  if(count==1&&pos[x][y]!=1&&pos[x][y]!=2)
  {
    pos[x][y]=1;
    if(count==1)
    {count=2;}
    else if(count==2)
    {count=1;}
  }
  if(count==2&&pos[x][y]!=1&&pos[x][y]!=2)
  {
    pos[x][y]=2;
    if(count==1)
    {count=2;}
    else if(count==2)
    {count=1;}
  }
}

void draw_x(int x,int y)
{
  line(50+(x*100)-40,50+(y*100)-40,50+(x*100)+40,50+(y*100)+40);
  line(50+(x*100)-40,50+(y*100)+40,50+(x*100)+40,50+(y*100)-40);
}

void draw_grid()
{
  for(int i=0;i<2;i++)
  {
    line((i+1)*100,0,(i+1)*100,height);
    line(0,(i+1)*100,width,(i+1)*100);
  }
}

Lab 4 : Task#1 - 2D Array

Work only on Processing app.
Download Link : https://processing.org/download/

void setup()
{
  String[] r1=loadStrings("https://www.dropbox.com/s/7wh06mhx5ri6t2o/New%20Text%20Document%20%281%29.txt?dl=1");
  r1=split(r1[0],',');
  String[] r2=loadStrings("https://www.dropbox.com/s/hbs648z96jemqqg/New%20Text%20Document%20%282%29.txt?dl=1");
  r2=split(r2[0],',');
  String[][] table={r1,r2};
  print_table(table);
  find_and_print_max(r1,r2,table);
  find_and_print_min(r1,r2,table);
  find_and_print_sum_and_avg(r1,r2,table);
}

void print_table(String[][] table)
{
  for (int i=0; i<table.length; i++)
  {
    for (int j=0; j<table[i].length; j++)
      {
        print(table[i][j]+"  ");
      }
    println();
  }
  println();
}

void find_and_print_max(String[] r1,String[] r2,String[][] table)
{
  int[] ir2=new int[r2.length];
  for(int i=0;i<ir2.length;i++)
  {
    ir2[i]=int(r2[i]);
  }
  int m=max(ir2);
  int $index=-1;
  for(int i=0;i<r2.length;i++)
  {
    if(m==ir2[i])
    {
      $index=i;
    }
  }
  println("max : "+r1[$index]+" = "+m);
}

void find_and_print_min(String[] r1,String[] r2,String[][] table)
{
  int[] ir2=new int[r2.length];
  for(int i=0;i<ir2.length;i++)
  {
    ir2[i]=int(r2[i]);
  }
  int m=min(ir2);
  int $index=-1;
  for(int i=0;i<r2.length;i++)
  {
    if(m==ir2[i])
    {
      $index=i;
    }
  }
  println("min : "+r1[$index]+" = "+m);
}

void find_and_print_sum_and_avg(String[] r1,String[] r2,String[][] table)
{
  int[] ir2=new int[r2.length];
  float sum=0,avg;
  for(int i=0;i<ir2.length;i++)
  {
    ir2[i]=int(r2[i]);
    sum=sum+ir2[i];
  }
  avg=sum/(ir2.length);
  println("sum = "+sum);
  println("avg = "+avg);
}