Applet ile Robot Çizimi
Ekrana çizdirilen robot yön tuşları ile hareket ettirilebilmektedir.
Aşağıdaki kodlar sayesinde ekrana geometrik şekiller yardımı ile bir robot çizeceğiz ve bu robotu yön tuşlarını kullanarak hareket ettirebiliriz.
robot.java dosyası:
package geometrik;
import java.awt.Color;
import java.awt.Graphics;
public class robot {
public void KareCiz(Graphics Ekran, int x, int y, int uzunluk1, int uzunluk2, int renk1, int renk2, int renk3){
uzunluk2=uzunluk2==0?uzunluk1:uzunluk2;
Ekran.drawRect(x, y, uzunluk1, uzunluk2);
if(renk1>0){
Color Renk=new Color(renk1, renk2, renk3);
Ekran.setColor(Renk);
Ekran.fillRect(x, y, uzunluk1, uzunluk2);
}
}
public void robot(Graphics Ekran, int Sol, int Ust, int En, int Boy){
//Govde
this.KareCiz(Ekran, Sol, Ust, 50, 100, 225, 0, 0);
//Kafa
this.KareCiz(Ekran, Sol+10, Ust-30, 30, 30, 10, 225, 0);
//Sol Kol
this.KareCiz(Ekran, Sol-10, Ust, 10, 70, 10, 225, 255);
//Sag Kol
this.KareCiz(Ekran, Sol+50, Ust, 10, 70, 10, 225, 255);
//Sol Ayak
this.KareCiz(Ekran, Sol+10, Ust+80, 10, 70, 255, 225, 0);
//Sag Ayak
this.KareCiz(Ekran, Sol+30, Ust+80, 10, 70, 255, 225, 0);
}
}
Yukardaki örnekte dikkat edilmesi gereken kısım package tanımıdır. Bu tanım robot.java dosyasının geometrik adlı bir klasör içerisinde bulundurulmasını zorunlu kılar.
cizer.java dosyası:
package cizer;
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.*;
import java.awt.event.*;
import geometrik.robot;
public class Cizer extends Applet implements KeyListener {
int KoordinatX=50;
int KoordinatY=100;
public void init() {
addKeyListener(this);
requestFocus();
}
public void paint(Graphics Ekran){
robot robotum= new robot();
robotum.robot(Ekran, KoordinatX, KoordinatY, 80, 160);
}
public void keyPressed(KeyEvent Tus){
switch(Tus.getKeyCode()){
case KeyEvent.VK_RIGHT: KoordinatX+=10; break;
case KeyEvent.VK_DOWN: KoordinatY+=10; break;
case KeyEvent.VK_LEFT: KoordinatX-=10; break;
case KeyEvent.VK_UP: KoordinatY-=10; break;
}
//showStatus(Tus.getKeyCode());
repaint();
}
public void keyReleased(KeyEvent Tus){
}
public void keyTyped(KeyEvent Tus){
}
}
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.*;
import java.awt.event.*;
import geometrik.robot;
public class Cizer extends Applet implements KeyListener {
int KoordinatX=50;
int KoordinatY=100;
public void init() {
addKeyListener(this);
requestFocus();
}
public void paint(Graphics Ekran){
robot robotum= new robot();
robotum.robot(Ekran, KoordinatX, KoordinatY, 80, 160);
}
public void keyPressed(KeyEvent Tus){
switch(Tus.getKeyCode()){
case KeyEvent.VK_RIGHT: KoordinatX+=10; break;
case KeyEvent.VK_DOWN: KoordinatY+=10; break;
case KeyEvent.VK_LEFT: KoordinatX-=10; break;
case KeyEvent.VK_UP: KoordinatY-=10; break;
}
//showStatus(Tus.getKeyCode());
repaint();
}
public void keyReleased(KeyEvent Tus){
}
public void keyTyped(KeyEvent Tus){
}
}
Yukardaki package tanımı cizer .java dosyasının cizer adlı bir klasör içerisinde bulundurulmasını zorunlu kılar.
Kodlar için package yapısı aşağıdaki gibidir:
Yorumunuzu Ekleyin