安卓小游戏编程攻略?求一个安卓开发小游戏源代码,临时交作业用
资讯攻略 2023-10-29 10:39:01 38
其实安卓小游戏编程攻略的问题并不复杂,但是又很多的朋友都不太了解求一个安卓开发小游戏源代码,临时交作业用,因此呢,今天小编就来为大家分享安卓小游戏编程攻略的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
求一个安卓开发小游戏源代码,临时交作业用
package com.fiveChess;
import android.app.Activity;
import android.os.Bundle;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import android.view.WindowManager;
public class MainActivity extends Activity{
GameView gameView= null;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
Display display= this.getWindowManager().getDefaultDisplay();
gameView= new GameView(this,display.getWidth(),display.getHeight());
setContentView(gameView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
menu.add("重新开始").setIcon(android.R.drawable.ic_menu_myplaces);
menu.add("退出");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
if(item.getTitle().equals("重新开始")){
gameView.canPlay= true;
gameView.chess= new int[gameView.row][gameView.col];
gameView.invalidate();
}else if(item.getTitle().equals("退出")){
finish();
}
return super.onOptionsItemSelected(item);
}
}
package com.fiveChess;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.view.MotionEvent;
import android.view.View;
public class GameView extends View{
Context context= null;
int screenWidth,screenHeight;
String message="";//提示轮到哪个玩家
int row,col;//划线的行数和列数
int stepLength= 30;//棋盘每格间距
int[][] chess= null;//0代表没有棋子,1代表是黑棋,2代表白旗
boolean isBlack= true;
boolean canPlay= true;
public GameView(Context context,int screenWidth,int screenHeight){
super(context);
this.context= context;
this.screenWidth= screenWidth;
this.screenHeight= screenHeight;
this.message="黑棋先行";
row=(screenHeight-50)/stepLength+1;
col=(screenWidth-10)/stepLength+1;
chess= new int[row][col];
}
@Override
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
Paint paint= new Paint();
paint.setColor(Color.WHITE);
canvas.drawRect(0, 0, screenWidth, screenHeight, paint);//画背景
paint.setColor(Color.BLUE);
paint.setTextSize(25);
canvas.drawText(message,(screenWidth-100)/2, 30, paint);//画最顶层的字
paint.setColor(Color.BLACK);
//画棋盘
for(int i=0;i<row;i++){
canvas.drawLine(10, 50+i*stepLength, 10+(col-1)*stepLength, 50+i*stepLength, paint);
}
for(int i=0;i<col;i++){
canvas.drawLine(10+i*stepLength,50,10+i*stepLength,50+(row-1)*stepLength, paint);
}
for(int r=0;r<row;r++){
for(int c=0;c<col;c++){
if(chess[r][c]== 1){
paint.setColor(Color.BLACK);
paint.setStyle(Style.FILL);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);
}else if(chess[r][c]== 2){
//画白棋
paint.setColor(Color.WHITE);
paint.setStyle(Style.FILL);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);
paint.setColor(Color.BLACK);
paint.setStyle(Style.STROKE);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);
}
}
}
}
@Override
public boolean onTouchEvent(MotionEvent event){
if(!canPlay){return false;}
float x= event.getX();
float y= event.getY();
int r= Math.round((y-50)/stepLength);
int c= Math.round((x-10)/stepLength);
if(r<0|| r>row-1|| c<0|| c>col-1){return false;}
if(chess[r][c]!=0){return false;}//若有棋子则不再画棋子了
if(isBlack){
chess[r][c]= 1;
isBlack= false;
message="轮到白棋";
}else{
chess[r][c]= 2;
isBlack= true;
message="轮到黑棋";
}
invalidate();
if(judge(r, c,0,1)) return false;
if(judge(r, c,1,0)) return false;
if(judge(r, c,1,1)) return false;
if(judge(r, c,1,-1)) return false;
return super.onTouchEvent(event);
}
private boolean judge(int r, int c,int x,int y){//r,c表示行和列,x表示在y方向上的偏移,y表示在x方向上的偏移
int count= 1;
int a= r;
int b= c;
while(r>=0&& r<row&& c>=0&& c<col&& r+x>=0&& r+x<row&& c+y>=0&& c+y<col&& chess[r][c]== chess[r+x][c+y]){
count++;
if(y>0){
c++;
}else if(y<0){
c--;
}
if(x>0){
r++;
}else if(x<0){
r--;
}
}
while(a>=0&& a<row&& b>=0&& b<col&& a-x>=0&& a-x<row&& b-y>=0&& b-y<col&& chess[a][b]== chess[a-x][b-y]){
count++;
if(y>0){
b--;
}else if(y<0){
b++;
}
if(x>0){
a--;
}else if(x<0){
a++;
}
}
if(count>=5){
String str="";
if(isBlack){
str="白棋胜利";
}else{
str="黑棋胜利";
}
new AlertDialog.Builder(context).setTitle("游戏结束").setMessage(str).setPositiveButton("重新开始", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which){
chess= new int[row][col];
invalidate();
}
}).setNegativeButton("观看棋局", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which){
canPlay= false;
}
}).show();
return true;
}
return false;
}
}
PS:五子棋,无需图片,直接在程序里画出来的。注意我发的是两个文件,一个activity,一个类文件,别把它当成一个文件了
华为手机怎么打开安卓内置的游戏
华为手机的安卓内置游戏,打开的方法如下:
1、打开华为手机,在手机桌面上找到“设置”,点击打开,如下图所示。
2、点击“设置”后,会来到“设置”的界面,找到“关于手机”,点击,如下图所示。
3、打开“关于手机”的界面,里面有很多关于介绍手机的一些基本情况的信息,找到“Andirod版本”这个选项,快速连续点击几次。
4、连续点击“Andirod版本”后,手机屏幕会出现一个小球,小球的颜色有可能是绿、粉、紫、橙、黄、棕六种中其中的一种,再连续点击小球,就可以进入安卓系统的内置游戏的开始界面了。
5、进入到游戏界面后,直接点击图下的三角型符号,就可以游戏了。安卓的这款内置游戏虽然看着很简单,但操作难度还是挺高的。
求一款安卓休闲游戏 一个游戏里面包含有很多小游戏
为玩家推荐几款有趣、好玩、有特色的手机游戏,帮助大家找到最适合的游戏,今天风林手游带来平台的人气福利手游排行,还有优惠券和礼包码可以领取哦,值得长期玩的手游以下几款哦。
1.崛起:终极王者(送神医华佗)网页链接登录兑换送SS级神将华佗、6888元宝、100万金币。
《崛起:终极王者》是一款三国题材3D即时动作卡牌手游大作,精美画面,高还原度场景,3D建模,让你身临其境感受真三国!3D即时动作卡牌,风骚走位、技能打断、风雷水火合体技,绚丽特效,大招秒杀,超强打击快感,挑战极限操作;独创全阵营武将培养,武将的多维成长所有武将可持续培养(没有废将);丰富日常玩法,多种日常竞技挑战,紧张刺激(BOSS战)、快速养成角色(过关斩将)、全服混战PK(国王争夺战)、王城争夺成王败寇(阵营战),下载崛起终极王者让你体验到不一样的新鲜玩法,绝不枯燥!
2.傲世飞仙网页链接
缥缈仙境浩瀚无边,众仙云集傲世九天,全新放置类仙侠国战手游《傲世飞仙》强势登场。千人同屏激情国战,挂机历练轻松升级,萌宠圣兽并肩作战,精彩活动玩个不停,海量BOSS等你来战!
3.自由之刃网页链接
风林手游自由之刃三职业,高爆率,满攻速经典1.76魂环版最新上线。做任务就可以免费升级VIP,绝对良心的版本哦。地图随便进,无限制,装备合成装备回收,灵符打怪可白嫖,冲灵符永久十倍返利,小怪爆终极装备,拼的就是运气。
职业推荐玩道士,道士的治疗术和施毒术是真的强,有治疗术扛不住的BOSS变得能抗住了,施毒术还能增加怪物受到百分比的伤害,召唤月灵伤害爆炸。
游戏魂环解锁需要充值,推荐大家进游冲76元解锁打金卡和自动回收功能,再冲198可以解锁一键拾取,打金刷元宝灵符更轻松。第二天记得冲个30的月卡,其他可以靠游唯凳枯戏内所有怪可爆回收灵符的特殊道具,只要你够肝,不充钱也能解锁游戏内所有功能道具,适合长期玩。
4.天书奇谈(GM科技刷充)网页链接
新的回合,新的十年!虎年全新经典回合制手游《天书奇谈-GM科技刷充》震撼来袭,正版授权改编,超多人超好玩的回合制,绚丽画面,为8000万书迷带来原汁原味的天书世界。GM内置科技免费激活大量内购商品,充值随心刷。开局充个12元的解锁战斗加速,有条件再冲个88解锁神级GM功能,本版本可以长期玩,每天都有100GM额度可以免费拿。全民梦幻开局,共同体验属于回合的趣味!
5.西游伏魔记网页链接
《西游伏魔记》定位于玄幻题材的概念范畴,借此讲述神秘少年为了解开自己的身世之谜,一路历尽凶险,招募武将、拯救三界众生的故事。是一款回合制放置类卡牌手机游戏。佛域阵容推荐:不动明王、萨提老祖、济公、普贤菩萨、欢喜罗汉、地藏菩萨妖族阵容推荐:羊力大仙、黑熊精、铁扇公主、孙悟空、通风大圣、红孩儿冥府阵容推荐:判官、灵感大王、黑白无常、阎罗王白娘子、黄风怪仙府阵容推荐:六臂哪吒、镇远大仙、火灵圣母、阎太师、龙王三太子
6.美杜莎传奇(超变高爆)网页链接
进新服可以先购买赞助大礼包和连冲奖励,可以获得神宠分身技能和永久的攻速BUFF,尽早升级神宠等级,提升打怪效率,神宠技能购买攻速,石化和分身技能,刷怪效率能提升一个档次,获得装备可以挑战稀有BOSS。战币优先提升官职系统,可以提升装备掉落概率。钻石用于寻宝有概率获得其他系统装备,激活黄金特权可以开启背包的自动回收功能,增加挂机收益。每日红包福利,也可免费到贵族哦,多打一些星级BOSS,有几率出高阶装备。
7.幻世九歌网页链接
小团团、呆妹儿、小杨哥力荐,《幻世九歌》是一款九宠助战东方仙幻大世界MMORPG手游。你将化身“御灵师”,自由畅享入海飞天,感受各式新潮国韵美景带来的视觉盛宴!与诸多山海战灵缔结羁绊,一人可携带九战灵即时跟随助战,感受众灵随行,轻松躺赢的爽快体验!四大职业团战争雄,技能策略搭配,决战纷争幻世!更有次世代高自由度捏脸系统,打造个人专属的盛世美颜,雕琢百态人生,一展千面风华!
8.新一刀传世网页链接
一刀传世h5是一款集MMO与RPG为一体的全新传奇游戏,游戏拥有五分身玩法、VIP全部免费,游戏前期跟着主线任务完成v1到v12的主线任务,新手一定要注意前期送的半小时小精灵,争取30分钟将效益最大化,建议打完第一个vipBOSS,充值6元首冲,后打完第二个VIPboss,再打经验副本。阵容问题,推荐主符咒,符咒几乎每个玩家必备的技能角色,技能伤害回复百分百,新手时选择召唤,在开启第二职业时会送免费技能更换,然后把召唤洗了,更换符咒。而第二角色选择性相比主职业选择性大了很多,火法,支援,爆战,敏捷均可。后期开启五角色,就要注意阵容搭配了,阵容中最好有冰法控制,以及支援的回血自己复活,若阵容太脆的话,可以补一位盾战,分摊伤害自己嘲讽等。资源方面主推主号,所有资源只培养一个角色,时装,传世。雷霆,神翼,神盾,内功等,阵容问题没有太大强弱之分,大家都有自已对游戏的理解,各职业间都存在克制问题,人民币玩家堆爆战,火法。敏捷,平民玩家可以符咒,敏捷,一样可以越级挑战。
9.镇魂街:武神躯(GM科技刷充)网页链接
开局跟主线走,领取创角礼包后,用赠送的额度充100,拿到SP曹焱兵,然后推关,推关获得的额度再激活三档无限资源,然后获得资源后,再推关激活基金,然后灵玉拿去抽奖,打金塔是必须要推的,可以获得魂玉,推关也可以获得镇魂券,可以用来充魂玉,主要以养UR卡为主,小R玩家的话可以养养SP卡,GM卡的话如果你觉得你够肝你也可以养,GM卡纯粹靠肝出来的。
以上就是风林手游平台(14294.com)排行上的一些值得畅玩手游了,记得领取优惠券和礼包码哦
OK,本文到此结束,希望对大家有所帮助。
相关推荐
暂无记录
