自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 资源 (31)
  • 收藏
  • 关注

原创 遍历列举俄罗斯方块的所有形状

以前玩俄罗斯方块的时候,就想过一个问题,为什么俄罗斯方块就这7种形状,还有没有别的形状?从程序员的角度,这其实是一个遍历穷举的过程。对于3个块的组合,考虑所有可能性,就是在3x3的一个区域里面,任意取点。然后添加一些限制条件:1,块内点位不重复;2,每个点都至少需要有一个相邻点;3,检查点的连通性;4,平移不重复;5,旋转不重复;

2024-04-13 22:07:10 669 1

原创 俄罗斯方块TC版移植VC

以前在TC上编写了一个小游戏--俄罗斯方块(参见以前的文章:),现在想试玩一下,现在我的电脑是win10系统,发现TC完全运行不起来了。TC.exe运行不起来,报错:不支持的16位应用程序:与64位版本的windows不兼容。可是,我还是想让它能跑起来。上网查了一下,发现并不能简单的移植,还是需要做一些工作的。下面记录一下我将这个小游戏移植到VS2019中的经历。

2023-02-05 21:37:38 674 2

原创 python人脸识别demo

现在人脸识别功能已经很成熟了,就想做个好玩的小功能:只要某人来到摄像头前,就播放语音:某某某,你好!分解一下实现步骤,大概就是:摄像头采集图像,然后运行人脸识别算法,识别出人脸特征,进行人脸比对,并进行语音提示。再说一下编程语言的选取,目前做人工智能的,用python的最多,就用它了。具体实现的时候,大体分为下面几部分:1,找一个人脸识别库,运行起来;2,添加人脸图片;3,使用摄像头获取图像;4,文字转换为音频文件;5,播放音频文件;6,人脸与音频播放关联起来;7,循环执行。

2022-07-17 18:52:25 985 2

原创 Win10中用VS2019编译live555

说明,本文是在Win10中用VS2019编译live555的过程中,对遇到的问题进行说明。编译过程主要参考的是下面一篇文章,在此表示感谢:《Windows10系统中用VS2019编译live555》https://blog.csdn.net/m0_37360684/article/details/90109110由于每个人的电脑上已安装软件、下载的软件源码版本、安装步骤选择等会有所差异,所以遇到的问题也有所不同,本文重点要说明的是本人在编译live555过程中的差异部分。

2022-02-03 13:39:58 2611

原创 基于STM32F103,用蜂鸣器播放歌曲

基于STM32F103,用蜂鸣器播放歌曲本文的内容,分为下面几部分:1,参考网上例程;2,移植,运行,查看,尽力理解代码;3,调整测试参数;4,添加一首歌曲。 下面详细描述一下过程:一,参考网上例程主要参考的是这一篇《使用STM32F103控制蜂鸣器发声播放音乐》,地址如下:https://blog.csdn.net/qq_36355662/article/details/80606753看起来代码比较简洁,就两个文件,就开始移植到自己的板子上。二,......

2021-01-17 18:12:10 39073 15

原创 基于STM32F030的ADC功能实现

在网上看到的关于stm32的adc功能的例程,大多数是stmf103的,基于stm32f030的相当少。而我就是用stm32f030,在开发过程中,颇为遇到一些坑,所以总结一下。本文关于ADC的内容,分为下面几部分:1,ADC的初始化;2,读取ADC值;3,ADC值的解析;先简单介绍下开发环境,芯片类型是stm32F030C8,集成开发环境用的是Keil5 MDK-ARM,仿真器使...

2020-01-01 10:50:12 14158

原创 STM32-串口

STM32-串口总是靠点灯来判断执行的位置,是很不方便的,能表达的信息也太少了。所以,还是需要把串口调通,能打印出各种日志,调试起来多么方便啊!本文关于串口的内容,分为下面几部分:1,串口的初始化;2,串口的中断函数;3,串口输出函数;4,怎么使用printf函数;5,控制是否输出调试信息;6,使用串口时的注意点。先简单介绍下开发环境,芯片类型是stm32F030C8,集...

2019-07-28 17:30:38 410

原创 STM32-使用定时器做延时函数时遇到的坑

STM32-使用定时器做延时函数时遇到的坑做延时函数,可以使用简单的循环等待,如下面这样的:void Delay(uint32_t nCount) {     for(; nCount != 0; nCount--);}但是有个问题,就是这个nCount值怎么取?我们可以通过多次试验,来确定调用时使用的循环次数。但是还要考虑下,如果硬件有变化,例如外接晶振变化,或类似的主芯片...

2019-02-07 15:34:38 13703 8

原创 STM32-定时器

时间之河奔腾不息,子在川上曰:“逝者如斯夫,不舍昼夜。”我们使用各种方法来估量时间,具体到STM32,当然是少不了定时器!本文关于定时器的内容,分为下面几部分:1,定时器功能的实现(TIM1);2,定时间隔的计算公式;3,依赖的库文件;4,另一个定时器的实现(TIM14);先简单介绍下开发环境,芯片类型是stm32F030C8,集成开发环境用的是Keil5 MDK-ARM,仿真...

2018-12-09 10:48:45 2139

原创 STM32-仿真调试时的SystemInit陷阱

STM32-仿真调试时的SystemInit陷阱我在开始STM32的仿真调试时,遇到一个问题,就是调试时程序一直停在SystemInit()中的等待晶振中,怎么也出不来。SystemInit()前面部分的代码,都能走过,就是在执行到最后一个函数时出问题了。最后一个函数是:SetSysClock(); 执行到下面这个循环之后,出不来了:  /* Wait till HSE is re...

2018-10-21 16:31:43 12542 7

原创 STM32-基于汇编来分析延时

STM32-基于汇编来分析延时上一篇文章写了一个延时函数,是这样的:void Delay(uint32_t nCount) {     for(; nCount != 0; nCount--);}为了延时1秒,设置了一个值:1600000。为什么取这样一个值,这是我实测出来的一个值,是通过多次累计闪灯次数,对应电脑时间,计算出来的。看见这个值之后,我有一个推测:1.6M=8M...

2018-10-14 15:28:21 3839

原创 STM32-点灯程序

STM32-点灯程序最近学习使用STM32,做个记录吧。刚接触,就先从点灯程序开始。单片机的点灯程序,就相当于学语言的hello world程序了。先简单介绍下开发环境,芯片类型是STM32F030C8,集成开发环境用的是Keil5 MDK-ARM,仿真器使用JLINK。要点灯,先要确定接灯的引脚。我的板子上是PA0接的一个led灯。在程序中,就是GPIO_Pin_0了。为了扩...

2018-10-13 17:50:45 12823 1

原创 Android解决数据库注入漏洞风险

在app功能开发完成,提交应用市场时,竟然报高风险,有数据库注入漏洞!什么是数据库注入漏洞,又是怎么检测出来的,要怎样防止呢?SQL注入漏洞检测方式说明:主要就是检测,是否在query()中使用拼接字符串组成SQL语句的形式去查询数据库,此时容易发生SQL注入攻击。举一个例子:有一个输入用户名的EditText,我们在查询数据库的时候使用到了它,是这么使用的:String sql = "SELEC...

2018-04-06 10:35:57 7889

原创 Android中使用哈希表实现快速查找

最近遇到一个需求,有一个黑名单文件,数据量很大,有几万条数据,将来还有可能更大,需要实现快速查找,检查指定的名单是否存在于黑名单中。 涉及到快速查找,我想到了使用哈希表: 哈希表最适合的求解问题是查找与给定值相等的记录。 先了解哈希表的原理: 先简单理解: 1,先建立哈希表: 通过某种方式,对一条记录做计算,获得一个地址。 将该记录存放在该地址中。 如此循环,建立一个哈希表。 2,在查找时,对指...

2018-02-14 17:23:22 897

原创 珍惜时间,提高效率

最近在读几本时间与效率相关的书,心中触动较多,颇有醍醐灌顶之感,对人生的理解也为之一变,更觉时间之宝贵,叹此前不知荒废多少。然虽多遗憾,但新的人生亦从此开始。在此记录一下。

2018-01-01 13:12:43 1320 1

原创 解决快速索引栏挤压的问题

前段时间遇到快速索引栏被挤压的问题,就做了个demo来研究。先描述下问题,就是就是在一个联系人的界面中,布局中有列表,一个展示联系人,一个做为字母快速索引。现在的问题是,当在搜索框输入时,由于弹出软键盘,导致整体布局上移,从而出现快速索引栏被挤压,导致各字母互相重叠,界面乱了。如下图:布局文件是这样的:      android:orientat

2017-10-29 12:39:37 601

原创 仿联系人的排序

模仿做一个联系人的排序:1,参考网上部分人提供的方式,是按默认的字符顺序来排序2,对于汉字,转拼音,按字母排序3,要按中国人的习惯来,姓按拼音首字母分段,同一段内汉字优先4,不是第一个字符时,汉字在所有的字母之前5,排序:汉字、字母、数字、其他6,姓名前后的空格,要去掉7,怎么来比较所有字符 8,名字中间的空格,不能去掉

2017-08-20 11:29:54 1527 1

原创 ListView的item展开后完整显示

本文描述了使用ListView展示子项Item,子项里面包含多个内容,默认只显示主要信息,其他部分隐藏,在点击后展开。对于顶部或底部显示不全的Item,进行自动滑动展示完全。并对于子项中是否有按钮的两种情况,都进行了说明。

2017-05-21 15:48:56 4497

原创 Android root检测方法小结

出于安全原因,我们的应用程序不建议在已经root的设备上运行,所以需要检测是否设备已经root,以提示用户若继续使用会存在风险。那么root了会有什么风险呢,为什么不root就没有风险,又怎么来检查手机是否root了?我们先来了解下Android安全机制:Android安全架构是基于Linux多用户机制的访问控制。应用程序在默认的情况下不可以执行其他应用程序

2017-04-29 19:48:57 38696 12

原创 使用HttpsURLConnection的3种方法小结

最近遇到网络安全方面的问题,要将http转移到https,由于在工程中使用了HttpURLConnection,所以要相应的转而使用HttpsURLConnection,当然大部分是参考的网络上一些前辈们的成果,过程中也遇到了一些坑,在这里进行一下总结。由于https涉及到证书的认证方式,这里简单介绍一下: 关于证书,可以简单把它理解为网站的身份证。而给网站颁发身份证的就是CA(证书颁发机构)。

2017-04-16 13:37:33 26651

原创 Volley支持https的3种方法小结

最近遇到网络安全方面的问题,所以要使用https,由于在工程中使用了Volley,所以对Volley的https做了一些研究,当然大部分是参考的网络上一些前辈们的成果,自己进行一下总结。https涉及到证书的认证方式,我就按认证的类型来说明:1,全部信任证书; 2,信任指定证书; 3,信任系统提供的证书(CA颁发);

2017-04-08 20:15:26 8029 2

转载 最详细的 HTTPS 科普扫盲帖

为什么需要httpsHTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。用户登陆 –> 代理服务器(做手脚)–> 实际授权服务器在发送端对密码进行加密?没用的,虽然别人不

2017-04-08 13:17:12 800

原创 使用Fiddler模拟服务端返回

在Android开发过程中,经常会调整网络接口,这时就需要测试网络请求的正常、异常各种情况的处理。通常情况下,是跟服务器端来一起联调,然而,有些时候却不具备条件,或者由于服务器端还没有开发好,或者某些异常不好出现,这时候,如果能模拟服务器端的各种返回情况就好了。 Fiddler是一个http调试代理,它能够记录所有的经过它代理的http通讯数据,包括电脑上浏览器访问互联网,或者手机通过wifi代理上网的数据。

2017-04-03 18:35:18 8335

原创 搭建一个简单的服务器

做Android开发有一段时间了,经常与后台服务器进行交互,有时就会想,后台服务器到底是怎么工作的呢?我发出去一个http请求,他怎么接收到,又怎么进行处理、返回信息呢? 本文描述了搭建一个简单静态服务器的方法,以及使用servlet+tomcat搭建一个动态服务器的方法。

2017-03-19 17:21:43 23422 2

原创 Android中Http的Get与Post

网上已经有很多关于http的get与post的文章,不过,我还是将我的实现方式写了出来,主要的区别在于,我的调用函数,有几个优点: 1,做了一个工具类,集成到工程中比较方便; 2,可以直接调用,不需要new一个对象; 3,将返回数据的处理,转到调用者的handler中来处理。

2017-03-11 18:28:58 538

转载 浅谈HTTP中Get与Post的区别

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。  1

2017-03-04 16:44:40 413

原创 Eclipse转Android Studio-NDK开发

将一个jni的工程转到Android Studio:原来工程是在Eclipse的ndk环境下开发的,现在要转移到Android Studio中,本文描述了转换的过程。

2017-02-19 19:56:00 2006

原创 一次Android面试题

这是一次在qq群里,有群友拍照贴上来的Android面试题,有不少高手进行了部分解答,后来,我做了一次系统整理,当然某些部分也加了些自己的理解,有不同意见的同学,欢迎讨论。

2017-02-18 20:14:10 807

原创 一道java找错题

这里是一道java找错题,看看你能找到几个错:我首先在android环境下,做了个调用StringReplace类的例子,找到了几个错误:1,s 第一次使用时没有初始值 2,result 没有初始化 3,replace()函数,没有返回值 4,测试函数中,调用replace()函数时,需要先生成类的对象,才能调用。要不就改成static的。 5,replace()调用,缺一个参数

2017-02-11 17:17:03 1079

原创 使用 Java foreach 遇到的问题

本来以为使用foreach就和使用for循环是一样的效果,结果,却遇到了意料之外的事情。先来看一个例子:

2017-02-11 16:44:51 5390

原创 360助手上app下载地址

我们从360助手上下载app时,是搜索到app后,点击下载的。如果我需要从程序代码中直接下载app,此时,不能再有点击操作了,所以我们需要的是一个直接下载app的网址。怎么获取这个url呢?下面分两种情况介绍:1,这个app是我们自己提交上去的;2,不是我们自己提交的app;

2017-01-30 13:51:57 4169

原创 使用百度地图的点聚合功能

百度地图的demo中,是在MarkerClusterDemo.java中演示了点聚合功能,不过比较简单,不能满足实际应用的需求。在其基础功能之上,我做了如下改进:1,给标记点传递数据;2,实现聚合点的点击功能,点击后在地图上展开聚合点的内容;3,聚合的起始数目修改,支持2个点也能聚合;4,聚合的范围调整,避免聚合点图标的互相覆盖;5,实现地图状态变化的监听;

2017-01-15 10:55:40 10165 2

原创 百度地图demo(Android Studio)

近期使用百度地图,研究了一下百度地图的demo。一、首先是要申请百度地图开发账号申请地址: http://lbsyun.baidu.com/apiconsole/key 自己注册账号即可。二、然后是创建应用这时要做好两点准备: 1,确定好app的包名,例如我的就是”com.app.app_dev”; 2,准备好一个签名文件,例如我的就是 app_dev.keyStore,

2016-12-24 16:37:13 4321 1

原创 Android语音识别之模糊匹配

一、语音识别库的问题最近在做语音识别,使用了科大讯飞的语音识别库。 首先得说,这个识别率挺高的。 可是终究还是有时会出错,特别是一些易混音,例如sh s,l n等。 比如我说“年级”给识别成“联机”了,拼音没学好啊。可是,又有多少人敢说自己发音是完全标准的呢?有没有办法提升正确率呢?毕竟,这种问题,很多人都会遇到呀。 又继续研究了一下,原来,科大讯飞语音识别库已经有针对某些常用场景的,例如订

2016-12-11 18:47:48 7378 1

原创 Android软键盘遮挡问题解决

在开发登录界面时,在点击某个EditText准备输入时,弹出的软键盘遮挡了按钮或者下面的输入框,在完成这个文本框的输入后,想要继续下面的操作,需要先隐藏软键盘。这会影响用户操作的流畅感,所以需要解决。在尝试了网上的几种处理方法后,最终选择了一种比较满意的方式。下面先给一个图,来讲解下问题所在

2016-11-27 16:24:45 6279 4

原创 Eclipse转Android Studio遇到的问题小结

Android Studio在近期使用已经是如火如荼,并且Google也不再支持Eclipse了。我终于下定决心,从Eclipse转过来。但是,期间,也遇到不少问题,以及一些差异点,下面小结一下:1,安装Android Studio 2,关联模拟器 3,导入一个简单的eclipse工程 4,导入一个复杂的eclipse工程(有数十个Activity) 5,打包发布 6,几个常用快捷键

2016-11-24 20:44:49 5949 2

翻译 理解Volley的重传超时时间计算方法

Volley 的超时重传机制Volley提供了非常方便的超时请求重试策略。 RetryPolicy是一个重试策略的接口,可以实现这个接口来满足特殊的重试策略。对于超时时间,可以总结为这样一个公式:timeOut = time * power(1+ Back Off Multiplier , n);

2016-11-19 14:34:55 1554

原创 自定义View之WiperSwitch改进版

近日使用了一个滑动开关,使用的是xiaanming的WiperSwitch,确实是个好东西,很容易就移植到app中,果然是没有版本不兼容问题。 可是在使用过程中,发现有些小问题,然后进行了改进。改进有如下几点:1,支持控件的缩放; 2,解决有时开关会卡在中间的问题; 3,更换了图片;4,解决滑动冲突问题;5,onDraw 中不new;

2016-11-06 14:42:09 1022

原创 自定义View之文字游乐场(二)

四、射击(Shooting)在这四个项目中,射击是最复杂的一个。 我们来数算下其中涉及到的各个元素,先看下屏幕上可见的几个部分: 1,气球; 2,子弹; 3,炮台; 4,计时; 5,积分。 其实还有些看不见的工作,下面来详细说说

2016-10-07 20:53:07 928

原创 自定义View之文字游乐场(一)

最近看了Canvas画图中的Path,不由感叹其功能之强大,同时脑海中也产生了很多飞舞的线条,近日将其整理出来,最终归结到一个游乐场中的四个项目: 1,摩天轮 2,滑梯 3,冲浪 4,射击闲话少说,先上个图: 由于总体内容较多,下面只捡关键点进行说明

2016-10-05 20:05:23 1067

Android语音识别模糊匹配demo

一个语音识别模糊匹配的demo,主要工作流程如下: 1,将目标字符集转换为拼音; 2,获取科大讯飞语音识别的结果; 3,将识别结果转换为拼音; 4,在目标拼音集中进行拼音的匹配查找; 5,对于查找不到的,进行易混拼音的替换,再次与目标集合匹配查找; 6,对于还没有查找到的,去掉音调,再次与目标集合匹配查找; 7,将模糊匹配后的结果展现出来;

2016-12-11

Android软键盘遮挡问题解决

Android软键盘遮挡问题解决demo 在开发登录界面时,在点击某个EditText准备输入时,弹出的软键盘遮挡了按钮或者下面的输入框。在完成这个文本框的输入后,想要继续下面的操作,需要先隐藏软键盘。这会影响用户操作的流畅感,所以需要解决。在尝试了网上的几种处理方法后,最终选择了一种比较满意的方式。

2016-11-27

自定义View之WiperSwitch改进版

自定义View之WiperSwitch改进版:近日使用了一个滑动开关,使用的是网上一个大神的WiperSwitch,确实是个好东西,很容易就移植到app中,果然是没有版本不兼容问题。可是在使用过程中,发现有些小问题,然后进行了改进。改进有如下几点: 1,支持控件的缩放; 2,解决有时开关会卡在中间的问题; 3,更换了图片; 4,解决滑动冲突问题;

2016-11-06

自定义View之文字游乐场

一个完整工程,使用自定义View,模拟了游乐场中的四个项目: 1,摩天轮; 2,滑梯; 3,冲浪; 4,射击。

2016-10-05

自定义View之渐变色进度条

自定义View之渐变色进度条,比例美观,带文本进度值显示。可以指定前景色:分开始颜色与结束颜色,还有进度条背景颜色,字体颜色。

2016-09-11

自定义View之渐变色圆形进度条

一个完整的Eclipse Android工程,实现了一个渐变色圆形进度条,渐变色的颜色初值可以指定,进度条的值也是由用户来指定,本例中是使用定时器来推进的,每个进度条的进度控制不一致,颜色不一样,位置不一样,组合起来,效果很炫哦!

2016-09-06

自定义View之饼状图

Android自定义View之饼状图,有引用示例,是一个完整的eclipse工程。

2016-08-28

自定义饼状进度条

自定义饼状进度条,能够设定背景色、前景色,直径,动态设置进度值。 详细说明,见相关博客。

2016-08-21

Android自定义键盘之中文键盘demo

Android自定义键盘之中文键盘demo,演示了汉字键盘的实现方法。更详细描述见相关博客。

2016-07-16

UTF-16汉字编码表

UTF-16汉字编码表,txt格式的

2016-07-10

通过jni实现图像处理的demo

通过jni实现图像处理的demo:调用jni接口实现了图像的灰度化。 例程中也包含了支持多目录的Android.mk,支持汉字的传递,类的传递。更详细介绍,参见相关博客。

2016-07-02

android jni 中文字符传递demo

android jni 中文字符传递demo,实现了C语言与java端之间互相传递汉字的功能。例程开发环境为eclipse。详细说明,见相关博客。

2016-06-26

android jni 传递对象的demo

android jni 传递对象的demo,展示了如何在java与C之间传递对象。详细介绍见相关博客。

2016-06-25

Eclipse NDK 开发之 HelloWorld

Eclipse NDK 开发之 HelloWorld。 详细说明,见相关博客。

2016-06-21

Android极光推送之Hello World

Android极光推送之Hello World,最简化的极光推送例程。 更详细介绍,见相关博客。

2016-06-17

贪吃蛇、俄罗斯方块、汉诺塔游戏C源码及运行环境

贪吃蛇、俄罗斯方块、汉诺塔游戏C源码及运行环境: 3个文件3个游戏,分别是: BLOCK.C :俄罗斯方块 SNAKE.C:贪吃蛇 TA.C:汉诺塔 下载后,解压到C盘根目录下,双击运行TC快捷方式即可打开运行环境,加载C文件,然后ctrl+F9执行,就可以开始游戏了。

2013-05-31

SPI驱动初步分析

SPI接口技术是一种高速,高效的同步串行接口技术,因而SPI设备在数据通信中应用十分方便。设备驱动程序作为操作系统内核和硬件之间的接口,是嵌入式开发的重要组成部分。本文针对TI的davinci芯片DM6467和嵌入式Linux操作系统构建的开发平台,分析了DM6467的SPI接口特性,寄存器作用,以及初始化过程。并根据接口电路的连接特点说明了SPI设备驱动程序的基本开发方法。

2013-05-30

遍历列举俄罗斯方块的所有形状,基于qt实现的源码

用qt实现的,遍历列举俄罗斯方块的所有形状,更详细说明参见: https://blog.csdn.net/lintax/article/details/137721822?spm=1001.2014.3001.5501 简介: 以前玩俄罗斯方块的时候,就想过一个问题,为什么俄罗斯方块就这7种形状,还有没有别的形状? 从程序员的角度,这其实是一个遍历穷举的过程。 对于4个块的组合,考虑所有可能性,就是在4x4的一个区域里面,任意取点。 然后添加一些限制条件: 1,块内点位不重复; 2,每个点都至少需要有一个相邻点; 3,检查点的连通性; 4,平移不重复; 5,旋转不重复;

2024-04-14

贪吃蛇VS2019版本源码

贪吃蛇游戏,基于VS2019版本,C语言源码工程。 开发思路: 1,基础:你首先要能画出一个带颜色的方块。举一反三:可以画一个就可以画很多个了。 2,移动:一个方块消失,相邻地方一个方块出现,在视觉上就是移动了。 3,消失:用背景颜色在同样的地方画同样大小的方块。 4,相对坐标:视觉上像素这个单位太小,用方块的大小作为相对坐标的单位。 5,随机点:使用伪随机函数,参数一般用上系统当前时间,你再随意捏造个四则运算,就会产生出独一无二的随机数了。 6,链表:这个是精髓啊,你看那蛇不是就像一个链表吗,这个可是我认为在这个游戏中使用的最高深的结构了,呵呵。 7,长大:链表头遇上一个食物(随机产生的方块),链表上添加一个节点。 8,死亡:链表头撞上了自身或者撞墙。 更详细描述,参见: https://blog.csdn.net/lintax/article/details/4190093

2023-02-05

俄罗斯方块VS2019版

这是俄罗斯方块游戏的VS2019版本的完整工程,基于C语言开发的。 基本思路:   1,基础:你首先要能画出一个带颜色的方块。举一反三:可以画一个就可以画4个了。   2,移动:一个方块消失,相邻地方一个方块出现,在视觉上就是移动了。   3,消失:用背景颜色在同样的地方画同样大小的方块。   4,俄罗斯方块:由四个方块组成,方块互相邻接。共有7种俄罗斯方块(S、Z、L、J、I、O、T)。   5,相对坐标:视觉上像素这个单位太小,用方块的大小作为相对坐标的单位。   6,随机产生。   7,按键分四种:上、下、左、右。上键:旋转当前的俄罗斯方块;下键:快速下降到底;左键:左移一格;右键:右移一格。   8,旋转:默认按顺时钟旋转。   9,一行填满:一行里面,填充满小方块,此时需要进行记分,并消掉这一行。   10,记分:每消掉一行,进行记分;若同时消掉多行,记分要更多。--这是鼓励一次消多行。   11,结束条件:方块填充到了顶部。 更详细说明见: https://blog.csdn.net/lintax/article/details/4487771

2023-02-05

python人脸识别demo

现在人脸识别功能已经很成熟了,就想做个好玩的小功能: 只要某人来到摄像头前,就播放语音:某某某,你好! 分解一下实现步骤,大概就是: 摄像头采集图像,然后运行人脸识别算法,识别出人脸特征,进行人脸比对,并进行语音提示。 更详细说明,见相关博文: https://blog.csdn.net/lintax/article/details/125830577?spm=1001.2014.3001.5502

2022-07-17

STM32F030x8_adc

一个关于STM32使用ADC的源码。 芯片类型是stm32F030C8,集成开发环境用的是Keil5 MDK-ARM。 更详细说明,见相关博文: https://blog.csdn.net/lintax/article/details/103790785

2020-01-01

STM32F030x8_Uart

这是一个基于stm32F030C8的串口的demo工程代码。详细的说明,见相应博文: https://blog.csdn.net/lintax/article/details/97616917

2019-07-28

stm32-定时器demo

关于定时器的内容,分为下面几部分: 1,定时器功能的实现(TIM1); 2,定时间隔的计算公式; 3,另一个定时器的实现(TIM14); 更详细,请参考博文:https://blog.csdn.net/lintax/article/details/84918791

2018-12-09

stm32-点灯程序

stm32-点灯程序,一个基于keil5的实例工程,芯片类型是stm32F030C8。具体说明,见相关博客:https://blog.csdn.net/lintax/article/details/83040653

2018-10-21

Android解决数据库注入漏洞风险的demo

一个Android的demo工程,演示了如何解决数据库注入漏洞问题。 针对3种查询:rawQuery,query,以及LitePal的查询。 更详细的说明,参见相关博客文章:https://blog.csdn.net/lintax/article/details/79831376

2018-04-06

模仿手机联系人功能的demo

这是一个模仿手机联系人功能的Android工程。里面展示了对联系人的排序方法,包括字母、汉字、数字、特殊字符的区分。 以及对快速索引列的一些改进,如支持最小高度,尽量保持展示过的最大高度(避免挤压成一团)。

2017-10-29

仿手机联系人的快速索引

一个模仿手机联系人的快速索引的Android工程。里面展示了对联系人的排序方法,包括字母、汉字、数字、特殊字符的区分。以及对快速索引列的一些改进,如支持最小高度,尽量保持展示过的最大高度(避免挤压成一团)。

2017-08-20

ListView 的item展开完整显示的demo

本demo使用ListView展示子项Item,子项里面包含多个内容,默认只显示主要信息,其他部分隐藏,在点击后展开。对于顶部或底部显示不全的Item,进行自动滑动展示完全。并对于子项中是否有按钮的两种情况,都进行了实现。 更详细的说明,参见相关博客: http://blog.csdn.net/lintax/article/details/72598805

2017-05-21

使用servlet的简单服务器demo

使用servlet的简单服务器demo,有get与post的响应,支持注册与登录两个请求。

2017-03-19

Android中Http的Get与Post的demo

网上已经有很多关于http的get与post的例子,不过,我还是将我的实现方式写了出来,主要的区别在于,我的调用函数,有几个优点: 1,做了一个工具类,集成到工程中比较方便; 2,可以直接调用,不需要new一个对象; 3,将返回数据的处理,转到调用者的handler中来处理。

2017-03-11

通过jni实现图像处理的demo-Android Studio

通过jni实现图像处理的demo-Android Studio版本 可以对照Eclipse版本:http://download.csdn.net/detail/lintax/9565857

2017-02-19

百度地图的点聚合功能演示demo下载

百度地图的demo中,是在MarkerClusterDemo.java中演示了点聚合功能,不过比较简单,不能满足实际应用的需求。 在其基础功能之上,做了如下改进: 1,给标记点传递数据; 2,实现聚合点的点击功能,点击后在地图上展开聚合点的内容; 3,聚合的起始数目修改,支持2个点也能聚合; 4,聚合的范围调整,避免聚合点图标的互相覆盖; 5,实现地图状态变化的监听;

2017-01-15

百度地图demo(Android Studio)

百度地图demo(Android Studio),直接导入即可使用哦,完全解决包名、签名、key不匹配的问题。

2016-12-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除