วันอาทิตย์ที่ 25 สิงหาคม พ.ศ. 2556

ASSINGMENT 2: SNOOPY TENNIS

SNOOPY TENNIS
     เกมเทนนิสสนูปปี้เป็นเกมรุ่น Game & Watch เป็นวิดีโอเกมปล่อยออกมาในปี 1982 โดย บริษัท Nintendo  
     เป็นเกมที่ควบคุมให้ตัวสนูปปี้ย้ายขึ้นและลงเพื่อทำให้ตีลูกเทนนิสที่กำลังจะมาถึงได้  ถ้าตีได้จะได้ 2 คะแนน ถ้าตีไม่ได้จะจบเกม
ตัวอย่างเกมSNOOPY TENNIS
แนวคิดฟังก์ชันที่ใช้
         system function
            - ellipse();
            - triangle();
            - stroke();
            - noStorke();
            - fill();
            - line();
            - quad();
            - keyCode();
            - text();
            - textSize();
            - keyPressed()
       user defined function
            - drawBg();
            - drawSnoopy();
            - drawTennis();
            - snoopySleep();
            - drawBoy();
            - drawgirl();
  ตัวอย่างพื้นหลังจากโค้ด
ภาพที่ได้จากการบันทึกรูปจากโค้ด
ตัวอย่าง
 
 
 

วันพฤหัสบดีที่ 15 สิงหาคม พ.ศ. 2556

Function:Medium

Write a function that will caculate the value of f(x) given the value of x, where
f(x) = x2 + 2x
(จงเขียนฟังก์ชันโดยคิดค่า f(x) จากค่า x โดยใช้ f(x) = x2 + 2x)
ชื่อหนังสือ :ENGINEERING PROGRAMMING C, MATLAB, JAVA
หน้า :181
CODE
int x = 2;          //ประกาศและกำหนดตัวแปรชื่อ x มีค่าเท่ากับ 2
void setup(){
  x = (x * x) + (2 * x);          //สร้างสมการให้ x เท่ากับ x2 + 2x
  drawfx(x);          //สร้าง user defined function ชื่อ drawfx โดยส่งค่า parameter คือ x
}
void drawfx(int X){          //เรียกใช้ฟังก์ชัน drawfx ที่รับค่าจาก drawfx(x)
  int x1 = 2;          //ประกาศและกำหนดตัวแปรชื่อ x1 มีค่าเท่ากับ 2
  println("f(" + x1 + ") = " + X);          //แสดงค่า f(x) เท่ากับค่า X (ซึ่ง X = x และ x = x2 + 2x)
}
จากโค้ด output คือ f(2) =




วันอาทิตย์ที่ 11 สิงหาคม พ.ศ. 2556

Array:Easy

Write a program that can hold five integers in an array. Display the integers from first to last, and then display the integers from last to first. 
(จงเขียนโปรแกรมที่มีเลขจำนวนเต็ม 5 จำนวน โดยแสดงผลลัพธ์จากจำนวนแรกถึงจำนวนสุดท้าย และจำนวนสุดท้ายถึงจำนวนแรก)
ชื่อหนังสือ : Java Programming
หน้า : 273
CODE
int [] num = {1,2,3,4,5};          //ประกาศและกำหนดอาร์เรย์ชื่อ num ที่มีค่าตั้งแต่ 1 ถึง 5
int [] num1 = new int [5];           //ประกาศอาร์เรย์ชื่อ num1 ที่มีขนาด 5 เพื่อเก็บค่าตั้งแต่ 1 ถึง 5 ตามลำดับ
int [] num2 = new int [5];           //ประกาศอาร์เรย์ชื่อ num2 ที่มีขนาด 5 เพื่อเก็บค่าตั้งแต่ 5 ถึง 1 ตามลำดับ
int i = 0;          //ประกาศและกำหนดตัวแปรชื่อ i มีค่าเท่ากับ 0
int n = 5;          //ประกาศและกำหนดค่าตัวแปรชื่อ n มีค่าเท่ากับ 5
int spacex = 20;           //ประกาศและกำหนดค่าตัวแปรชื่อ spacex มีค่าเท่ากับ 20
void setup(){
  size(250,150);          //ขนาดของการแสดงผล
  background(250);          //สีพื้นหลัง(สีขาว)
  while(i<n){          //ถ้า i น้อยกว่า n เป็นจริงให้
    num1[i]=num[i];          //อาร์เรย์ num1 ที่ตำแหน่ง i มีค่าเท่ากับอาร์เรย์ num ที่ตำแหน่ง i
    num2[i]=num[4-i];          //อาร์เรย์ num2 ที่ตำแหน่ง i มีค่าเท่ากับอาร์เรย์ num ที่ตำแหน่ง 4-i
    fill(random(255),random(255),random(255));          //สีตัวอักษร(สีเปลี่ยนไปตามค่าที่สุ่มได้)
    textSize(50);          //ขนาดตัวอักษร
    text(num1[i],10 + spacex,60);          //แสดงค่าภายในอาร์เรย์ num1 ที่ตำแหน่ง i และแสดงค่าที่ตำแหน่ง (10 + spacex,60)
    text(num2[i],10 + spacex,120);          //แสดงค่าภายในอาร์เรย์ num2 ที่ตำแหน่ง i และแสดงค่าที่ตำแหน่ง (10 + spacex,120)
    spacex = spacex + 40;          //spacex มีค่าเพิ่มขึ้น 40
    i = i + 1;          //i มีค่าเพิ่มขึ้น 1
  }
  println(num1);          //แสดงค่าภายในอาร์เรย์ num1
  println(num2);          //แสดงค่าภายในอาร์เรย์ num2
}


Array:Medium

