พฤศจิกายน 28, 2558

ปัญหา Raspberry Pi

1. รัน AS1 ได้ แต่รับค่า mouseX, mouseY เพี้ยนไป
2. การรันโปรแกรมค่อนข้างช้า
3. การต่อ wifi ไม่เสถียร

พฤศจิกายน 22, 2558

Lab Raspberry Pi

class Student:
    def __init__(self,name,Id,score):
        self.name = name
        self.id = Id
        self.score = score
    def get_name(self):
        return self.name
    def get_id(self):
        return self.id
    def get_score(self):
        return self.score
 
def setup():
    a = Student('Nay',1,50)
    b = Student('Tiny',2,70)
    c = Student('Kunkka',3,95)
    d = Student('Lina',4,79)
    e = Student('Balana',5,65)
    data = [a,b,c,d,e]
    display_data(data)
    count_grade(data)
    show_grade(data,3)
 
def count_grade(data):
    index = 0
    count = [0,0,0,0,0]
    text_temp = ['A','B','C','D','F']
    while(index < len(data)):
        if(data[index].get_score() > 80):
            count[0] += 1
        elif(data[index].get_score() > 70):
            count[1] += 1
        elif(data[index].get_score() > 60):
            count[2] += 1
        elif(data[index].get_score() > 50):
            count[3] += 1
        else:
            count[4] += 1
        index += 1  
    print('-----total grade-----')
    index = 0
    while(index < len(count)):
        print(text_temp[index],':',count[index],end = '   ')
        index += 1
    print()

def display_data(data):
    index = 0
    while(index < len(data)):
        print('---',index+1,'---')
        print('Name : ',data[index].get_name())
        print('ID : ',data[index].get_id())
        print('Score : ',data[index].get_score())
        grade_cal(data,index)
        print()
        index += 1

def grade_cal(data,index):
    print('Grade : ',end = '')
    if(data[index].get_score() > 80):
        print('A')
    elif(data[index].get_score() > 70):
        print('B')
    elif(data[index].get_score() > 60):
        print('C')
    elif(data[index].get_score() > 50):
        print('D')
    else:
        print('F')

def show_grade(data,Id):
    index = 0
    foundStudent = False  
    while(index < len(data) and not(foundStudent)):      
        if(data[index].get_id() == Id):
            foundStudent = True
        index += 1
    index -= 1  
    if(data[index].get_score() > 80):
        grade = 'A'
    elif(data[index].get_score() > 70):
        grade = 'B'
    elif(data[index].get_score() > 60):
        grade = 'C'
    elif(data[index].get_score() > 50):
        grade = 'D'
    else:
        grade = 'F'    
    print('---Grade Result---')
    print('name : ',data[index].get_name() )
    print('score : ',data[index].get_score())
    print('Grade : ',grade)

setup()

ตุลาคม 04, 2558

Lab5_strings

def setup():
   print(my_count("Thailand","a"))
   print(my_find("Thailand","i"))
   print(my_replace("Thailand","land","thai"))
   print(my_strip("Thailand     "))
   print(my_startswith("Thailand","Sun"))
   print(my_endswith("Thailand","and"))
 
def my_count(full,part):
   count = 0
   i = 0
   while(i<len(full)):
      if(full[i] == part):
         count = count+1
      i = i+1
   return count

def my_find(full,part):
   i = 0
   while(i<len(full)):
      if(full[i] == part):
         index = i
         break
      i = i+1
   return index

def my_replace(full,old,new):
   newStr = ""
   l = len(old)
   i = 0
   while(i<len(full)):
      a = full[i]
      j = 1
      while(j<l and i+j<len(full)):
         a = a+full[i+j]
         j = j+1
      if(a == old):
         newStr = newStr+new
         i = i+(l-1)
      else:
         newStr = newStr+full[i]
      i = i+1
   return newStr

def my_strip(full):
   newStr = ""
   i = 0
   while(i<len(full)):
      if(full[i] != ' '):
         start = i
         break
      i = i+1
   i = len(full)-1
   while(i>=0):
      if(full[i] != ' '):
         end = i
         break
      i = i-1
   j = start
   while(j<=end):
      newStr = newStr+full[j]
      j = j+1
   return newStr
 
def my_startswith(full,start):
   result = True
   l = len(start)
   i = 0
   while(i<l):
      if(full[i] != start[i]):
         result = False
         break
      i = i+1
   return result
 
def my_endswith(full,end):
   result = True
   l = len(end)
   i = len(full)-l
   j = 0
   while(i<len(full)):
      if(full[i] != end[j]):
         result = False
         break
      j = j+1
      i = i+1
   return result

setup()

Lab5_decimal to binary

def setup():
   print("Decimal to Binary")
   num = int(input())
   print(num,"-->",end=" ")
   p = 0
   while(num-(pow(2,p))>=0):
      p = p+1
   n = [0]*p
   i = 0
   while(i<len(n)):
      n[i] = num%2
      num = num/2
      num = round(num-0.1)
      i = i+1
   i = 0
   j = len(n)-1
   while(i<len(n)):
      print(n[j],end="")
      j = j-1
      i = i+1

setup()

Lab5_arrays

def setup():
   n = [-3,21,-5,17,21]
   display(n)
   maximum(n)
   summation(n)
   sum_positive(n)
   count_positive(n)
   average(n)
   increase(n)

def display(a):
   i = 0
   while(i<len(a)):
      print("a [",i,"] =",a[i])
      i = i+1

def maximum(a):
   i = 1
   value = a[0]
   while(i<len(a)):
      if(value<a[i]):
         value = a[i]
      i = i+1
   print("maximum value =",value)
   i = 0
   searching = True
   while(i<len(a) and searching):
      if(a[i]==value):
         searching = False
      i = i+1
   print("index of first max value =",i-1)
   i = len(a)-1
   searching = True
   while(i>=0 and searching):
      if(a[i]==value):
         searching = False
      i = i-1
   print("index of last max value  =",i+1)

def summation(a):
   i = 0
   value = 0
   while(i<len(a)):
      value = value+a[i]
      i = i+1
   print("Sum of values =",value)

def sum_positive(a):
   i = 0
   value = 0
   while(i<len(a)):
      if(a[i]>0):
         value = value+a[i]
      i = i+1
   print("Sum of positive values =",value)

def count_positive(a):
   i = 0
   count = 0
   print("positive values = ",end="")
   while(i<len(a)):
      if(a[i]>0):
         print(a[i]," ",end="")
         count = count+1
      i = i+1
   print("")
   print("count of positive values =",count)

def average(a):
   i = 0
   value = 0
   while(i<len(a)):
      value = value+a[i]
      i = i+1
   avg = value/len(a)
   print("average of values =",avg)

def increase(a):
   i = 0
   percent = int(input())
   print("new array increase by:",percent,"%")
   while(i<len(a)):
      a[i] = a[i]+(a[i]*percent/100)
      print("a [",i,"] =",a[i])
      i = i+1

