5 Simple-Soft

尚未进行身份认证

计算机操作系统,内核,云计算,虚拟化,数据保护

等级
TA的排名 4w+

Android华容道之一步一步实现-8-开始游戏

开始游戏指的是开始打乱图片顺序。效果图如下:先说产生随机数,利用随机数产生一个[0-14]的整数,代码如下:private void init_num_arr() { for (int i = 0; i < 16; i++) { num_arr[i] = -1; } num_arr[15] ...

2019-04-19 08:03:25

Android华容道之一步一步实现-7-重构代码

是时候做一点代码的重构了,毕竟已经是一个可运行的版本了,并且顺带做一点点美化的工作,先看效果图,重构和美化完之后的版本效果图。重构第一部分如果是数字版,不再使用带有数字的图片,而是使用动态创建数字图片的方式。并在图片上绘制数字,代码如下:private void draw_text(Bitmap bitmap, String text) { int...

2019-04-18 09:03:58

Android华容道之一步一步实现-6-还原状态检测

再次说明一下,我们的华容道的最终版本是图像华容道,不是纯数字的华容道,难度当然要比纯数字版的华容道大多了,因为在玩的时候要记住整福图像以及被切分后,每一张小图片应该在什么位置,如果是一幅您不熟悉的图片的话,是很考察观察力和记忆力的。但是无论是图片版也好,数字版也好,我们实现的本质都是一样的。我们先说数字版的华容道怎么判断已经还原。还原状态也就是初始状态,1234,5678,9 10 1...

2019-04-17 09:11:12

Android华容道之一步一步实现-5-图像块移动算法实现

首先祝贺一下,完成这一步,0.1版的图像华容道就实现了,就是能够自己可以自由玩耍了。不要着急一次成型,要使用Agile的思想,每天一次更新,但是每天都是可用的,一个可用的软件比别的都重要。优化啊,界面啊,性能啊,重构啊,别急,慢慢来。在上一篇文章中提到了具体的算法思想,这次就是具体的实现,主要就这个一个函数,根据手指触摸的位置来对所有的图像块进行重新排序,但是实际上每次最多三块图像的位...

2019-04-17 08:20:33

Android华容道之一步一步实现-4-图像块移动算法

下一个关键点就是图像块的移动,以如图为例。假设空格处于第二行第三格,那么此时只有触摸第二行以及第三列的图像块的时候才需要移动图像块,因为别的图像块不能移动。当触摸发生在合法的图像块的时候,即上面图中的十字交叉黑线区域,则有四种情况出现,即移动图像块有四种可能,向上,向下,向左,向右。比如手指触摸在7号图像块,这7号图像块只能向左移动,别的图像块都不用移动。再比如手指触摸在...

2019-04-16 10:15:05

Android华容道之一步一步实现-3 -手指触摸处理

华容道关键点之一出现了,就是处理触摸,包括手指按下,抬起,移动等。自己实现一个处理触摸的类,然后处理onTouchEvent(MotionEvent event)事件,在这里处理手指按下,抬起,移动事件。代码为:这里的效果是手指触摸一下,16块小图像依次交换package com.example.szhrd;import android.R.bool;im...

2019-04-16 09:45:36

Android华容道之一步一步实现-2-图片分割

因为华容道是16个格子,所以要把一张大一点的图片分割成16个相等的小图片。可以使用Bitmap.createBitmap方法来进行。直接上代码ori_bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.koala);原始图片下面对原始图片进行切分,分为16张 ori_bitmap = ...

2019-04-15 21:36:30

Android华容道之一步一步实现-序言

女儿看了最强大脑的数字华容道节目之后,就缠着要玩数字华容道,买了实物版,玩了几天,感觉好像还没有过瘾,就让我做个手机版的数字华容道游戏。说明一下,最终要实现的版本并不是最强大脑那种数字版的华容道,而是图像版的华容道,也就是说要比数字华容道的难度大多了,玩的时候不但要记住整福图像,而且要记住每一个小图像块的位置才能还原,不但需要很强的观察力,也需要很强的记忆力,因为这不是拼图游戏。虽然是久经...

2019-04-15 09:18:34

Ubuntu迁移/boot卷

默认/boot卷总是不是太大,总是有很多理由需要/boot卷很大,说重点,如何在不重新装机的情况下迁移到另外一个空间很大的卷上。步骤:(亲测有效)假设有一个卷/dev/sdc1,并且空间足够1.拷贝/boot里面的所有东西到一个临时目录,比如叫/tmp/boot2.umount /boot3.mount /dev/sdc1 /boot4.拷贝/tmp/boot里面的所有文件...

2019-04-05 19:11:16

Linux error number

errno.00 is: Successerrno.01 is: Operation not permittederrno.02 is: No such file or directoryerrno.03 is: No such processerrno.04 is: Interrupted system callerrno.05 is: Input/output errorerrno...

2019-01-08 14:16:08

那些年,程序员读错的英语

         那些年,中国IT工程师读错的英语 Top 10  错误读音 正确读音 错误流行度 putty [ˈpuːti] [ˈpʌti] ★★★★★ ubuntu [juː'bʊntʊ] [ʊ'bʊntʊ] ★★★★★ git [dʒɪt] [ɡɪt] ★★★★★ height [h...

2018-11-09 17:28:17

ubuntu如何升级?

just do it:do-release-upgrade

2018-11-09 16:07:42

你知道你的程序到底能使用多少内存吗?

作为一个程序员,好像这个问题不用回答似的,如果是32位程序,最多能使用2G内存。如果是64位程序,那就多了去了。我们以32位程序作为说明对象。有时候,用C++写的一个程序,通过task manager来查看,自己的程序明明只有使用了几百M内存,为什么还会分配内存 失败呢?如下图所示:明明这个程序只使用了不到200M内存,但是实际这个程序到底占用了多少内存呢?请看下图...

2018-11-08 15:17:43

数据备份,数据保护中的稳定点(in-consistent, crash-consistent, application-consistent)

什么是数据保护的稳定点?比如平时我们用copy命令或者在资源管理器中进行文件拷贝,如果拷贝的文件是正在变化修改的,那么我们拷贝出来的文件就是一个不稳定的状态,可以称之为in-consistent。为什么说是不稳定的呢?比如说我们要拷贝一个目录下的所有文件,假设这些文件都在被改变,那么我们用copy命令拷贝出来的这些文件的时间戳会是不一样的,copy命令只管拷贝。那么怎样才能做到一个稳定点呢...

2018-10-23 10:28:16

如何统统扩充loop设备的size(linux loop resize2fs)

我们知道,在Linux系统中,可以使用一个文件作为一个磁盘,并且可以对这个文件进行格式化,mount等操作,就完全像一个真正的磁盘一样。下面来使用一个文件制作loop设备,并且mount起来,在其空间不够的时候在进行online扩展空间。步骤:1.创建一个文件,大小为2G。dd if=/dev/zero of=loop.dat bs=1M count=20482.对loop.d...

2018-10-06 16:55:27

git提交指定文件

如果修改了多个文件,但是只想提交其中部分文件如何提交呢?我们知道提交的时候一般常用两种方式,一是gitcommit-a这种方式提交的时候不需要执行gitadd操作,自动就把所有修改的文件提交了。另外一种方式就是gitcommit-m这种方式只会提交你用gitadd的文件,所以你想提交那些文件,就调用一下gitadd,然后gitcommit-m ...

2018-09-28 09:53:16

NTSTATUS Values

By combining the NTSTATUS into a single 32-bit numbering space, the following NTSTATUS values are defined. Most values also have a defined default message that can be used to map the value to a human-...

2018-09-12 14:27:52

NTSTATUS

Values are 32 bit and are laid out as follows. The following diagram is independent of endianness; that is, the diagram is shown in host byte order and merely shows the layout of the numbering space....

2018-09-12 14:26:20

Linux dmesg显示可读时间方式

直接用dmesg显示系统信息,很难看[95721.670025]snapshotdevicerecevied[read]iorequest,accessondevsector[272],lengthis[240]sectors.[95721.670363]deviceisclosed[95721.693207]deviceisclosed显示的时间...

2018-08-31 18:02:58

BIO bi_sector submit_bio make_request_fn

BIO结构中有一个很重要的字段叫做bi_sector,在高版本中这个字段已经叫bi_iter.bi_sector了,这个不是重点,重点是下面要说的。当读写一个block device的时候,会提交一个bio数据结构给make_request_fn,那么这个bio结构中的bi_sector到底表示什么意思呢?在bio.h中有这么一行注释sector_t        bi_sector;...

2018-08-31 10:54:43

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。