고스톱프로그램질문입니다.
목련
import! java.awt.*;
import! java.util.HashSet;
import! java.util.Random;
import! java.util.Stack;
import! javax.swing.*;
class Test extends JPanel
{
int com_x[] = {567, 602, 637, 672, 707, 567, 602, 637, 672, 707};
int com_y[] = {10, 10, 10, 10, 10, 65, 65, 65, 65, 65};
//컴퓨터의 카드 위치
int center_x = 380;
int center_y = 300;
//나머지카드들 쌓아두는곳.
int center_Area_x[] = {340, 260, 300, 340, 420, 420, 460, 500};
int center_Area_y[] = {200, 200, 300, 400, 400, 200, 300, 400};
//깔려있는 카드들의 위치
int user_x[] = {500, 550, 600, 650, 700, 500, 550, 600, 650, 700};
int user_y[] = {590, 590, 590, 590, 590, 520, 520, 520, 520, 520};
int j = 1;
//Stack stack_ct23 = new Stack();
Random rand = new Random();
HashSet set = new HashSet(); //중복숫자체크
int com_card[] = new int[10];
int num; //랜덤으로 입력받을 수
Image img, img2; //중간에 쌓은 화투 이미지, 상대편화투 이미지.
Image img_user[] = new Image[10]; //사용자 이미지배열
Image img_center[] = new Image[8]; //바닥에 깐 이미지배열
int random_num_Array[] = new int[51]; //1~51까지 순서없이저장
Test() {
for(int i=0; i 51; i++){
num = Math.abs(rand.nextInt())Q + 1;
boolean setChanged = set.add(new Integer(num));
if(setChanged == false)i--; //중복이면 다시
else random_num_Array[i] = num; //중복아니면 저장.
} //저장완료
for(int i=0 ; i10 ; i++){ //10장
com_card[i] = random_num_Array[i]; //컴퓨터에게 카드를 준다.
} /*
for(int i = 28 ; i 51 ; i++){
stack_ct23.push(new Integer(random_num_Array[i]));;
}
*/
/* //뽑아 쓸때
Object obj = stack_ct23.pop();
System.out.println(스택 나온거 : + obj);
*/
repaint();
} public synchronized void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(760, 0, 760, getHeight()); //선긋기
g.drawLine(0, 170, 760, 170);
g.drawLine(0, 510, 760, 510);
img = Toolkit.getDefaultToolkit().getImage(중립화투.png);
img2 = Toolkit.getDefaultToolkit().getImage(상대편화투.png);
g.drawImage(img, center_x, center_y, this);
for(int i = 0 ; i 10 ; i++){ //상대편 화투 10장 그리기.
g.drawImage(img2, com_x[i], com_y[i], this);
} for(int i = 10 ; i 20 ; i++){ //사용자 화투 10장주기(그리기)
img_user[i-10] = Toolkit.getDefaultToolkit().getImage( + random_num_Array[i] + .png);
g.drawImage(img_user[i-10], user_x[i-10], user_y[i-10], this);
}
for(int j = 20 ; j 28 ; j++){ //바닥에 8장 깔기.
img_center[j-20] = Toolkit.getDefaultToolkit().getImage( + random_num_Array[j] + .png);
g.drawImage(img_center[j-20], center_Area_x[j-20], center_Area_y[j-20], this);
} }
public static void main(String args[]) {
JFrame f = new JFrame(Swing Image); //JFrame을 하나 생성한 후
Test si=new Test(); //JPanel을 상속받은 SwingImage 객체 생성
f.setTitle(자바의 간단한 맞고);
f.getContentPane().add(si); //ContentPane에 SwingImage 객체를 넣습니다.
f.setSize(1000, 700);
f.show();
}
}
이프로그램이 사이트에서 따온 자바 고스톱 소스인데요 이거를 위피에 삽입하려고 합니다. 그렇게 여러가지로 소스도 변경해보고 노력을 해보았는데 위피에 실행이 잘 되지 않네요 이소스에서 바꿔야할 문제점들좀 설명부탁드림니다..
-
아지랑이
예^^알겠습니다.ㅎ 조언 감사합니다^^ 1주일간 밤세가면서 열심히 파봐야겠네요. ㅎㅎㅎ
-
화이트캣
네 우선 자바에 대한 공부가 부족해 보입니다. ^^
자바 자체에 대한 공부가 우선되지 않으면, 고쳐봤자 소용이 없어 보입니다. ^^
( 듀라니스님 말로는 소스 자체에 오타가 있다는데.. 오타조차 못 찾는다면.. ) -
찬솔나라
이미지 파일 빼고 99%는 위피용으로 새로 프로그램 짜야 한다고 생각하세요...--;
위피 플랫폼에 대한 이해없이 저 소스를 쉽게(!) 몇줄 바꿔서 위피용으로 실행할 순 없습니다.
그리고 소스 자체에도 오타등이 보이는데 그 부분 수정하면 swing 창은 뜨네요... -
루리
위피에 핸드폰 화면에 출력 되는 형식으로 되면 되요.;핸드폰에 직접 넣을거는 아니구요. 컴퓨터에서만 작동하면 됨니다. 어려우시고 바쁘시겠지만 부탁드림니다. 저도 질문올라올동안 책 열심히 뒤지면서 찾아보겠습니다.
-
사지타리우스
그.... 위피에 넣을려고하는거구요.. 고스톱 패같은경우는 다 있습니다. 그런데. 뭐라고해야하지.. 음....학교에서 배운데로 실행을 해봤는데 뜨는건 오류뿐이구요.ㅠㅠ 실행은 명령프로토콜에서 해봤습니다...;;;; 너무 초짜라 배운대로 하긴했는데 실행이 안되네요.ㅠㅠ 부탁드림니다. 인터넷에서 받은 소스 그대로 첨부하겠습니다.
-
잠팅이
위피에서 어떻게 안되는지 설명이 없네요?
그리고 올려주신 소스 내용에는 게임 엔진부분이 전혀 없어 고스톱 밑판만 겨우 그릴 수 있겠네요..