PDA

View Full Version : سوال: کار با جهت ها



M0TR!X
سه شنبه 14 آذر 1391, 15:55 عصر
سلام.

یه پروژه دارم بازی کرم(snake) باید بازی خیلی ساده باشه.

ـsnake رو چی انتخاب کنم ؟ منظورم کلاس.باید چیزی باشه که قابلیت حرکت رو JFrame رو داشته باشه !

navid72m
سه شنبه 14 آذر 1391, 17:11 عصر
اول بهتره که یک Jpannel داشته باشی و اون رو ادد کنی به JFrame
کلاس اسنیک هم بهتره یه آرایه داشته باشه که هر خونه از آرایه مختصات یه نقطه از اسنیک رو نگه میداره(میتونی از Point استفاده کنی برای این کار)

M0TR!X
چهارشنبه 15 آذر 1391, 22:49 عصر
سلام.


من الان snake رو JSpiliter انتخاب کردم به نظرم از بقیه بهتر بود .

الان مشکل من اینه که چطوری باید تشخیص بدم کدم جهت رو کاربر قشار میده(چپ.راست.بالا یا پایین ؟)

چون snake نسبت به کلید فشار داده شده به اون سمت حرکت میکنه.

M0TR!X
شنبه 18 آذر 1391, 19:22 عصر
سلام.

دوستان کسی چیزی نمیدنه ! هر چقدر اطلاعات دارین حتی اگه اندازه چند کلمه بگین ممنون میشم

spiderman200700
شنبه 18 آذر 1391, 21:47 عصر
سلام.
اینم یه مثال خدمت شما:

import java.awt.HeadlessException;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;

public class Test extends JFrame {

public Test() throws HeadlessException {
super("Test");
setSize(200, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);

addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case 37:
System.out.println("left");
break;
case 38:
System.out.println("up");
break;
case 39:
System.out.println("right");
break;
case 40:
System.out.println("down");
break;
}
}
});
setVisible(true);
}

public static void main(String[] args) {
new Test();
}
}

M0TR!X
پنج شنبه 23 آذر 1391, 15:14 عصر
سلام.

من واسه Snake کل کلاسها رو تست کردم. چرا location هیچ کدوم روی JFrame عوض نمیشه ؟ هرچقدر توی کد ها میزنم نه سایزشون عوض میشه نه موقعیتشون !!‌؟‌؟؟؟ مشکل چیه ؟

کلاس JSpiliter رو تست کردم با موس میشه راحت هم سایزش هم موقعیتش رو عوض کرد ولی به صورت کد میزنم نمیشه !!!

M0TR!X
یک شنبه 03 دی 1391, 22:17 عصر
سلام.

دوستان مشکل قبلی حل شد.

الان یه مشکل دیگه بوجود امده اونم اینه که من وقتی به ،Border ،JSpiliter میدم دیگه خاصییت vertical اون کار نمیکنم و عمودی نمیشه ! وقتی border رو برمیدارم راحت vertical میشه !

مشکل چیه ؟