9 SkyXU123123

尚未进行身份认证

我要认证

性格开朗、热爱学习的80后进步青年!

等级
TA的排名 9w+

二叉树相关算法

抽空整理了一下二叉树相关的算法,包括BFS和DFS(先序、中序、后序、递归非递归)以及最大深度和最小深度等。#-*- coding: utf-8 -*-'''二叉树相关'''class TreeNode: def __init__(self, val): self.val = val self.left = None self.right = None# DFS(深度遍历) 分为前序、中序、后序# 先序 递归def preor.

2020-07-01 15:04:36

见缝插针小游戏开发

####一、主要逻辑​ 首先根据配置表设置好游戏数据(比如大球的旋转速度、旋转方向、默认已经插上的针数及间隔角度,小球的数量等按需设置即可),开始游戏后大球不停的旋转,点击屏幕从下方发射“大头针”,并计算好移动距离,这样可以不需要检测针尖和大球的碰撞,当“大头针”移动到指定位置时修改它的父节点为大球,关键来了,这里因为大球一直在旋转,为了让“大头针”始终垂直的插上大球,这里要正确设置小球的旋转角度,大头针的目标坐标为大球的底部,根据大球的半径和角度可以求得具体x、y。如果大头针和大头针相碰了则游戏失败,如

2020-06-02 17:53:49

2048小游戏开发

2048小游戏开发记得14年的时候吧,2040小游戏非常火爆,很多公司也做了个“升级版”,当时我们是使用cocos2d-x(c++)引擎进行开发的,各种换皮玩法。不过由于当时我也是个游戏开发新手,做出来的bug不少。这游戏虽然看着简单玩着也简单,但开发起来发现难点还是有的,比如cell移动动画,必须保证可以快速不间断的操作还得保证cell移动的位置都正确,还要保证新出现的cell位置正确。现在我们来用cocoscreator引擎实现一遍,顺便优化一下逻辑。一、主要逻辑我们通过维护两个4x4的数组来

2020-05-13 19:55:26

cocoscreator 模拟点击

在制作新手引导或者自动化测试时,有了模拟点击真的方便不少,虽然cocos官方没有提供,但是查看源码还是支持的,这篇文章是转载自:https://forum.cocos.org/t/topic/83221https://github.com/ShawnZhang2015/GodGuide/blob/01b5041c255e0ea8dc5cb34ee63f4a4e4c3b344b/assets/Go...

2020-04-24 18:17:34

uint8 Array和Base64互转

