Java da 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);
}
}
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ı:
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){
}
}
Hiç yorum yok:
Yorum Gönder