setup()

กันยายน 20, 2558

Lab4x_Sum-of-1-to-N & Multiplication-Table & Sum-of-Prime-Number & Monthly-Loan-Payment

# Sum Of 1 to N
def setup():
   n = 15
   sumOfOneToN(n)
def sumOfOneToN(n):
   sum = 0
   print("N = ",n)
   while(n>0):
      sum += n
      n -= 1
   print("sum of int from 1 to N = ",sum)
setup()



# Multiplication Table
def setup():
   num = 13
   multipli_table(num)
def multipli_table(n):
   multi = 1
   print("Multiplication-Table of ",n)
   while(multi <= 12):
      print(n," x ",multi," = ",(n*multi))
      multi += 1
setup()



# Sum of Prime Number
def setup():
   final_num = 100
   primeCal(final_num)
def primeCal(n):
   result = 0
   num = 1
   print("Sum of Prime number from 1 to",n)
   while(num<=n):
      primeNum = True
      i = 2
      while(i<num and primeNum):
         if((num%i) == 0):
            primeNum = False
         i += 1
      if(primeNum):
         result += num
      num += 1
   print("result =",result)
setup()



# Monthly loan payment
def setup():
   loan = 5000
   interest_rate = 12  # percent
   loan_term = 12      # months
   loanCal(loan, interest_rate, loan_term)

def loanCal(loan, interest_rate, loan_term):
   balance = loan
   total_interest = 0
   count=1
   j = interest_rate/100/12
   payMonthly = loan*(j/(1-(pow(1+j,-loan_term))))
   print("***** Monthly Loan Payment *****")
   print(" Loan Amount : $",loan)
   print(" Loan Term   : ",loan_term," months")
   print(" Interest Rate : ",interest_rate,"%")
   print("************************************")
 
   print("Payment NO.|   Balance   |   Interest   | Principal | Unpaid Balance | Total Interest to Date")
   while (count<=loan_term):
      interest = j*balance
      principal = payMonthly-interest
      print("     ",round(count),"       ",round(balance),"         ",round(interest),"         ",round(principal), end="")
      balance -= principal
      total_interest += interest
      print("          ",round(balance),"            ",round(total_interest))
      count += 1
   print("Payment Every Month : $",payMonthly)
   print("Total of 12 Payments : $",(loan+total_interest))
   print("Total Interest : $",total_interest)
setup()

Lab4x_Grade-Calculation & Leap-Year & Power-of-Ten & Delivery-Charge

# Grade Calculation
def setup():
   score = 60
   gradeCal(score)
def gradeCal(s):
   print("Score = ",s)
   if(s>=80 and s<=100):
      print("Grade : A")
   elif(s>=70 and s<80):
      print("Grade : B")
   elif(s>=55 and s<70):
      print("Grade : C")
   elif(s>=40 and s<55):
      print("Grade : D")
   elif(s>=0 and s<40):
      print("Grade : F")
   else:
      println("Grade : -")
setup()



# Leap Year
def setup():
   year = 1800
   leapYear(year)
def leapYear(y):
   print("Year = ",y);
   if(y%400==0 or (y%4==0 and y%100!=0)):
      print("Leap Year")
   else:
      print("Not Leap Year")
setup()



# Power of ten
def setup():
   powerTen = 29
   powerOfTen(powerTen)
def powerOfTen(p):
   print("Power-of-ten = ",p)
   if(p>=100):
      if(p>100):
         print("Number = Googol++")
      else:
         print("Number = Googol")
   elif(p>=30):
      if(p>30):
         print("Number = Nonillion++")
      else:
         print("Number = Nonillion")
   elif(p>=21):
      if(p>21):
         print("Number = Sextillion++")
      else:
         print("Number = Sextillion")
   elif(p>=18):
      if(p>18):
         print("Number = Quintillion++")
      else:
         print("Number = Quintillion")
   elif(p>=15):
      if(p>15):
         print("Number = Quadrillion++")
      else:
         print("Number = Quadrillion")
   elif(p>=12):
      if(p>12):
         print("Number = Trillion++")
      else:
         print("Number = Trillion")
   elif(p>=9):
      if(p>9):
         print("Number = Billion++")
      else:
         print("Number = Billion")
   elif(p>=6):
      if(p>6):
         print("Number = Million++")
      else:
         print("Number = Million")
   else:
      print("Number = --")
setup()



# Delivery Charge
def setup():
   packaging = 2  # (1)letter
                  # (2)box
   service = 1    # (1)Next-Day-Priority
                  # (2)Next-Day-Standard
                  # (3)2-Day
   weight = 11    # oz unit for letter
                  # pound unit for box
   error = False

   if(packaging == 1):
      print("type of packaging = letter")
   elif(packaging == 2):
      print("type of packaging = box")
   else:
      print("type of packaging = Error")
      error = True

   if(service == 1):
      print("service = Next-Day-Priority")
   elif(service == 2):
      print("service = Next-Day-Standard")
   elif(service == 3):
      print("service = 2-Day")
   else:
      print("service = Error")
      error = True

   if(packaging == 1):
      print("Weight = ",weight," oz")
   elif(packaging == 2):
      print("Weight = ",weight," pound")

   #Calculation
   if(error == True):
      print("The charge = Error")
   elif(packaging == 1):
      if(service == 1):
         if(weight <= 8):
            print("The charge = $12.00")
         else:
            print("Error : Over Load")
      elif(service == 2):
         if(weight <= 8):
            print("The charge = $10.50")
         else:
            print("Error : Over Load")
      else:
         print("This service is not available")
   else:
      if(service == 1):
         value = 15.75+((weight-1)*1.25)
      elif(service == 2):
         value = 13.75+((weight-1)*1.00)
      else:
         value = 7.00+((weight-1)*0.50)
      print("The charge = $",value)

setup()

Lab4x_BMI & Circle

#Calculate body mass index (BMI)
def setup():
   weight= 60
   tall= 175
   BMI_cal(weight,tall)

def BMI_cal(weight,tall):
   BMI=weight/((tall/100)*(tall/100))
   print("Weight = " , weight)
   print("Height = " , tall)
   print("BMI = " , BMI)
setup()



#Calculate circumference and area of a circle from its diameter
def setup():
   diam=10
   circle_cal(diam)
def circle_cal(d):
   pi=22/7
   circum = 2*pi*(d/2)
   areaCir=pi*(d/2)*(d/2)
   print("Diameter = " , d)
   print("Circumference = " , circum)
   print("area of a circle = " , areaCir)
setup()

กันยายน 15, 2558

Lab4_Generic exercise

//*****sum-Of-1-to-N*****
void setup(){
  int N = 15;
  sumOfOneToN(N);
}
void sumOfOneToN(int n){
  int sum = 0;
  println("N = "+n);
  while(n>0){
    sum += n;
    n--;
  }
  println("sum of int from 1 to N = "+sum);
}

