스마트폰게임에 대한 흥미제로인 우리 마나님께서 웬일 게임을 하고 있는 것이 아닌가...수많은 아기자기 재밌는 게임의 홍수속에서

아주 단순한 클래식 보드게임을 하고 있는 것이다..

우리 마나님은 정신 사나운 게임을 싫어한다...그래서 문득 아주 먼 옛날 처음 프로그래밍에 손을 대기 시작했을때 만들었던 리버시게임이 생각이 났다..그리고 일본 출장갔을때 본 한정판 리버시게임판....

그래서 안드로이드 리버시게임을 다시 한번 만들어 보고 싶어졌다..그것도 프라다스타일의 한정판 리버시!!

먼저...이미지를 만들었다....

 

기존의 흰돌, 까만돌이 아닌 골드와 실버로 ㅋㅋ~~

그리고 판도 프라다스타일로.....흠..맘에 안들지만 디자인 전공이 아니니 뭐..이정도로 만족을...

 

그리고 이클립스를 열고...대충 오늘은 기본 셋팅정도....

 

 

 

그리고 간단하게 코딩...

 

[LimitedReversi.java] 

 

public class LimitedReversi extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
  
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        LinearLayout l = new LinearLayout(this);
        setContentView(l);
        l.addView(new ReversiView(this));

 }

 

}

 

[ReversiView]

 

 public class ReversiView extends View{
 private Paint paint = new Paint();

 private int Width, Height;
 private Resources res = this.getContext().getResources();
 private final Bitmap IMG_BOARD = BitmapFactory.decodeResource(res, R.drawable.board);
 private final Bitmap IMG_GOLD = BitmapFactory.decodeResource(res, R.drawable.gold);
 private final Bitmap IMG_SILVER = BitmapFactory.decodeResource(res, R.drawable.silver);
 private final Bitmap IMG_GUIDE = BitmapFactory.decodeResource(res, R.drawable.guide);
 private final Bitmap IMG_BACK = BitmapFactory.decodeResource(res, R.drawable.background);
 
 private final int TITLE = 0;
 private final int PLAYER = 1;
    private final int COM = 2;
    private final int TURN = 3;
    private final int REVERS = 4;
    private final int CONTROL = 5;
    private final int PASS = 6;
    private final int RESULT = 7;

    private int[] board = new int[100];
    private int page = TITLE;

 public ReversiView(Context context) {
  super(context);
   // 화면 해상도 구하기
        Display display = ((WindowManager)context.getSystemService(context.WINDOW_SERVICE)).getDefaultDisplay();
        Width  = display.getWidth();
        Height = display.getHeight();

 }

 @Override
 protected void onDraw(Canvas c) {
  int i;
  c.drawBitmap(IMG_BACK, 0, 0,paint);
  //보드를 표시하자
   c.drawBitmap(IMG_BOARD, 0, 0, paint);
         for(i=11;i<=88;i++) {
          if(board[i]==PLAYER) c.drawBitmap(IMG_GOLD, 48*(i%10), 48*(i/10), paint);
             if(board[i]==COM) c.drawBitmap(IMG_SILVER, 48*(i%10), 48*(i/10), paint);

         }
        
         switch(page){
         case TITLE:
             break;
         case TURN:
             break;
         case PLAYER:
             break;
         case COM:
             break;
         case REVERS:
             break;
         case CONTROL:
             break;
         case PASS:
             break;
         case RESULT:
             break;

         } 
        
 }
 
 //터치입력처리
 public boolean onTouchEvent(MotionEvent me){
  if(me.getAction()==MotionEvent.ACTION_DOWN){
   switch(page){
   case TITLE:
                break;
            case PLAYER:
                break;
            case COM:
                break;
            case PASS:
                break;
            case RESULT:
                break;

   }
  }
  
  return true;

 }
 

}

 

테스트 디바이스로 버림받고 살고 있는 나의 첫 스마트폰...갤럭시s에 넣어보니..음..그럭저럭..만족.... 

 

이제 시간날때 화면터치로 돌 놓는 것과 로직을 구성해야 겠다..

 

Posted by BeansLove
,