转自 stackoverflow最近在做截图上传时需要数据转换,网上找的解决方案记录一下。unction uint8arrayToBase64(u8Arr) { let CHUNK_SIZE = 0x8000; //arbitrary number let index = 0; let length = u8Arr.length; let result = ...

2020-04-02 16:12:43

cocoscreator 精灵转向动作,随动转向

精灵在执行曲线或者移动动作时,发现方向没有变化看着很奇怪,这里仿照cc.Repeat等动作封装了包装动作RotateAction, 这样就可以实时的改变精灵的朝向(尤其适合捕鱼类游戏????)cocos的动作类关键就是step和update方法,我们只需要在step里计算前后的位置就可以计算出需要调整的角度。下面是代码:/** * Created by xujiawei on 2020-03...

2020-03-20 12:02:34

tiledmap拼接处有杂色线(黑线、缝隙)怎么解决

最近在cocoscreator里使用tiledmap时发现图快拼接处有黑色(杂色)的线条,通过修改地图块的大小无法解决,在tiledmap编辑器里一切正常,导入creator就有问题,后来发现是因为creator的抗锯齿引起的,只要关闭抗锯齿就正常,但全局关闭抗锯齿显然不可取,这里可以只针对地图块所用的贴图进行取消抗锯齿设置。具体方法如下:问题已经解决,解决方案有三个:1、全局关闭抗锯齿 ...

2020-03-20 11:32:21

求线段交点

本文转载自: https://www.cnblogs.com/xpvincent/p/5208994.html下面我就现学现卖的把最近才学会的一些"求线段交点"的算法说一说, 希望对大家有所帮助.本文讲的内容都很初级, 主要是面向和我一样的初学者, 所以请各位算法帝们轻拍啊 嘎嘎引用已知线段1(a,b) 和线段2(c,d) ,其中a b c d为端点, 求线段交点p .(平行或共线视作不相...

2019-11-28 16:41:27

牛牛牌型判定

牌型大小:五小牛 > 五花牛 > 炸弹 > 银牛 > 牛牛 > 有牛(牛987654321) > 没牛,K > Q > J ……2 > A, 黑桃♠️ > 红桃♥️ > 梅花♣️ > 方块♦️,同样的牌型比大小,同样的手牌比花色. /** * Created by skyxu on 2019/3/20. * */...

2019-05-06 10:42:50

斗地主滑动选择卡牌的实现

最近想自己做一个斗地主游戏(使用cocoscreator + javascript),发现滑动选择卡牌还有一点点麻烦呢,这里把实现分享下。1、首先封装卡牌CardCtrl.js  卡牌的touched属性即为触摸框选标记,selected属性为触摸结束所选择卡牌的标记。其他的牌面花色什么的这里不做处理。/** * Created by skyxu on 2018/11/1. *...

2019-03-25 14:10:50

经典排序算法之直接选择排序

直接选择算法和冒泡有异曲同工之妙。同样适合用于数据量非常小的排序。function sortSelect(arr) { for (let i = 0; i < arr.length; i++) { let index = i; for (let j = i+1; j < arr.length; j++) { if (a...

2019-03-18 15:13:21

经典排序算法之插入排序

直接插入排序算法即每次循环都把后面的数据插入到比它小的数据前面。直接插入排序插入有序序列中需要从后向前挨个扫描数据,并且还要将数据向后移为新数据腾出位置,显然当数据量大的时候效率很低,直接插入排序适用数据量小的情况 function sortInsert(arr) { for (let i = 1; i < arr.length; i++) { let j = i...

2019-03-18 15:12:35

经典排序算法之希尔排序

​ 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。希尔排序适合数据量中等情况,几十个到几万个。​ 网上看了好久才彻底明白希尔排序是什么,简单的说将就是按照步进对数据进行分组,对每组分别进行插入排序,直到步进是1的时候则全部完成。在此...

2019-03-13 14:08:02

经典排序算法之堆排序

经典排序算法之堆排序若以升序排序说明,把数组转换成最大堆积(Max-Heap Heap),这是一种满足最大堆积性质(Max-Heap Property)的二叉树:对于除了根之外的每个节点i, A[parent(i)] ≥ A[i]。重复从最大堆积取出数值最大的结点(把根结点和最后一个结点交换,把交换后的最后一个结点移出堆),并让残余的堆积维持最大堆积性质。最大堆积即:父节点总是大于子节点的...

2019-03-11 11:47:24

A*寻路在cocoscreator中的使用

1. 简介​ a星寻路作为启发式搜索,在游戏开发中经常使用,性能比dps要好,也比较简单好实现,通用原理网上很多这里就不多做详解了,还不熟悉的可以参考:简书链接;2. 实现伪码如下把当前点加入openListwhile(openList不为空){ 取出f值最小的点作为当前点curGrid if(curGrid == endGrid) 查找结束,生成路径 查找cur...

2019-03-11 11:45:20

cocos2dx循环滚动视图

由于项目需求大厅里的牌子要循环滚动(tips:这样看起来东西比较多,其实是个挺搞笑的需求),cocos本身的控件不满足需求,所以就简单写了个。目前惯性减速不太好用,有更好解决方案的大拿给个提示啊!GitHub链接 代码如下://// ScrollCircle.hpp// ScrollSelector-mobile//// Created by 徐家伟 on 2018/1/1

2018-01-23 11:57:23

C++循环链表的实现

// .hpp文件#include class NodeCList{public: NodeCList(); static NodeCList* create(int element); int element; NodeCList* next;};class CircleList {public: CircleList(); sta

2018-01-19 16:36:13

经典排序算法之快速排序

快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1962年提出。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到

2017-07-17 15:06:44

Java调用JavaScript

使用cocos2d-js开发游戏时常常需要和native平台交互,Java回调JavaScript也是常常使用的功能,贴心的cocos都已经帮我们准备好了,直接使用即可! 在你的项目中包含Cocos2dxJavascriptJavaBridge,这个类有一个evalString方法可以执行js代码,它位于frameworks\js-bindings\bindings\manual\platfor...

2017-07-06 16:29:37

使用python生成iOS各规格icon

使用python可以很方便的一次导出所需的各种大小icon,省时省力,美术只需要准备一个最大的icon就行了。#!/usr/bin/python# -*- coding: utf-8 -*-from PIL import Imageinfile = raw_input('Please enter the image path: ')outPath = raw_input('Please en

2017-07-06 16:26:17

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。