//*****Multiplication-Table*****
void setup(){
  int num = 13;
  multipli_table(num);
}
void multipli_table(int n){
  int multi = 1;
  println("Multiplication-Table of "+n);
  while(multi <= 12){
    println(n+" x "+multi+" = "+(n*multi));
    multi++;
    }
}

//*****Prime-Number*****
void setup(){
  int final_num = 100;
  primeCal(final_num);
}
void primeCal(int n){
  int num = 1;
  println("Prime number from 1 to "+n);
  while(num<=n){
    boolean primeNum = true;
    int i = 2;
    while(i<num && primeNum){
      if((num%i) == 0)
        primeNum = false;
      i++;
    }
    if(primeNum)
      print(num+" ");
    num++;
  }
}
//*****Monthly-loan-payment*****
void setup() {
  float loan = 5000;
  float interest_rate = 12; //percent
  int loan_term = 12; //months
  loanCal(loan, interest_rate, loan_term);
}

void loanCal(float loan, float interest_rate, float loan_term) {
  float payMonthly, balance = loan, total_interest=0;
  float interest, principal, j;
  int count=1;
  j = interest_rate/100/12;
  payMonthly = loan*(j/(1-(pow(1+j,-loan_term))));
  println("***** Monthly Loan Payment *****");
  println(" Loan Amount : $"+loan);
  println(" Loan Term   : "+loan_term+" months");
  println(" Interest Rate : "+interest_rate+"%");
  println("************************************");
  
  println("Payment NO.|   Balance   |   Interest   | Principal | Unpaid Balance | Total Interest to Date");
  while (count<=loan_term) {
    interest = j*balance;
    principal = payMonthly-interest;
    print("     "+count+"       "+balance+"      "+interest+"         "+principal);
    balance -= principal;
    total_interest += interest;
    println("       "+balance+"          "+total_interest);
    count++;
  }
  println("Payment Every Month : $"+payMonthly);
  println("Total of 12 Payments : $"+(loan+total_interest));
  println("Total Interest : $"+total_interest);
}

Lab4_songs

int limit=0;
int light_brown=#F7DEA7;
int white=255;
color screen;
color Line=255;
boolean dropNote=false;
int noteY=0;
void draw() {
  int noteX=10;
  size(350, 185);
  background(screen);
  limit++;
  limit %= 180;
  draw_song();
  if (dropNote) {
    while (noteX<width) {
      note(noteX);
      noteX += 25;
    }
      if (noteY>200) {
        dropNote=false;
        noteY=0;
   
    }
  }
}
void draw_song() {
  int posX=100;
  posX+=limit;
  noStroke();
  //draw"THE"
  fill(Line);
  rect(posX-25, 10, 70, 30); //blank"THE"
  fill(screen);
  rect(posX-25, 15, 7, 25);
  rect(posX-13, 15, 7, 25); //T
  rect(posX, 10, 15, 12);
  rect(posX, 27, 15, 13); //H
  rect(posX+20, 10, 3, 30);
  rect(posX+28, 15, 17, 7);
  rect(posX+28, 27, 17, 8); //E
  triangle(posX+33, 10, posX+45, 45, posX+45, 10);
  //draw"SCRIPT"
  fill(Line);
  arc(45, 75, 60, 60, HALF_PI, TWO_PI);
  arc(45, 131, 70, 70, HALF_PI+PI, TWO_PI+HALF_PI); //S
  arc(130, 105, 110, 110, QUARTER_PI+PI/32, TWO_PI-QUARTER_PI-PI/32); //C
  rect(165, 50, 20, 10);
  rect(165, 105, 20, 10);
  arc(185, 82.5, 60, 65, 3*PI/2, 5*PI/2);
  quad(170, 115, 185, 115, 215, 147, 215, 163); //R
  rect(220, 50, 10, 120); //I
  rect(235, 50, 10, 120);
  rect(245, 50, 20, 10);
  rect(245, 105, 20, 10);
  arc(265, 82.5, 60, 65, 3*PI/2, 5*PI/2); //P
  quad(265, 50, 330, 50, 335, 60, 265, 60);
  rect(300, 50, 10, 120); //T
  fill(screen);
  arc(45, 76, 40, 40, HALF_PI, TWO_PI);
  arc(45, 131, 50, 50, HALF_PI+PI, TWO_PI+HALF_PI); //S
  arc(130, 105, 90, 90, QUARTER_PI, TWO_PI-QUARTER_PI); //C
  triangle(147, 50, 155, 80, 155, 50);
  arc(185, 82.5, 40, 45, 3*PI/2, 5*PI/2); //R
  quad(220, 65, 230, 60, 230, 65, 220, 70); //I
  arc(265, 82.5, 40, 45, 3*PI/2, 5*PI/2); //P
  triangle(220, 170, 310, 130, 310, 170);
  fill(Line);
  rect(155, 50, 10, 97); //R
}
void note(int noteX) {
  fill(Line);
  ellipse(noteX, noteY, 15, 15);
  stroke(Line);
  strokeWeight(3);
  line(noteX+6, noteY, noteX+6, noteY-35);
  line(noteX+6, noteY-30, noteX+13, noteY-10);
  line(noteX+13, noteY-10, noteX+12, noteY-5);
  noteY++;
}
void mouseClicked() {
  if (mouseButton==RIGHT) {
    white *= -1;
    Line += white;
    screen += light_brown;
    light_brown*=-1;
  } else if (mouseButton==LEFT) {
    dropNote=true;
  }
}
 

Lab4_books

