![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 17.09.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mam wielki problem a zarazem bardzo maly dla kogos kto choc troche zna JAVE.
Mam 2 programy, jeden prosta gierka typu arkanoid i drugi to wysylanie maila. Musze je szybko polaczyc w jeden program, zeby np. przed gra wysylalo sie jakiegos maila i wchodzilo sie do gry. Prosze o bardzo szybka pomoc bo mam to na zaliczenie a ja Javy nie kumam wole inne jezyki. Ponizej wzucam kody programow. Wysylanie maila: Kod import java.io.*; import java.util.*; import javax.mail.internet.*; import javax.mail.*; public class mail { public static void main(String args[])throws Exception { Properties p = new Properties(); p.put("mail.host" , "mail.pl"); Session s = Session.getInstance(p,null); Message m = new MimeMessage(s); m.setFrom(new InternetAddress("moj_adres@cos.pl")); m.setRecipient(Message.RecipientType.TO, new InternetAddress("odbiorca@mail.pl")); m.setSubject("..."); m.setContent("To jest list" , "text/plain"); Transport.send(m); }; }; Gra: Kod import java.awt.*;
import javax.swing.*; import java.awt.event.*; public class Kulki extends JPanel implements ActionListener { public static void main(String[] args) { JFrame frame = new JFrame("Kulki"); Container cp = frame.getContentPane(); Kulki kulki = new Kulki(); cp.add(kulki); frame.addKeyListener(kulki.bar); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setResizable(false); frame.setLocation(300, 300); frame.pack(); frame.show(); kulki.startGame(); } public static final Dimension SIZE = new Dimension(300, 300); // Pulpit public static final int REFRESH = 40; // Odświeżanie pulpitu co REFRESH ms. private Bar bar = new Bar(); private Ball[] balls = { new Ball(Color.magenta, bar), new Ball(Color.green, bar), new Ball(Color.blue, bar), new Ball(Color.red, bar), }; private Image image; private Graphics graph; public Kulki() { setPreferredSize(Kulki.SIZE); } public void startGame() { image = createImage(SIZE.width, SIZE.height); graph = image.getGraphics(); for (int i = 0; i < balls.length; i++) balls[i].start(); Timer timer = new Timer(REFRESH, this); timer.start(); } public void paintComponent(Graphics g) { super.paintComponent(g); if (image != null) g.drawImage(image, 0, 0, this); } public void actionPerformed(ActionEvent evt) { graph.setColor(Color.cyan); graph.fillRect(0, 0, SIZE.width, SIZE.height); bar.draw(graph); for (int i = 0; i < balls.length; i++) balls[i].draw(graph); repaint(); } } class Bar extends KeyAdapter { public static final int BAR_VEL = 20; // Szybkość przesuwania klocka. public static final Dimension SIZE = new Dimension(80, 10); private int pos; public Bar(){ pos = (Kulki.SIZE.width - SIZE.width) / 2; } public void draw(Graphics g){ g.setColor(Color.white); // zbędna synchronizacja g.fill3DRect(pos, Kulki.SIZE.height - SIZE.height - 1, SIZE.width, SIZE.height, true); } public void keyPressed(KeyEvent evt) { switch (evt.getKeyCode()) { case KeyEvent.VK_LEFT: synchronized(this){ if (pos > 0) pos -= BAR_VEL; } break; case KeyEvent.VK_RIGHT: synchronized(this){ if (pos + SIZE.width < Kulki.SIZE.width) pos += BAR_VEL; } break; case KeyEvent.VK_ESCAPE: System.exit(0); } } public synchronized boolean bump(Point p){ return p.y + Ball.SIZE > Kulki.SIZE.height - SIZE.height && p.x + Ball.SIZE / 2 < pos + SIZE.width && p.x + Ball.SIZE / 2 > pos; } } class Ball implements Runnable { public static final int SPEED = Kulki.REFRESH; // Częstośc obliczania pozycji public static final int SIZE = 25; // Średnica kulki. // Graniczne prędkości kulek (względne). public static final int MAX_VEL = 4; public static final int MIN_VEL = 2; private int dx; private int dy; private Point pos; private Color color; private boolean running = true; private Bar bar; public Ball(Color c, Bar b) { color = c; bar = b; double x = (Kulki.SIZE.width - SIZE) * Math.random(); double y = (Kulki.SIZE.height - Bar.SIZE.height - SIZE) * Math.random(); pos = new Point( (int) x, (int) y); int d = MAX_VEL - MIN_VEL; dy = ( -1) * (int) (d * Math.random() + MIN_VEL); dx = (int) (2 * MAX_VEL * Math.random() - MAX_VEL); } public void start(){ new Thread(this).start(); } public void run() { while(running){ try { Thread.sleep(SPEED); } catch(InterruptedException e){ } synchronized (pos) { pos.translate(dx, dy); } if (pos.x < 0 || pos.x > Kulki.SIZE.width - SIZE) dx = -dx; if (dy > 0 && bar.bump(pos)) dy = -dy; if (pos.y < 0) dy = -dy; if (pos.y > Kulki.SIZE.height - SIZE) { running = false; } } } public void draw(Graphics g) { if (running) { g.setColor(color); synchronized (pos) { g.fillOval(pos.x, pos.y, SIZE, SIZE); } } } } |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Jak bum cyk cyk - nie wydaje mi sie to dobry temat na forum php....
Przenoszę na hydePark, ale i tak radzę odwiedzić jedną z wielu witryn zajmujących się konkretnie Javą. Mam dziwne wrażenie, że takowych nie brakuje... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 133 Pomógł: 0 Dołączył: 15.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
W metodzie main klasy Kulki wystarczy ze stworzysz obiekt mail.
Tworzenie obiektu dane jkalsy jest podstawą Javy i tyle przynajmniej powinieneś wynieść z tych zajęć: Kod Klasa obiekt = new Klasa(); Powyższy kod tworzy obiekt typu Klasa. Powodzenia. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Też nie lubie Javy, miałem jeden semestr, ale potem już do niej nie wracałem.
W manualu Javy trudno cokolwiek coś znaleźć (nie wiadomo na co kliknąć ) zupełne przeciwieństow do manuala php, czy też pomocy Pascala lub Delphi. Wogole jakieś dziwne byty w tej Javie, mam szczególnie na myśli obsługe grafiki, ktoś sie chyba nieźle naćpał jak to wymyślał. |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 790 Pomógł: 7 Dołączył: 6.02.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
php programmer: no co Ty? Odświeżasz temat sprzed 1,5 roku? I po co? Warn ze względu na wcześniejsze przewinienia.
EDIT Usunąłem wszystkie posty niezwiązane z tematem. Jeżeli jeszcze raz się pojawią o podobnej treści, to dopiero zacznę sypać warnami. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 01:35 |