Using the array arr with value a[0]=9, a[1]=2, a[2]=5, a[3]=4, a[4]=3 determine the output of the code in Exmple 6-11
          Example 6-11
          1     i = 0
          2
          3     while(i<a.size)
          4          puts a[i]
          5          i = i + 1
          6     end
(ให้แสดงผล  เมื่อแทนค่า a[0]=9, a[1]=2, a[2]=5, a[3]=4, a[4]=3 จากตัวอย่าง 6-11)
ชื่อหนังสือ : Computer Science Programming Basics in Ruby
หน้า : 84
CODE
int i = 0;          //กำหนดตัวแปร i เท่ากับ 0
int [] a = {9,2,5,4,3};          //กำหนดให้ a[0]=9, a[1]=2, a[2]=5, a[3]=4, a[4]=3
while(i<a.length){          //เมื่อ i<a.length
  println(a[i]);         //แสดงค่าของอารเรย์ชื่อ a ที่ตำแหน่ง i
  i = i + 1;          //i มีค่าเพิ่มขึ้น 1 (จะช่วยในการเลื่อนแถวลำดับในอาร์เรย์)
}

จากโค้ด  int [] a = {9,2,5,4,3} คือ อาร์เรย์ชื่อ a ที่เก็บข้อมูล 9, 2, 5, 4, 3 ตามลำดับ  ซึ่งแถวลำดับในอาร์เรย์จะมีค่าตั้งแต่ 0 ถึงลำดับสุดท้าย (ในโจทย์คือลำดับ 0 ถึง 4)
          Output ที่ได้ คือ  9
                                 2
                                 5
                                 4
                                 3




Array:Hard

Write a program using dialog boxes that prompts the user to make a choice for a pizza size S,M,L,or X and then displays the price as $6.99, $8.99, $12.50, or $15.00 accordingly.
(จงเขียนโปรแกรมโดยใช้กล่องกรอกข้อมูลเพื่อให้ผู้ใช้เลือกขนาดพิซซ่า S, M, L, หรือ X และแสดงราคาเป็น $ 6.99, $ 8.99, $ 12.50 หรือ $ 15.00 ตามลำดับ)
ชื่อหนังสือ : Java Programming
หน้า : 273
CODE
String [] pizza = {"S","M","L","X"};          //ประกาศและกำหนดอาร์เรย์ชื่อ pizza
String [] prizes = {"$6.99","$8.99","$12.50","$15.00"};          //ประกาศและกำหนดอาร์เรย์ชื่อ prizes
void setup(){
  size(200,110);          //ขนาดของการแสดงผล
  background(250);          //สีพื้นหลัง(สีขาว)
}
void draw() {
  if (keyPressed) {          //ถ้ากดปุ่ม
    if (key == 's' || key == 'S') {          //ถ้ากดปุ่ม s หรือ S
      noStroke();          //ไม่มีเส้นขอบ
      fill(250);          //สีของสี่เหลี่ยม(สีขาว)
      rect(0,0,200,110);          //สี่เหลี่ยม
      fill(0);         //สีของตัวอักษร(สีขาว)
      textSize(50);           //ขนาดตัวอักษร
      text(pizza[0],90,30);          //แสดงตัวอักษรของอาร์เรย์ชื่อ pizza ที่ตำแหน่ง 0
      text(prizes[0],30,60);          //แสดงตัวอักษรของอาร์เรย์ชื่อ prizes ที่ตำแหน่ง 0
    }
    if(key == 'm' || key == 'M') {          //ถ้ากดปุ่ม m หรือ M
      noStroke();          //ไม่มีเส้นขอบ
      fill(250);          //สีของสี่เหลี่ยม(สีขาว)
      rect(0,0,200,110);          //สี่เหลี่ยม
      fill(0);         //สีของตัวอักษร(สีขาว)
      textSize(50);           //ขนาดตัวอักษร
      text(pizza[1],90,30);          //แสดงตัวอักษรของอาร์เรย์ชื่อ pizza ที่ตำแหน่ง 1
      text(prizes[1],30,60);          //แสดงตัวอักษรของอาร์เรย์ชื่อ prizes ที่ตำแหน่ง 1
     }
    if(key == 'l' || key == 'L') {          //ถ้ากดปุ่ม l หรือ L
      noStroke();          //ไม่มีเส้นขอบ
      fill(250);          //สีของสี่เหลี่ยม(สีขาว)
      rect(0,0,200,110);          //สี่เหลี่ยม
      fill(0);         //สีของตัวอักษร(สีขาว)
      textSize(50);           //ขนาดตัวอักษร
      text(pizza[2],90,30);          //แสดงตัวอักษรของอาร์เรย์ชื่อ pizza ที่ตำแหน่ง 2
      text(prizes[2],30,60);          //แสดงตัวอักษรของอาร์เรย์ชื่อ prizes ที่ตำแหน่ง 2
    }
    if(key == 'x' || key == 'X') {          //ถ้ากดปุ่ม x หรือ X
      noStroke();          //ไม่มีเส้นขอบ
      fill(250);          //สีของสี่เหลี่ยม(สีขาว)
      rect(0,0,200,110);          //สี่เหลี่ยม
      fill(0);         //สีของตัวอักษร(สีขาว)
      textSize(50);           //ขนาดตัวอักษร
      text(pizza[3],90,30);          //แสดงตัวอักษรของอาร์เรย์ชื่อ pizza ที่ตำแหน่ง 3
      text(prizes[3],30,60);          //แสดงตัวอักษรของอาร์เรย์ชื่อ prizes ที่ตำแหน่ง 3
     }
  }
}




*คลิกที่ภาพแสดงผลและกด s หรือ S, m หรือ M, l หรือ L, x หรือ X