int wink;
float spin;
void draw() {
  size(300, 400);
  background(0);  //colorBlack
  draw_book();
  if (keyPressed) {
    if (key==CODED) {
      if (keyCode==LEFT) spin+=PI/32;
      else if (keyCode==RIGHT) spin-=PI/32;
    }
  }
  fill(255);
  text("Pressed LEFT or RIGHT arrow.", 75, 350);
  fill(0);
}
void draw_book() {
  int posX=155, posY=150;
  float addPos=0,count=0;
  if (frameCount%50<=25) wink=1;
  else wink=0;
  //bones
  while (count<2) {
    translate(155, 150);
    rotate(spin+addPos);
    fill(255);  //colorWhite
    noStroke();
    beginShape();
    vertex(-90, -110);
    vertex(110, 90);
    vertex(110, 110);
    vertex(90, 110);
    vertex(-110, -90);
    vertex(-110, -110);
    endShape();
    beginShape();
    vertex(90, -110);
    vertex(-110, 90);
    vertex(-110, 110);
    vertex(-90, 110);
    vertex(110, -90);
    vertex(110, -110);
    endShape();
    ellipse(-100, -120, 30, 30);
    ellipse(-120, -100, 30, 30);
    ellipse(100, -120, 30, 30);
    ellipse(120, -100, 30, 30);
    ellipse(120, 100, 30, 30);
    ellipse(100, 120, 30, 30);
    ellipse(-100, 120, 30, 30);
    ellipse(-120, 100, 30, 30);
    rotate(-spin-addPos);
    translate(-155, -150);
    addPos=PI/4;
    count++;
  }
  //skull & hat
  stroke(0);
  strokeWeight(4);
  ellipse(posX, posY+90, 80, 90);
  fill(145, 55, 25);  //colorBrown
  arc(posX, posY, 170, 170, PI+PI/16, TWO_PI-PI/16);
  fill(255, 210, 50); //colorYellow
  arc(posX, posY, 170, 170, PI+PI/7, TWO_PI-PI/7);
  arc(posX, posY+30, 320, 115, PI+PI/5, TWO_PI-PI/5);
  fill(255); //colorWhite
  arc(posX, posY, 170, 170, 0, PI);
  arc(posX, posY, 170, 30, PI, TWO_PI);
  //detail
  fill(0);
  ellipse(posX, posY+60, 20, 20); //nose
  ellipse(posX+35, posY+25, 50, 50*wink); //R-eye
  ellipse(posX-35, posY+25, 50, 50*wink); //L-eye
  noFill();
  arc(posX, posY, 195, 195, HALF_PI-PI/8, HALF_PI+PI/8);
  arc(posX, posY, 220, 220, HALF_PI-PI/8+PI/48, HALF_PI+PI/8-PI/48);
  line(posX-20, posY+85, posX-23, posY+105);
  line(posX, posY+85, posX, posY+110);
  line(posX+20, posY+85, posX+23, posY+105);
  //book
  strokeWeight(3);
  stroke(100); //lncolorGray
  arc(5, 400, 16, 50, HALF_PI, 3*PI/2);
  line(8, 0, 8, 375);
  line(8, 375, 300, 375);
  line(7, 380, 300, 380);
  line(6, 385, 300, 385);
  line(5, 390, 300, 390);
  line(4, 395, 300, 395);
  wink++;
}
 

Lab4_movies

