package com.x.game2048;
import android.content.Context;
import android.widget.FrameLayout;
import android.widget.TextView;
public class Card extends FrameLayout {
private TextView lable;
public Card(Context context) {
super(context);
lable =new TextView(getContext());
lable.setTextSize(32);
LayoutParams lp = new LayoutParams(-1,-1);
addView(lable, lp);
setNum(0);
}
private int num = 0;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
lable.setText(num+"");
}
public boolean equals(Card o) {
return getNum()==o.getNum();
}
}
package com.x.game2048;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.GridView;
public class GameView extends GridView {
public GameView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initGameview();
}
public GameView(Context context, AttributeSet attrs) {
super(context, attrs);
initGameview();
}
public GameView(Context context) {
super(context);
initGameview();
}
private void initGameview(){
setOnTouchListener(new View.OnTouchListener() {
private float startX, startY,offsetX,offsetY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = event.getX();
startY = event.getY();
break;
case MotionEvent.ACTION_UP:
offsetX = event.getX()-startX;
offsetY = event.getY()-startY;
if(Math.abs(offsetX)>Math.abs(offsetY)){
if(offsetX<-5){
swipeLeft();
}else if (offsetX>5) {
swipeRight();
}
}else {
if(offsetY<-5){
swipeUp();
}else if (offsetY>5) {
swipeDown();
}
}
break;
}
return true;
}
});
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
int cardWidth = (Math.min(w, h)-10)/4;
addCard(cardWidth, cardWidth);
}
private void addCard( int cardWidth, int cardHeight){
Card c;
for (int y = 0; y < 4; y++) {
for (int x = 0; x < 4; x++) {
c= new Card(getContext());
c.setNum(2);
addView(c, cardWidth, cardHeight);
}
}
}
private void swipeLeft(){
}
private void swipeRight(){
}
private void swipeUp(){
}
private void swipeDown(){}
}
import android.content.Context;
import android.widget.FrameLayout;
import android.widget.TextView;
public class Card extends FrameLayout {
private TextView lable;
public Card(Context context) {
super(context);
lable =new TextView(getContext());
lable.setTextSize(32);
LayoutParams lp = new LayoutParams(-1,-1);
addView(lable, lp);
setNum(0);
}
private int num = 0;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
lable.setText(num+"");
}
public boolean equals(Card o) {
return getNum()==o.getNum();
}
}
package com.x.game2048;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.GridView;
public class GameView extends GridView {
public GameView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initGameview();
}
public GameView(Context context, AttributeSet attrs) {
super(context, attrs);
initGameview();
}
public GameView(Context context) {
super(context);
initGameview();
}
private void initGameview(){
setOnTouchListener(new View.OnTouchListener() {
private float startX, startY,offsetX,offsetY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = event.getX();
startY = event.getY();
break;
case MotionEvent.ACTION_UP:
offsetX = event.getX()-startX;
offsetY = event.getY()-startY;
if(Math.abs(offsetX)>Math.abs(offsetY)){
if(offsetX<-5){
swipeLeft();
}else if (offsetX>5) {
swipeRight();
}
}else {
if(offsetY<-5){
swipeUp();
}else if (offsetY>5) {
swipeDown();
}
}
break;
}
return true;
}
});
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
int cardWidth = (Math.min(w, h)-10)/4;
addCard(cardWidth, cardWidth);
}
private void addCard( int cardWidth, int cardHeight){
Card c;
for (int y = 0; y < 4; y++) {
for (int x = 0; x < 4; x++) {
c= new Card(getContext());
c.setNum(2);
addView(c, cardWidth, cardHeight);
}
}
}
private void swipeLeft(){
}
private void swipeRight(){
}
private void swipeUp(){
}
private void swipeDown(){}
}