Table of Contents

Day 4 - Thursday

Activities

Class Assignments

  1. Processing: Visual Sort - Write a program that sorts 20 bars visually using various sorts or a sort of your choice.
    1. Step 1: sort integers:
      1. Input: a list of random numbers that you pick
      2. Output: a list out numbers in order
    2. Step 2: make it visual with rectangles
  2. Processing: Seurat Painting - How do we make a Seurat Painting animation in Processing
    1. Step 1: Make an animation
    2. Step 2: Make it so that the user can change the size of the circle
  3. Github - You can store your processing projects directly there and run them with Processing.js - Read: http://processingjs.org/articles/jsQuickStart.html (Similar to yesterday)

Homework

Note: From now on ALL game reviews must address Ludus, Paida, and Narrative.

// Selection Sort
 
 
int list[] = {2, 4 , 9, 6, 3, 8, 4, 1, 2, 5};
int min_index = 0;
int temp;
 
for (int i = 0; i < 10; i++)          // print the list to see it
{
  print(list[i] + " ");
}
 
  print("\n");                        // print a new line
 
for (int i = 0; i < 10; i++)          // start the sort
{
  min_index = i;                      // set the min_index to the begining of the list
  for (int j = i+1; j < 10; j++)      // search the rest of the list to find the min value
  {
    if (list[min_index] > list[j])    // if the there is a smaller value found, save it!
    {
      min_index = j;
    }
  }
 
  temp = list[i];                      // swap the min value to the right place
  list[i] = list[min_index];
  list[min_index] = temp; 
}
 
for (int i = 0; i < 10; i++)          // print the list again
{
  print(list[i] + " ");
}

Teams

TA: Jeffrey

  1. Evangelin, Wilson
  2. Toby, Mike
  3. Lisa, Billy

TA: Yinan

  1. Cindy, Michael
  2. Kyle, Jack, Bran

TA: Kevin

  1. Hollis, Peter
  2. Jeff, Samuel
  3. Chris, Frank
 
// Credit: RadioTech@Github
// Visual Sort
 
int i = 0, j = 0;
int tempcheesestick;
int sticks = 40;
 
int[] cheesesticks = new int [sticks];
int[] oldsticks = new int [sticks];
 
void setup() {
 
 
  size(500,400);
  for(int fi = 0; fi < sticks; fi++){
    cheesesticks[fi] = round(random(500));
    oldsticks[fi] = cheesesticks[fi];
  }
}
 
void draw() {
 
 
  if(j>-1){
 
 
    if(i>-1){
      if(cheesesticks[i]>cheesesticks[i+1]){
        tempcheesestick = cheesesticks[i];  
        cheesesticks[i] = cheesesticks[i+1];
        cheesesticks[i+1] = tempcheesestick;
      }
 
      i++;
      if(i >= sticks-1){
         i = 0;
         j++;
      }
    }
 
 
    if(j >= sticks-1){
       j = -1; 
    }
 
  }
 
  rectMode(CENTER);
  background(255);
  for(int fi = 0; fi < sticks; fi++){
    if(cheesesticks[fi] == oldsticks[fi]){
       fill(255,200,0); 
    } else {
       fill(255,0,0); 
    }
 
    rect(cheesesticks[fi]/2-1,(400/sticks)*fi+(400/sticks)/2,cheesesticks[fi],400/sticks);
 
    oldsticks[fi] = cheesesticks[fi];
  }
 
// Credit: Neel
 
int[] cheesesticks = {200, 40, 170, 50, 70, 60, 80, 90, 190, 150, 100, 110, 120, 140, 180, 130, 20, 160, 30, 10};
 
int i = -1;
int j = 0;
int min;
 
void setup() {
  size (250, 250);
}
 
void draw() {
 
  background(200);
 
  // only runs after j reaches 20  
  if ((j == 20) && (i < 19)) {
 
     i++;
     j=i+1;
     min = cheesesticks[i];
  }
 
  // runs as long as j is less than 20
  if (j < 20) {
 
    if (cheesesticks[j] < min){
      min = cheesesticks[j];
      //swap
      int temp = cheesesticks[i];
      cheesesticks[i] = cheesesticks[j];
      cheesesticks[j] = temp;
    }
    j++;
  }
 
  fill(#EA5353);
 
for (int i=0; i<20; i++)
  {
    rect(0, i*10,cheesesticks[i], 5);
  }
 
}