int posX=100,posY=100;
int speed=1,assist=1;
boolean hold=false;
void draw(){
  size(300,250);
  background(#FF7700); //red
  draw_movie();
  if(hold) saber();
}
void draw_movie(){
  strokeWeight(3);
  stroke(100); //lnColorGray
  fill(0); //colorBlack
  quad(posX-95,posY+115,posX+145,posY+115,posX+109,posY+19,posX-59,posY+19); //wing
  arc(posX+25,posY-90,550,455,HALF_PI-PI/7,HALF_PI+PI/7); //wing
  quad(posX-53,posY+15,posX+103,posY+15,posX+75,posY+125,posX-25,posY+125); //face
  arc(posX+25,posY-10,160,160,PI-PI/8,TWO_PI+PI/8); //head
  quad(posX+37,posY+21,posX+90,posY+21,posX+145,posY+115,posX+112,posY+15);
  quad(posX+13,posY+21,posX-40,posY+21,posX-95,posY+115,posX-63,posY+15);
  arc(posX+75,posY+20,75,60,PI,TWO_PI); //R-eyebrow
  arc(posX-25,posY+20,75,60,PI,TWO_PI);  //L-eyebrow
  fill(255); //colorWhite
  ellipse(posX+55,posY+45,70,35); //R-eye
  ellipse(posX-5,posY+45,70,35); //L-eye
  fill(0);
  triangle(posX-25,posY+125,posX+75,posY+125,posX+25,posY+65); //mouth
  stroke(255); //lnColorWhite
  line(posX-9,posY+108,posX-9,posY+125);
  line(posX+8,posY+88,posX+8,posY+125);
  line(posX+25,posY+80,posX+25,posY+125);
  line(posX+42,posY+88,posX+42,posY+125);
  line(posX+59,posY+108,posX+59,posY+125);
  stroke(100);
  fill(255);
  rect(posX+13,posY+65,25,15); //nose
  fill(0);
  rect(posX+15,posY-92,20,145);
  quad(posX+15,posY+53,posX+35,posY+53,posX+38,posY+65,posX+13,posY+65);
  arc(posX+25,posY+125,100,40,0,PI); //chin
  fill(255);
  ellipse(posX+70,posY+125,10,10);
  ellipse(posX-20,posY+125,10,10);
  posX+=speed;
  posX %= 250;
}
void saber(){
  int count=0,addX=0;
  while(count<2){
  strokeWeight(14);
  stroke(#FF0000);
  line(posX-95+addX,225,posX-95+addX,20);
  strokeWeight(8);
  stroke(255);
  line(posX-95+addX,220,posX-95+addX,23);
  strokeWeight(3);
  stroke(100);
  fill(200);
  rect(posX-100+addX,225,10,25);
  addX=235;
  count++;
  }
}
void mouseClicked(){
  if(mouseButton==RIGHT){
    assist*=(-1);
    speed+=assist;
  }
  if(mouseButton==LEFT){
    if(hold==true) hold=false;
    else hold=true;
  }
}
 

กันยายน 13, 2558

Lab4_birds

float cloudX=0;
float move=1;
void draw(){
  int count= -2;
  int posX, posY;
  size(500,500);
  background(#00AAFF);
  cloud();
  while(count<3){
    posX=mouseX+(count*60);
    posY=mouseY+(count*60);
    translate(posX,posY);
    strokeWeight(1.5);
    bird();
    translate(-posX,-posY);
    count++;
  }
}
void bird(){
  rotate(PI/5);
  fill(#FF0000);
  ellipse(0,-25,10,20);  //hair
  ellipse(-10,-25,10,20);
  rotate(-PI/5);
  wing();
  ellipse(0,0,50,50);    //body
  fill(#FFFF00);
  arc(0,0,50,50,PI/4,3*PI/4);
  fill(255);
  ellipse(-10,-5,15,10); //left eye
  fill(0);
  ellipse(-10,-5,5,5);
  fill(255);
  ellipse(10,-5,15,10);  //right eye
  fill(0);
  ellipse(10,-5,5,5);
  triangle(0,0,-10,10,10,10); //beak
}
void wing(){
  float roll;
  if((frameCount%50)<=25)
    roll=PI/16;
  else
    roll=-PI/16;
  rotate(roll);
  ellipse(-30,0,50,20);  //left wing
  rotate(-2*roll);
  ellipse(30,0,50,20);   //right wing
  rotate(roll);
}
void cloud(){
  noStroke();
  fill(255);
  ellipse(510-cloudX,100,100,30);
  ellipse(30+cloudX,175,120,60);
  ellipse(450-cloudX,300,75,50);
  ellipse(100+cloudX,275,85,45);
  ellipse(350-cloudX,405,215,140);
  stroke(0);
  cloudX+=move;
  if (cloudX>=450)
    move*=-1;
  else if (cloudX<=-50)
    move*=-1;
}
 

Lab4_balloons

void draw(){
  int count=-1;
  size(200,400);
  background(255);
  while(count<2){
    int posX=width/2;
    posX+=(55*count);
    draw_balloon(posX);
    count++;
  }
}
void draw_balloon(int x){
  int posY=mouseY;
  color ball;
  if(mouseY<=50){
    posY=50;
    ball=#00FF00;
  }
  else if(mouseY>=300){
    posY=300;
    ball=#FF0000;
  }
  else ball=255;
  strokeWeight(1.5);
  fill(ball);
  line(x,posY,x,posY+100);
  ellipse(x,posY,50,50);
}
 

กันยายน 06, 2558

Lab3_Generic exercise

//*****Grade Calculation*****
void setup(){
  int score = 60;
  gradeCal(score);
}
void gradeCal(int s){
  println("Score = "+s);
  print("Grade : ");
  if(s>=80 && s<=100) println("A");
  else if(s>=70 && s<80) println("B");
  else if(s>=55 && s<70) println("C");
  else if(s>=40 && s<55) println("D");
  else if(s>=0 && s<40) println("F");
  else println("-");  //for error
}


//*****Leap Year*****
void setup(){
  int year = 1800;
  leapYear(year);
}
void leapYear(int y){
  println("Year = "+y);
  if( y%400==0 || (y%4==0 && !(y%100==0)) )
  println("Leap Year");
  else println("Not Leap Year");
}
//*****power-of-ten*****
void setup(){
  int powerTen = 18;
  powerOfTen(powerTen);
}
void powerOfTen(int p){
  println("Power-of-ten = "+p);
  print("Number = ");
  if(p>=100){
    print("Googol");
    if(p>100) println("++");
  }
  else if(p>=30){
    print("Nonillion");
    if(p>30) println("++");
  }
  else if(p>=21){
    print("Sextillion");
    if(p>21) println("++");
  }
  else if(p>=18){
    print("Quintillion");
    if(p>18) println("++");
  }
  else if(p>=15){
    print("Quadrillion");
    if(p>15) println("++");
  }
  else if(p>=12){
    print("Trillion");
    if(p>12) println("++");
  }
  else if(p>=9){
    print("Billion");
    if(p>9) println("++");
  }
  else if(p>=6){
    print("Million");
    if(p>6) println("++");
  }
  else{
    print("--");
  }
}

//*****Delivery-Charge*****
void setup(){
  int packaging = 2;   // (1)letter
                                  // (2)box
  int service = 1;                // (1)Next-Day-Priority
                                          // (2)Next-Day-Standard
                                          // (3)2-Day
  float weight = 11;   // oz unit for letter
                                  // pound unit for box
  float value;
  boolean error = false;

  print("type of packaging = ");
  if(packaging == 1) println("letter");
  else if(packaging == 2) println("box");
  else {
    println("Error");
    error = true;
  }
  print("service = ");
  if(service == 1) println("Next-Day-Priority");
  else if(service == 2) println("Next-Day-Standard");
  else if(service == 3) println("2-Day");
  else {
    println("Error");
    error = true;
  }
  print("Weight = "+weight+" ");
  if(packaging == 1) println("oz");
  else if(packaging == 2) println("pound");

  //Calculation
  print("The charge = ");
  if(error == true) println("Error");
  else if(packaging == 1){
    if(service == 1){
      if(weight <= 8) println("$12.00");
      else println("Error : Over Load");
    }
    else if(service == 2){
      if(weight <= 8) println("$10.50");
      else println("Error : Over Load");
    }
    else println("not available");
  }
  else if(packaging == 2){
    if(service == 1){
      value = 15.75+((weight-1)*1.25);
    }
    else if(service == 2){
      value = 13.75+((weight-1)*1.00);
    }
    else value = 7.00+((weight-1)*0.50);
    println("$"+value);
  }
}


Lab3_movie

int posX=100,posY=100;
int speed=1,assist=1;
boolean hold=false;
void draw(){
  size(250,250);
  background(#FF7700); //red
  draw_movie();
  if(hold) saber();
}
void draw_movie(){
  strokeWeight(3);
  stroke(100); //lnColorGray
  fill(0); //colorBlack
  quad(posX-95,posY+115,posX+145,posY+115,posX+109,posY+19,posX-59,posY+19); //wing
  arc(posX+25,posY-90,550,455,HALF_PI-PI/7,HALF_PI+PI/7); //wing
  quad(posX-53,posY+15,posX+103,posY+15,posX+75,posY+125,posX-25,posY+125); //face
  arc(posX+25,posY-10,160,160,PI-PI/8,TWO_PI+PI/8); //head
  quad(posX+37,posY+21,posX+90,posY+21,posX+145,posY+115,posX+112,posY+15);
  quad(posX+13,posY+21,posX-40,posY+21,posX-95,posY+115,posX-63,posY+15);
  arc(posX+75,posY+20,75,60,PI,TWO_PI); //R-eyebrow
  arc(posX-25,posY+20,75,60,PI,TWO_PI);  //L-eyebrow
  fill(255); //colorWhite
  ellipse(posX+55,posY+45,70,35); //R-eye
  ellipse(posX-5,posY+45,70,35); //L-eye
  fill(0);
  triangle(posX-25,posY+125,posX+75,posY+125,posX+25,posY+65); //mouth
  stroke(255); //lnColorWhite
  line(posX-9,posY+108,posX-9,posY+125);
  line(posX+8,posY+88,posX+8,posY+125);
  line(posX+25,posY+80,posX+25,posY+125);
  line(posX+42,posY+88,posX+42,posY+125);
  line(posX+59,posY+108,posX+59,posY+125);
  stroke(100);
  fill(255);
  rect(posX+13,posY+65,25,15); //nose
  fill(0);
  rect(posX+15,posY-92,20,145);
  quad(posX+15,posY+53,posX+35,posY+53,posX+38,posY+65,posX+13,posY+65);
  arc(posX+25,posY+125,100,40,0,PI); //chin
  fill(255);
  ellipse(posX+70,posY+125,10,10);
  ellipse(posX-20,posY+125,10,10);
  posX+=speed;
  posX %= 250;
}
void saber(){
  strokeWeight(14);
  stroke(#FF0000);
  line(posX-95,225,posX-95,20);
  strokeWeight(8);
  stroke(255);
  line(posX-95,220,posX-95,23);
  strokeWeight(3);
  stroke(100);
  fill(200);
  rect(posX-100,225,10,25);
}
void mouseClicked(){
  if(mouseButton==RIGHT){
    assist*=(-1);
    speed+=assist;
  }
  if(mouseButton==LEFT){
    if(hold==true) hold=false;
    else hold=true;
  }
}

Lab3_song

int limit=0;
int white=255;
int light_brown=#F7DEA7;
color screen;
color Line=255;
boolean dropNote=false;
int noteY=0;
void draw(){
  size(350,185);
  background(screen);
  limit++;
  limit %= 180;
  draw_song();
  if(dropNote){
    note();
    if(noteY>200){
      dropNote=false;
      noteY=0;
    }
  }
}
void draw_song(){
  int posX=100;
  posX+=limit;
  noStroke();
  //draw"THE"
  fill(Line);
  rect(posX-25,10,70,30); //blank"THE"
  fill(screen);
  rect(posX-25,15,7,25);
  rect(posX-13,15,7,25); //T
  rect(posX,10,15,12);
  rect(posX,27,15,13); //H
  rect(posX+20,10,3,30);
  rect(posX+28,15,17,7);
  rect(posX+28,27,17,8); //E
  triangle(posX+33,10,posX+45,45,posX+45,10);
  //draw"SCRIPT"
  fill(Line);
  arc(45,75,60,60,HALF_PI,TWO_PI);
  arc(45,131,70,70,HALF_PI+PI,TWO_PI+HALF_PI); //S
  arc(130,105,110,110,QUARTER_PI+PI/32,TWO_PI-QUARTER_PI-PI/32); //C
  rect(165,50,20,10);
  rect(165,105,20,10);
  arc(185,82.5,60,65,3*PI/2,5*PI/2);
  quad(170,115,185,115,215,147,215,163); //R
  rect(220,50,10,120); //I
  rect(235,50,10,120);
  rect(245,50,20,10);
  rect(245,105,20,10);
  arc(265,82.5,60,65,3*PI/2,5*PI/2); //P
  quad(265,50,330,50,335,60,265,60);
  rect(300,50,10,120); //T
  fill(screen);
  arc(45,76,40,40,HALF_PI,TWO_PI);
  arc(45,131,50,50,HALF_PI+PI,TWO_PI+HALF_PI); //S
  arc(130,105,90,90,QUARTER_PI,TWO_PI-QUARTER_PI); //C
  triangle(147,50,155,80,155,50);
  arc(185,82.5,40,45,3*PI/2,5*PI/2); //R
  quad(220,65,230,60,230,65,220,70); //I
  arc(265,82.5,40,45,3*PI/2,5*PI/2); //P
  triangle(220,170,310,130,310,170);
  fill(Line);
  rect(155,50,10,97); //R
}
void note(){
  fill(Line);
  ellipse(mouseX,noteY,15,15);
  stroke(Line);
  strokeWeight(3);
  line(mouseX+6,noteY,mouseX+6,noteY-35);
  line(mouseX+6,noteY-30,mouseX+13,noteY-10);
  line(mouseX+13,noteY-10,mouseX+12,noteY-5);
  noteY++;
}
void mouseClicked(){
  if(mouseButton==RIGHT){
    white*=-1;
    Line += white;
    screen += light_brown;
    light_brown*=-1;
  }
  else if(mouseButton==LEFT){
    dropNote=true;
  }
}
 

Lab3_book

int wink;
float spin;
void draw(){
  size(300,400);
  background(0);  //colorBlack
  draw_book();
  if(keyPressed){
    if(key==CODED){
      if(keyCode==LEFT) spin+=PI/32;
      else if(keyCode==RIGHT) spin-=PI/32;
    }
  }
  fill(255);
  text("Pressed LEFT or RIGHT arrow.",75,350);
  fill(0);
}
void draw_book(){
  int posX=155, posY=150;
  if(frameCount%50<=25) wink=1;
  else wink=0;
  //bones
  translate(155,150);
  rotate(spin);
  fill(255);  //colorWhite
  noStroke();
  beginShape();
  vertex(-90,-110);
  vertex(110,90);
  vertex(110,110);
  vertex(90,110);
  vertex(-110,-90);
  vertex(-110,-110);
  endShape();
  beginShape();
  vertex(90,-110);
  vertex(-110,90);
  vertex(-110,110);
  vertex(-90,110);
  vertex(110,-90);
  vertex(110,-110);
  endShape();
  ellipse(-100,-120,30,30);
  ellipse(-120,-100,30,30);
  ellipse(100,-120,30,30);
  ellipse(120,-100,30,30);
  ellipse(120,100,30,30);
  ellipse(100,120,30,30);
  ellipse(-100,120,30,30);
  ellipse(-120,100,30,30);
  rotate(-spin);
  translate(-155,-150);
  //skull & hat
  stroke(0);
  strokeWeight(4);
  ellipse(posX,posY+90,80,90);
  fill(145,55,25);  //colorBrown
  arc(posX,posY,170,170,PI+PI/16,TWO_PI-PI/16);
  fill(255,210,50); //colorYellow
  arc(posX,posY,170,170,PI+PI/7,TWO_PI-PI/7);
  arc(posX,posY+30,320,115,PI+PI/5,TWO_PI-PI/5);
  fill(255); //colorWhite
  arc(posX,posY,170,170,0,PI);
  arc(posX,posY,170,30,PI,TWO_PI);
  //detail
  fill(0);
  ellipse(posX,posY+60,20,20); //nose
  ellipse(posX+35,posY+25,50,50*wink); //R-eye
  ellipse(posX-35,posY+25,50,50*wink); //L-eye
  noFill();
  arc(posX,posY,195,195,HALF_PI-PI/8,HALF_PI+PI/8);
  arc(posX,posY,220,220,HALF_PI-PI/8+PI/48,HALF_PI+PI/8-PI/48);
  line(posX-20,posY+85,posX-23,posY+105);
  line(posX,posY+85,posX,posY+110);
  line(posX+20,posY+85,posX+23,posY+105);
  //book
  strokeWeight(3);
  stroke(100); //lncolorGray
  arc(5,400,16,50,HALF_PI,3*PI/2);
  line(8,0,8,375);
  line(8,375,300,375);
  line(7,380,300,380);
  line(6,385,300,385);
  line(5,390,300,390);
  line(4,395,300,395);
  wink++;
}

Lab3_flying bird

float cloudX=0;
float plus=1;
void draw(){
  size(500,500);
  background(#00AAFF);
  cloud();
  translate(mouseX,mouseY);
  strokeWeight(1.5);
  bird();
}
void bird(){
  rotate(PI/5);
  fill(#FF0000);
  ellipse(0,-25,10,20);  //hair
  ellipse(-10,-25,10,20);
  rotate(-PI/5);
  wing();
  ellipse(0,0,50,50);    //body
  fill(#FFFF00);
  arc(0,0,50,50,PI/4,3*PI/4);
  fill(255);
  ellipse(-10,-5,15,10); //left eye
  fill(0);
  ellipse(-10,-5,5,5);
  fill(255);
  ellipse(10,-5,15,10);  //right eye
  fill(0);
  ellipse(10,-5,5,5);
  triangle(0,0,-10,10,10,10); //beak
}
void wing(){
  float roll;
  if((frameCount%50)<=25) roll=PI/16;
  else roll=-PI/16;
  rotate(roll);
  ellipse(-30,0,50,20);  //left wing
  rotate(-2*roll);
  ellipse(30,0,50,20);   //right wing
  rotate(roll);
}
void cloud(){
  noStroke();
  fill(255);
  ellipse(510-cloudX,100,100,30);
  ellipse(30+cloudX,175,120,60);
  ellipse(450-cloudX,300,75,50);
  ellipse(100+cloudX,275,85,45);
  ellipse(350-cloudX,405,215,140);
  stroke(0);
  cloudX+=plus;
  if (cloudX>=450) plus*=-1;
  else if (cloudX<=-50) plus*=-1;
}

Lab3_battery

int posX=35, posY=30;
float resize=150;      //changeable
float charge=100;
boolean charging=false;
void draw() {
  size(350,250);
  background(130,120,240); //light_blue
  batteryTank();
  positive();
  negative();
  if(charging){
    charge++;
    draw_lightning();
  }
  else if(charge<=20) draw_exclamation();
  if(charge>=100){
    charge=100;
    charging=false;
  }
}
void batteryTank(){
  float chargeW;
  fill(255);
  textSize(resize/10);
  text("Battery: "+charge+"%",posX+resize/100*25*2.25,posY+resize/100*125);
  //tank
  strokeWeight(3);
  fill(130); //gray
  rect(posX,posY,resize/100*80*2.25,resize/100*100,resize/100*5*2.25);
  rect(posX+resize/100*80*2.25,posY+resize/100*30,resize/100*3*2.25,resize/100*40);
  fill(150);
  rect(posX+resize/100*2.5*2.25,posY,resize/100*75*2.25,resize,resize/100*2*2.25);
  //power
  chargeW=charge/100*resize/100*75*2.25;
  fill(#38E82C); //green
  rect(posX+resize/100*2.5*2.25,posY,chargeW,resize,resize/100*2*2.25);
}
void positive(){
  noStroke();
  fill(#DE1F1F); //red
  rect(posX+1.75*resize,posY+resize,resize/10,resize*0.4);
  rect(posX-75*resize/500+1.75*resize,posY+75*resize/500+resize,resize*0.4,resize/10);
  stroke(0);
}
void negative(){
  noStroke();
  fill(#1752CE); //blue
  rect(posX-75*resize/500+0.1*resize,posY+75*resize/500+resize,resize*0.4,resize/10);
  stroke(0);
}
void draw_lightning(){
  noStroke();
  fill(#FFE000);
  beginShape();
  vertex(posX+resize*0.9,posY+resize/2-resize*0.35); //posX+resize*0.9 = 105 ,,, posY+resize/2
  vertex(posX+resize*0.9,posY+resize/2-resize*0.07);
  vertex(posX+resize*0.9+resize/10,posY+resize/2-resize*0.07);
  vertex(posX+resize*0.9,posY+resize/2+resize*0.35);
  vertex(posX+resize*0.9,posY+resize/2+resize*0.07);
  vertex(posX+resize*0.9-resize/10,posY+resize/2+resize*0.07);
  endShape();
  stroke(0);
}
void draw_exclamation(){
  noStroke();
  fill(#FF0000);
  if(frameCount%40>20){
    quad(posX+resize-resize/6,posY+resize/2-resize/5,posX+resize-resize/30,posY+resize/2-resize/5,
      posX+resize-resize/15,posY+resize/2+resize/15,posX+resize-resize/7.5,posY+resize/2+resize/15);
    rect(posX+resize-resize/7.5,posY+resize/2+resize/7.5,resize/15,resize/15);
  }
  stroke(0);
}
void mouseMoved(){
  if(!charging){
    charge-=0.5;
    if(charge<=0) charge=0;
  }
}
void mouseClicked(){
  charging=true;
}

กันยายน 01, 2558

Lab3_balloon(lecture)

void draw(){
  size(150,400);
  background(255);
  draw_balloon();
}
void draw_balloon(){
  int posY=mouseY;
  color ball;
  if(mouseY<=50){
    posY=50;
    ball=#00FF00;
  }
  else if(mouseY>=300){
    posY=300;
    ball=#FF0000;
  }
  else ball=255;
  strokeWeight(1.5);
  fill(ball);
  line(width/2,posY,width/2,posY+100);
  ellipse(width/2,posY,50,50);
}

Lab2_book

int wink=1;
void setup(){
  size(300,400);
  frameRate(3);
}
void draw(){
  background(0);  //colorBlack
  draw_book();
}
void draw_book(){
  int posX=155, posY=150;
  wink %= 2;
  //bones
  fill(255);  //colorWhite
  noStroke();
  beginShape();
  vertex(posX-90,posY-110);
  vertex(posX+110,posY+90);
  vertex(posX+110,posY+110);
  vertex(posX+90,posY+110);
  vertex(posX-110,posY-90);
  vertex(posX-110,posY-110);
  endShape();
  beginShape();
  vertex(posX+90,posY-110);
  vertex(posX-110,posY+90);
  vertex(posX-110,posY+110);
  vertex(posX-90,posY+110);
  vertex(posX+110,posY-90);
  vertex(posX+110,posY-110);
  endShape();
  ellipse(posX-100,posY-120,30,30);
  ellipse(posX-120,posY-100,30,30);
  ellipse(posX+100,posY-120,30,30);
  ellipse(posX+120,posY-100,30,30);
  ellipse(posX+120,posY+100,30,30);
  ellipse(posX+100,posY+120,30,30);
  ellipse(posX-100,posY+120,30,30);
  ellipse(posX-120,posY+100,30,30);
  //skull & hat
  stroke(0);
  strokeWeight(4);
  ellipse(posX,posY+90,80,90);
  fill(145,55,25);  //colorBrown
  arc(posX,posY,170,170,PI+PI/16,TWO_PI-PI/16);
  fill(255,210,50); //colorYellow
  arc(posX,posY,170,170,PI+PI/7,TWO_PI-PI/7);
  arc(posX,posY+30,320,115,PI+PI/5,TWO_PI-PI/5);
  fill(255); //colorWhite
  arc(posX,posY,170,170,0,PI);
  arc(posX,posY,170,30,PI,TWO_PI);
  //detail
  fill(0);
  ellipse(posX,posY+60,20,20); //nose
  ellipse(posX+35,posY+25,50,50*wink); //R-eye
  ellipse(posX-35,posY+25,50,50*wink); //L-eye
  noFill();
  arc(posX,posY,195,195,HALF_PI-PI/8,HALF_PI+PI/8);
  arc(posX,posY,220,220,HALF_PI-PI/8+PI/48,HALF_PI+PI/8-PI/48);
  line(posX-20,posY+85,posX-23,posY+105);
  line(posX,posY+85,posX,posY+110);
  line(posX+20,posY+85,posX+23,posY+105);
  //book
  strokeWeight(3);
  stroke(100); //lncolorGray
  arc(5,400,16,50,HALF_PI,3*PI/2);
  line(8,0,8,375);
  line(8,375,300,375);
  line(7,380,300,380);
  line(6,385,300,385);
  line(5,390,300,390);
  line(4,395,300,395);
  wink++;
}

Lab2_movie

int posX=100,posY=100;
int speed=1,assist=1;
void draw(){
  size(250,250);
  background(#FA2B2B); //red
  draw_movie();
}
void draw_movie(){
  strokeWeight(3);
  stroke(100); //lnColorGray
  fill(0); //colorBlack
  quad(posX-95,posY+115,posX+145,posY+115,posX+109,posY+19,posX-59,posY+19); //wing
  arc(posX+25,posY-90,550,455,HALF_PI-PI/7,HALF_PI+PI/7); //wing
  quad(posX-53,posY+15,posX+103,posY+15,posX+75,posY+125,posX-25,posY+125); //face
  arc(posX+25,posY-10,160,160,PI-PI/8,TWO_PI+PI/8); //head
  quad(posX+37,posY+21,posX+90,posY+21,posX+145,posY+115,posX+112,posY+15);
  quad(posX+13,posY+21,posX-40,posY+21,posX-95,posY+115,posX-63,posY+15);
  arc(posX+75,posY+20,75,60,PI,TWO_PI); //R-eyebrow
  arc(posX-25,posY+20,75,60,PI,TWO_PI);  //L-eyebrow
  fill(255); //colorWhite
  ellipse(posX+55,posY+45,70,35); //R-eye
  ellipse(posX-5,posY+45,70,35); //L-eye
  fill(0);
  triangle(posX-25,posY+125,posX+75,posY+125,posX+25,posY+65); //mouth
  stroke(255); //lnColorWhite
  line(posX-9,posY+108,posX-9,posY+125);
  line(posX+8,posY+88,posX+8,posY+125);
  line(posX+25,posY+80,posX+25,posY+125);
  line(posX+42,posY+88,posX+42,posY+125);
  line(posX+59,posY+108,posX+59,posY+125);
  stroke(100);
  fill(255);
  rect(posX+13,posY+65,25,15); //nose
  fill(0);
  rect(posX+15,posY-92,20,145);
  quad(posX+15,posY+53,posX+35,posY+53,posX+38,posY+65,posX+13,posY+65);
  arc(posX+25,posY+125,100,40,0,PI); //chin
  fill(255);
  ellipse(posX+70,posY+125,10,10);
  ellipse(posX-20,posY+125,10,10);
  posX+=speed;
  posX %= 250;
}
void mouseClicked(){
  assist*=(-1);
  speed+=assist;
}

Lab2_song

int limit=0;
int white=255;
int light_brown=#F7DEA7;
color screen;
color line=255;
void draw(){
  size(350,185);
  background(screen);
  limit++;
  limit %= 180;
  draw_song();
}
void draw_song(){
  int posX=100;
  posX+=limit;
  noStroke();
  //draw"THE"
  fill(line);
  rect(posX-25,10,70,30); //blank"THE"
  fill(screen);
  rect(posX-25,15,7,25);
  rect(posX-13,15,7,25); //T
  rect(posX,10,15,12);
  rect(posX,27,15,13); //H
  rect(posX+20,10,3,30);
  rect(posX+28,15,17,7);
  rect(posX+28,27,17,8); //E
  triangle(posX+33,10,posX+45,45,posX+45,10);
  //draw"SCRIPT"
  fill(line);
  arc(45,75,60,60,HALF_PI,TWO_PI);
  arc(45,131,70,70,HALF_PI+PI,TWO_PI+HALF_PI); //S
  arc(130,105,110,110,QUARTER_PI+PI/32,TWO_PI-QUARTER_PI-PI/32); //C
  rect(165,50,20,10);
  rect(165,105,20,10);
  arc(185,82.5,60,65,3*PI/2,5*PI/2);
  quad(170,115,185,115,215,147,215,163); //R
  rect(220,50,10,120); //I
  rect(235,50,10,120);
  rect(245,50,20,10);
  rect(245,105,20,10);
  arc(265,82.5,60,65,3*PI/2,5*PI/2); //P
  quad(265,50,330,50,335,60,265,60);
  rect(300,50,10,120); //T
  fill(screen);
  arc(45,76,40,40,HALF_PI,TWO_PI);
  arc(45,131,50,50,HALF_PI+PI,TWO_PI+HALF_PI); //S
  arc(130,105,90,90,QUARTER_PI,TWO_PI-QUARTER_PI); //C
  triangle(147,50,155,80,155,50);
  arc(185,82.5,40,45,3*PI/2,5*PI/2); //R
  quad(220,65,230,60,230,65,220,70); //I
  arc(265,82.5,40,45,3*PI/2,5*PI/2); //P
  triangle(220,170,310,130,310,170);
  fill(line);
  rect(155,50,10,97); //R
}
void mouseClicked(){
  //line
  white*=-1;
  line += white;
  //screen
  screen += light_brown;
  light_brown*=-1;
}

สิงหาคม 31, 2558

Lab2_Generic exercise

/*Calculate body mass index (BMI)*/
void setup(){
  int weight= 60;  //weight(kg)
  int tall= 175;   //height(cm)
  float BMI=bodyMassCal(weight,tall);  //body mass index
  println("Weight = " + weight);
  println("Height = " + tall);
  println("BMI = " + BMI);
}
float bodyMassCal(float w,float h){
  float result;
  result = w/((h/100)*(h/100));
  return result;
}

/*Calculate circumference and area of a circle from its diameter*/
void setup(){
  int diam=10;  //diameter value
  float circum = circumCal(diam);
  float areaCir = areaCal(diam);
  println("Diameter = " + diam);
  println("Circumference = " + circum);
  println("area of a circle = " + areaCir);
}
float circumCal(float d){
  float result;
  result = 2*PI*(d/2);
  return result;
}
float areaCal(float d){
  float result;
  result=PI*(d/2)*(d/2);
  return result;
}

สิงหาคม 30, 2558

Lab2_clock

void draw(){
  int posX=width/2;
  int posY=height/2;
  float s;
  float m;
  float h;
  size(220,220);
  background(30);
  //clock
  strokeWeight(2);
  fill(#22ED48); //colorGreen
  ellipse(posX,posY,200,200);
  fill(255);
  ellipse(posX,posY,180,180);
  fill(0);
  ellipse(posX,posY-75,10,10);
  ellipse(posX+75,posY,10,10);
  ellipse(posX,posY+75,10,10);
  ellipse(posX-75,posY,10,10);
  //pin
  s=radians(second()*6);
  m=radians(minute()*6);
  h=radians(hour()*30);
  strokeWeight(1);
  line(posX,posY,posX+(70*sin(s)),posY-(70*cos(s)));
  strokeWeight(2);
  line(posX,posY,posX+(50*sin(m)),posY-(50*cos(m)));
  strokeWeight(4);
  line(posX,posY,posX+(25*sin(h)),posY-(24*cos(h)));
}

 
errors: Missing right parenthesis ")"
cause: เกิดจากการใส่วงเล็บปิดไม่ครบ
how to fix: เติมวงเล็บเพิ่มให้ครบจำนวน