Rabu, 23 Juli 2014

Tugas Softskill_ Pengantar Teknologi Game



Codingan Pembuatan Game :


//////////////////////////////


//     Global Variables     //

//////////////////////////////

private Game game = new Game();

private Question question = new Question();

private Answer[] answers = new Answer[3];

  

// Coordinates for where to draw the buttons

private static final int[] buttonXCoords = {40, 240, 440};

  

// Limits for generating the random numbers in the questions

private static final int[] limits = {1, 301};

  

// To store the coordinates of the mouse when clicked

private float[] mouseCoordsOnClick = new float[2];

  

// Flag for whether we need a new question for the user

private boolean newQuestion = true;

  

// Flag for whether the game has been started

private boolean gameStarted = false;

  

// Flag for winning or losing the game

private int gameWon = 0;

  

// Create new object for the class Cars

private Cars cars = new Cars();

  

/////////////////////////////

//      Setup method       //

/////////////////////////////

void setup(){

  frameRate(30);

  size(600, 600);

  smooth();

  

  // Initialise the Answer objects

  for(int i=0; i<3; i++){

    answers[i] = new Answer();

      

    // Set each answer box's x-coordinate

    answers[i].setXCoord(buttonXCoords[i]);

  }

}

  

//////////////////////////////

//     Main draw method     //

//////////////////////////////

void draw(){

    // Draw background

    fill(255);

    rect(0, 0, width, 250);

      

    // If the button has been pressed to start the game

    if(gameStarted == true){

      // Game lost

      if(gameWon==1){

        fill(0);

        textSize(35);

        text("YOU LOST!", 215, 200);

      }

      else if(gameWon==2){

        fill(0);

        textSize(35);

        text("YOU WON!", 215, 200);

      }

      if(gameWon==0){

        // If a new question is needed (user answered)

        if(newQuestion == true){

          // No new questions until the user has answered

          newQuestion = false;

        

          // Draw background

          fill(255);

          rect(0, 250, width, 350);

      

          // New question!

          game.newQuestion();

        }

        cars.moveCars();

        cars.drawCars();

        cars.checkWin();

      }

    }

    else{

      fill(0);

      rect(200, 200, 200, 100);

      fill(255);

      textSize(25);

      text("Start Game", 235, 255);

    }

}

  

//////////////////////////////

//        Game class        //

//////////////////////////////

class Game{

  // Constructor

  public void Game(){

      

  }

    

  // Sets up and initiates the Question and Answer classes,

  // creating a new question and answer selection for the user

  public void newQuestion(){

    int rand=0;

    // Draw a new question to the screen

    question.drawQuestion();

  

    // Reset the 'correct' answer box

    for(int i=0; i<3; i++){

      answers[i].setCorrect(false);

    }

  

    // Randomly designate an answer box as the 'correct' one

    answers[int(random(0, 3))].setCorrect(true);

    

    for(int i=0; i<3; i++){

      if(answers[i].isCorrect()==true){

        // Give the 'correct' answer box the value of the answer that was worked out earlier

        answers[i].setValue(question.getAnswer());

      }

      else{

        // Give the two other answer boxes random numbers in the possible range

        do{

          rand = int(random(-149, 301));

        } while(rand==question.getAnswer());

        answers[i].setValue(int(random(-149, 301)));

      }

      

      // Draw the box that the answer sits in

      answers[i].drawButton();

      

      // Draw the answer text in the box

      answers[i].drawText();

    }

  }

}

  

//////////////////////////////

//      Question class      //

//////////////////////////////

class Question{

  private int num1;

  private int num2;

  private int operator;

  private int answer;

  private String questionString;

    

  // For use in building questionString

  private final String[] operators = {"+", "-", "*", "/"};

    

  // Constructor

  public void Question(){

      

  }

    

  // Used by drawQuestion to build a question to display to the

  // user and set fields we'll need later such as the answer

  private void createQuestion(){

    // Create the two random numbers

    num1 = int(random(limits[0], limits[1]));

    num2 = int(random(limits[0], limits[1]));

      

    // Select a random operator (multiplication and division aren't used)

    int opSelect = int(random(0, 2));

      

    switch(opSelect){

      case 0:

        answer = num1 + num2;

        break;

      case 1:

        answer = num1 - num2;

        break;

      case 2: // Unused

        answer = num1 * num2;

        break;

      case 3: // Unused

        answer = num1 / num2;

        break;

    }

    // Build the question string we want to display to the user

    questionString = num1 + " " + operators[opSelect] + " " + num2 + " = ?";

  }

    

  // Create and display the question string to the user

