77范文网 - 专业文章范例文档资料分享平台

专科毕业设计模板- 副本1 - 图文(6)

来源:网络收集 时间:2019-03-04 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

青岛滨海学院毕业设计 绪论

public class ShuDuSuanFa{ int[][] n = new int[9][9];//存储数字的数组

int[] num = {1,2,3,4,5,6,7,8,9};//生成随机数字的源数组,随机数字从该数组中产生 public boolean checkLine(int col){// 检查列是否符合要求 for(int j = 0;j < 8;j++){ if(n[j][col] == 0){ continue; } for(int k =j + 1;k< 9;k++){ if(n[j][col] == n[k][col]){ return false;} } } return true; } public boolean checkNine(int row,int col){//检查3X3区域是否符合要求 int j = row/3*3;//获得左上角的坐标 int k = col/3*3; for(int i = 0;i < 8;i++){//循环比较 if(n[j + i/3][k + i % 3] == 0){ continue; } for(int m = i+ 1;m < 9;m++){ if(n[j + i/3][k + i % 3] == n[j + m/3][k + m % 3]){ return false }}} return true; }

public boolean checkRow(int row){//检查行是否符合要求 for(int j = 0;j < 8;j++){ if(n[row][j] == 0){ continue; } for(int k =j + 1;k < 9;k++){ if(n[row][j] == n[row][k]){

21

青岛滨海学院毕业设计 绪论

return false;}} } return true; } public int generateNum(int row,int col,int time){//产生1-9之间的随机数字 if(time == 0){//第一次尝试时,初始化随机数字源数组 for(int i = 0;i < 9;i++){ num[i] = i + 1; }} //第10次填充,表明该位置已经卡住,则返回0,由主程序处理退回 if(time == 9){ return 0;} //不是第一次填充 //生成随机数字,该数字是数组的下标,取数组num中该下标对应的数字为随机数字 int ranNum = (int)(Math.random()*(9-time)); //把数字放置在数组倒数第time个位置, int temp = num[8 - ranNum]; num[8 - ranNum] = num[ranNum]; num[ranNum] = temp; return num[8 - ranNum]; } public int[][] getShuDu(){//生成数字 for(int i = 0;i < 9;i++){ int time = 0;//尝试填充的数字次数 for(int j = 0;j < 9;j++){//填充数字 n[i][j] = generateNum(i,j,time); //如果返回值为0,则代表卡住,退回处理 if(n[i][j] == 0){ if(j > 0){//不是第一列,则倒退一列 j-=2; continue; }else{//是第一列,则倒退到上一行的最后一列 i--; j = 8; continue; } } if(isCorret(i,j)){//成功 time = 0; }else{ time++; j--; } } } return n; } public boolean isCorret(int row,int col){//是否满足行、列和九宫区域不重复的要求

return (checkRow(row)&checkLine(col)&checkNine(row,col)); }

}

4.3.3.5当用户单击“开始”菜单时,将进入帮助界面,菜单按钮时,新界面进入。游戏开始:此界面含有暂停、提示、换题、放弃。

22

青岛滨海学院毕业设计 绪论

图 游戏开始

public class GameView extends SurfaceView implements SurfaceHolder.Callback{ KLSDActivity activity;//activity的引用 int alpha = 100;//透明度 float span = (float) 1;//难度(1-10) int status = 0 ; //0游戏中,1暂停中, 2游戏胜利, 3游戏失败 int time=0;//时间 boolean tishi;//是否提示 Bitmap background;//大背景

Bitmap small_backgroud;//背景方格 Bitmap stop;//暂停按钮 Bitmap change;//换题按钮 Bitmap drop;//放弃按钮 Bitmap help;//提示按钮 Bitmap go_on;//暂停图像

Bitmap keyDown;//选中后单元格样式 Bitmap win;//胜利 Bitmap fail;//失败

Bitmap select;//选中的单元格

23

青岛滨海学院毕业设计 绪论

Bitmap timeBitmap;//时间中间的冒号 Bitmap heart;//有提示时候画的 Bitmap exit;//是否退出图片

Bitmap key_background;//数字按键背景 Bitmap key_bitmap;//小数字键盘

Bitmap[] number_bitmap = new Bitmap[10];//默认的数字图片 Bitmap[] number_input = new Bitmap[10];//输入的数字图片 Bitmap[] time_bitmap = new Bitmap[10];//时间 Paint paint;

boolean drawkey = false;

int[][] num;//用来装生成的数字即正确答案 int[][] inputNum;//用来存放输入的数字 int[][] outputNum;//用来存放系统的数字

float scale = (float) 0.8;//数字键盘上数字缩放的比例

Bitmap[] small_number;int r = 39;//数字键盘小圆圈的半径 int keyx;int keyy;//数字键盘的位置

int downx;int downy;ShuDuSuanFa sdsf;//生成数独的算法类 TimeThread tt;//时间线程

GameViewDrawThread gameViewDrawThread;public GameView(KLSDActivity activity) {super(activity);this.activity = activity;getHolder().addCallback(this);//添加Callback接口的实现 init();

gameViewDrawThread = new GameViewDrawThread(this); } public void init(){ paint = new Paint();//初始化画笔 background = BitmapFactory.decodeResource(getResources(), R.drawable.background); //初始化背景小方格图元 small_backgroud= BitmapFactory.decodeResource(getResources(), R.drawable.small_background); //初始化下面的四个按钮 stop = BitmapFactory.decodeResource(getResources(), R.drawable.stop1);//停止 change = BitmapFactory.decodeResource(getResources(), R.drawable.change1);//换题 drop = BitmapFactory.decodeResource(getResources(), R.drawable.drop1);//放弃 help = BitmapFactory.decodeResource(getResources(), R.drawable.help1);//提示 key_background = BitmapFactory.decodeResource(getResources(), R.drawable.key_background);

4.3.3.6当用户单击“暂停”菜单时,就进入“暂停中”。。。。。

24

青岛滨海学院毕业设计 绪论

KLSDActivity activity;//activity的引用

WelcomeViewDrawThread welcomeViewDrawThread;//刷帧线程 WelcomeViewGoThread welcomeViewGoThread;//动画生成线程

int[] bitmapsID = new int[]{//图片ID

Bitmap[] bitmaps;//图片数组

Bitmap[] menuBitmap = new Bitmap[4]; int drawIndex = 0;//当前绘制第几帧

boolean drawString = false;//是否绘制文字 int status = 0;//0欢迎状态,1菜单状态

Paint paint;//画笔 Paint paint2;

public WelcomeView(KLSDActivity activity) {//构造器

super(activity);

this.activity = activity;//得到activity的引用

getHolder().addCallback(this);//添加Callback接口的实现

initBitmap();//调用初始化方法

welcomeViewDrawThread = new WelcomeViewDrawThread(this);

25

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库专科毕业设计模板- 副本1 - 图文(6)在线全文阅读。

专科毕业设计模板- 副本1 - 图文(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/496137.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: