Android 2048游戏源代码(Java)下载
2015-03-09 10:16:41  By: shinyuu

java仿2048游戏实例源码、网上看到的、觉得不错上传出来、供大家一起共同分享学习、主要实现了2048游戏的实现方式、滑动累加数字并出来新的数字、大家可以下载源代码研究研究、运行效果如下

2048游戏源代码


initGameView代码

private void initGameView(){
	setColumnCount(4);
	setBackgroundColor(0xffbbada0);
	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) {
						swipeRight();
					} else if (offsetX < -5) {
						swipeLeft();
					}
				} else {
					if (offsetY > 5) {
						swipeDown();
					} else if (offsetY < -5) {
						swipeUp();
					}
				}
				break;
			default:
				break;
			}
			return true;
		}
	});
}


onCreate代码

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	
	root=(LinearLayout) findViewById(R.id.container);
	root.setBackgroundColor(0xfffaf8ef);
	
	tvScore=(TextView) findViewById(R.id.tvScore);
	tvBestScore=(TextView) findViewById(R.id.tvBestScore);
	
	gameView=(GameView) findViewById(R.id.gameView);
	
	animlayer=(AnimLayer) findViewById(R.id.animlayer);
	
	btnRestartGame=(Button) findViewById(R.id.btnNewGame);
	btnRestartGame.setOnClickListener(new View.OnClickListener() {
		
		@Override
		public void onClick(View arg0) {
			gameView.startGame();
		}
	});
}


getRandomNum代码

private void getRandomNum(){
	emptyPoint.clear();
	for (int y = 0; y < 4; y  ) {
		for (int x = 0; x < 4; x  ) {
			if(cardsMap[x][y].getNum()<=0){
				emptyPoint.add(new Point(x,y));
			}
		}
	}
	if(emptyPoint.size()>0){
		Point p=emptyPoint.remove((int)(Math.
			random()*emptyPoint.size()));
		cardsMap[p.x][p.y].setNum(Math.random()>0.1?2:4);
		
		MainActivity.getMainActivity()
			.getAnimLayer()
			.creatScaleTo1(cardsMap[p.x][p.y]);
	}
}


源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1nt9Q1nj 密码: tjb2

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+