  public void drawQuestion(){

    createQuestion();

    fill(0);

    textSize(30);

    text(questionString, 175, 300);

  }

    

  // Used for returning the correct answer to the random question

  public int getAnswer(){

    return answer;

  }

    

  // Use the mouse coordinates stored by the mouseclicked event handler

  // and the known coordinates of the answer boxes to find which answer

  // the user actually clicked on, returns -1 if no box was clicked.

  public int getAnswerChoice(){

    // For simplicity

    float x = mouseCoordsOnClick[0];

    float y = mouseCoordsOnClick[1];

      

    if((y>=475) && (y<=550)){ // Check if mouse is on the right level (y-coordinates)

      if((x>=40) && (x<=165)){ // Leftmost box

        //print("First answer\n");

        return 0;

      }

      else if((x>=240) && (x<=365)){ // Middle box

        //print("Second answer\n");

        return 1;

      }

      else if((x>=440) && (x<=565)){ // Rightmost box

        //print("Third answer\n");

        return 2;

      }

      else{

        return -1;

      }

    }

    else{

      return -1;

    }

  }

    

  // Check if the user's answer pick was the correct one

  public void checkAnswer(){

    int choice = getAnswerChoice();

    // A return value of -1 indicates that the user

    // did not click within any of the answer boxes

    if(choice==-1){

      print("Not a button\n");

      return;

    }

    else if(answers[choice].isCorrect()==true){

      print("Correct answer\n");

      cars.speedUp();

    }

    else if(answers[0].isCorrect()==false){

      print("Wrong answer\n");

      cars.slowDown();

    }

    // Set the flag to start a new question

    newQuestion = true;

  }

}

  

  

//////////////////////////////

//       Answer class       //

//////////////////////////////

class Answer{

  // X-coordinate of the box to draw

  private int xCoord;

  // Value of the answer to display

  private int value = 0;

  // Whether this answer box is the 'correct' one

  private boolean correct = false;

    

  // Constructor

  public void Answer(){

        

  }

    

  // Draw the box in which the answer text sits

  public void drawButton(){

    fill(0);

    rect(xCoord, 475, 125, 75);

  }

    

  // Draw the text onto the box

  public void drawText(){

    fill(255);

    text(value, xCoord+35, 525);

  }

    

  // Mutator for the x-coordinate

  public void setXCoord(int newXCoord){

    xCoord = newXCoord;

  }

    

  // Mutator for the answer value

  public void setValue(int newValue){

    value = newValue;

  }

    

  // Accessor for the answer value

  public int getValue(){

    return value;

  }

    

  // Mutator for the 'correct answer box' boolean

  public void setCorrect(boolean isCorrect){

    correct = isCorrect;

  }

    

  // Accessor for the 'correct answer box' boolean

  public boolean isCorrect(){

    return correct;

  }

}

  

//////////////////////////////

//        Cars Class        //

//////////////////////////////

class Cars{

  float car1speed;

  float car2speed;

  float x1;

  float x2;

  boolean value;

  boolean correct;

  boolean win;

    

  //Initialise Variables

  public Cars(){

    x1 = 0;

    x2 = 0;

  }

    

  public void drawCars(){

    //Draw two cars

    fill(#FF0000);

    rect(x1, 120, 50, 20);

    fill(#03FF04);

    rect(x2, 180, 50, 20);

     

    // To indicate that the green car is the player's

    fill(0);

    textSize(13);

    text("Player", x2+10, 195);

  }

  

  public void moveCars(){

    x1 += 0.4;

    x2 += 0.25;

  }

      

  public void speedUp(){

    x2 += 15;

  }

    

  public void slowDown(){

    x2 -= 25;

  }

    

  public void checkWin(){

    if(x1>=550){

      gameWon=1;

    }

    else if(x2>=550){

      gameWon=2;

    }

  }

}

////////////////////////////////

//  Mouseclick event handler  //

////////////////////////////////

void mouseClicked(){

  // Store the mouse's current coordinates

  // for use in another method

  if(gameStarted==true){

    mouseCoordsOnClick[0] = mouseX;

    mouseCoordsOnClick[1] = mouseY;

    question.checkAnswer();

  }

  else{

    if(mouseX>200 && mouseX<400 && mouseY>200 && mouseY<300){

      gameStarted = true;

    }

  }

}
Yang harus dijelasin kodingan di blog  jelasin secara singkat aja gak usah menyeluruh nanti di blognya dikasih link youtubenya batas akhir sampe uas gundar kelar 23 juli:

/////////////////////////////

//      Setup method       //

/////////////////////////////

void setup(){

  frameRate(30);

  size(600, 600);

  smooth();

  

  // Initialise the Answer objects

  for(int i=0; i<3; i++){

    answers[i] = new Answer();

      

    // Set each answer box's x-coordinate

    answers[i].setXCoord(buttonXCoords[i]);

  }

}

  
//////////////////////////////

//        Cars Class        //

//////////////////////////////

class Cars{

  float car1speed;

  float car2speed;

  float x1;

  float x2;

  boolean value;

  boolean correct;

  boolean win;

    

  //Initialise Variables

  public Cars(){

    x1 = 0;

    x2 = 0;

  }

    

  public void drawCars(){

    //Draw two cars

    fill(#FF0000);

    rect(x1, 120, 50, 20);

    fill(#03FF04);

    rect(x2, 180, 50, 20);

     

    // To indicate that the green car is the player's

    fill(0);

    textSize(13);

    text("Player", x2+10, 195);

  }

  

  public void moveCars(){

    x1 += 0.4;

    x2 += 0.25;

  }

      

  public void speedUp(){

    x2 += 15;

  }

    

  public void slowDown(){

    x2 -= 25;

  }

    

  public void checkWin(){

    if(x1>=550){

      gameWon=1;

    }

    else if(x2>=550){

      gameWon=2;

    }

  }

}

////////////////////////////////

//  Mouseclick event handler  //

////////////////////////////////

void mouseClicked(){

  // Store the mouse's current coordinates

  // for use in another method

  if(gameStarted==true){

    mouseCoordsOnClick[0] = mouseX;

    mouseCoordsOnClick[1] = mouseY;

    question.checkAnswer();

  }

  else{

    if(mouseX>200 && mouseX<400 && mouseY>200 && mouseY<300){

      gameStarted = true;

    }

  }

}


Link Youtube : http://www.youtube.com/watch?v=hESaNfg8bmc&feature=youtu.be
 

Senin, 13 Januari 2014

TUGAS EBOOK BAB III SOFTWARE DAN TOOLS



BAB III
SOFTWARE DAN TOOLS
SOFTWARE
Software yang digunakan dalam implementasi ini adalah Adobe Photoshop. Adobe Photoshop, atau biasa disebut Photoshop, adalah perangkat lunak editor citra buatan Adobe Systems yang dikhususkan untuk pengeditan foto/gambar dan pembuatan efek. Perangkat lunak ini banyak digunakan oleh fotografer digital dan perusahaan iklan sehingga dianggap sebagai pemimpin pasar (market leader) untuk perangkat lunak pengolah gambar/foto, dan, bersama Adobe Acrobat, dianggap sebagai produk terbaik yang pernah diproduksi oleh Adobe Systems. Versi kedelapan aplikasi ini disebut dengan nama Photoshop CS (Creative Suite), versi sembilan disebut Adobe Photoshop CS2, versi sepuluh disebut Adobe Photoshop CS3 , versi kesebelas adalah Adobe Photoshop CS4 , versi keduabelas adalah Adobe Photoshop CS5 , dan versi yang terakhir (ketigabelas) adalah Adobe Photoshop CS6.
Photoshop tersedia untuk Microsoft Windows, Mac OS X, dan Mac OS; versi 9 ke atas juga dapat digunakan oleh sistem operasi lain seperti Linux dengan bantuan perangkat lunak tertentu seperti CrossOver.
TOOLS
  • Zoom Tool (Z), Untuk memperbesar tampilan gambar
Klik objek yang akan diperbesar. Zoom juga bisa di gunakan untuk memperkecil gambar. Gambar yang akan di perbesar secara terus-menerus dapat di lakukan sambil meng-klik shift sebaliknya jika ingin memperkecil gambar lakukan klik + alt.
  • Set Color, Untuk merubah warna
Isi warna pada area yang tersedia dengan cara, pilih Edit > Fill > Use pilih Color atau shift + F5 > Use pilih Color. Jika anda ingin mengisi warna pada suatu area itu saja tanpa mempengaruhi area lain lakukan dengan cara menekan tombol shift + ctrl + del bersamaan.
  • Brightness / Contrast
Brightness digunakan untuk mengatur kecerahan gambar, Contrast digunakan untuk mengatur ketajaman gambar,  Gunakan menu image -> Adjustment -> Brightness / Contrast.
  • Hue / Saturation
Hue / Saturation digunakan untuk mengganti warna pada keseluruhan gambar / seleksi. Hue adalah corak warna sedangkan Saturation adalah tebal/tipisnya warna. Gunakan tool ini pada image -> Adjustment -> Hue / Saturation. Perubahan warna dapat diatur pada channel master.