自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (2)
  • 论坛 (1)
  • 收藏
  • 关注

原创 动态规划解数字三角型问题

数字三角形问题“数字三角形”是动态规划的经典入门问题:问题描述: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5给定一个数字三角形(例如上图),寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或右下走。只需要求出这个最大和即可,不必给出具体路径。三角形的行数大于1且小于等于100,数字范围为0-99。输入描述:第一行输入三角形.

2021-01-23 19:18:15 2

原创 动态规划法解最长公共子序列问题

问题描述给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence)。输入序列“ ABCDGH”和“ AEDFHR”的LCS为长度3的“ ADH”。输入序列“ AGGTAB”和“ GXTXAYB”的LCS为长度4的“ GTAB”。最佳子结构:假设输入序列分别为长度为m和n的X [0…m-1]和Y [0…n-1]。并令L(X [0…m-1],Y [0…n-1])为两个序列X和Y的LCS的长度。以下是L(X [0 … m-1],Y [0…n-1])。如果两个序列

2021-01-23 18:58:28 3

原创 通过编写俄罗斯方块游戏学习ES6第2节开始游戏

项目演示项目演示地址:体验一下项目源码:项目源码代码结构tetris.jsimport Game from './game';import GameView from './game_view';document.addEventListener("DOMContentLoaded", () => { const canvasMain = document.getElementById('canvas'); canvasMain.width = 300; canva

2021-01-03 09:55:36 9

原创 通过编写俄罗斯方块游戏学习ES6第1节搭建项目骨架

项目演示项目演示地址:体验一下项目源码:项目源码代码结构本节做完效果游戏主页面index.html<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>Tetris</title> <link rel="stylesheet" href="./style/reset.css"> <link re

2021-01-02 13:04:30 5

原创 从零开始手把手教你使用javascript+canvas开发一个塔防游戏07塔的升级和出售

项目演示项目演示地址:体验一下项目源码:项目源码代码结构本节做完效果info.js //画出塔的攻击范围以及升级等信息 drawScope : function(tower){ var select = Game.canvasList.select; Canvas.clear(select,500,500); Canvas.fillArc(select,tower.x+25,tower.y+25,TowerType[tower.type]["level_

2020-12-30 18:00:49 8

原创 从零开始手把手教你使用javascript+canvas开发一个塔防游戏06塔发射子弹

项目演示项目演示地址:体验一下项目源码:项目源码代码结构本节做完效果新增bullet.js //子弹类 function Bullet(cxt,img,type,enemy,level,x,y,radius){ this.cxt = cxt; this.img = img; this.x = x; this.y = y; this.radius = radius; this.radiusAll = radius * 2; //子弹类型 this.type = t

2020-12-30 17:59:17 29

原创 从零开始手把手教你使用javascript+canvas开发一个塔防游戏05拖拽塔到地图上

项目演示项目演示地址:体验一下项目源码:项目源码代码结构本节做完效果新增tower.js //塔类 function Tower(cxt,img,type,x,y,width,height){ this.cxt = cxt; this.img = img; this.x = x; this.y = y; this.width = width; this.height = height; //塔的类型 this.type = type; //塔的级别 this

2020-12-30 17:58:45 18

原创 从零开始手把手教你使用javascript+canvas开发一个塔防游戏04右侧信息展板

项目演示项目演示地址:体验一下项目源码:项目源码代码结构本节做完效果修改game.js新增info.js //右侧信息显示类 var Info = { score : 100, life : 10, mission : 1, //塔的图片对象 towerImg : null, //每种塔在右侧的位置信息 towerPosition : [], //已经安装的塔的位置信息 installTower : {}, init : function(

2020-12-30 17:58:02 12

原创 从零开始手把手教你使用javascript+canvas开发一个塔防游戏03敌人一波一波的出

项目演示项目演示地址:体验一下项目源码:项目源码代码结构本节做完效果game.js修改修改initEnemy //出敌人 initEnemy : function(){ if(Game.missionLazy > 0){ Game.missionLazy -= 20; return false; } if(Game.enemyLazy > 0){ Game.enemyLazy -= 20;

2020-12-30 17:57:29 22 2

原创 从零开始手把手教你使用javascript+canvas开发一个塔防游戏02敌人自动寻路

项目演示项目演示地址:体验一下项目源码:项目源码代码结构本节做完效果Enemy.js//敌人类function Enemy(cxt,img,type,x,y,width,height){ this.cxt = cxt; this.img = img; this.x = x;//55 this.y = y;//0 this.width = width; this.height = height; //敌人类型 this

2020-12-30 17:56:54 21

原创 从零开始手把手教你使用javascript+canvas开发一个塔防游戏01地图创建

项目演示项目演示地址:体验一下项目源码:项目源码代码结构本节做完效果游戏主页面index.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><

2020-12-30 17:56:17 29 1

原创 phaser3入门教程-从零开始开发一个打砖块游戏

项目代码项目代码体验一下空格开始,左右箭头控制移动体验一下Phaser简介Phaser是一个HTML5游戏框架。它使用了许多HTML5 API,例如Canvas,WebGL,Audio,Gamepad等,并添加了一些有用的逻辑,例如管理游戏循环并为我们提供了物理引擎。使用Phaser,我们可以只用HTML,CSS和JavaScript来构建2D游戏。项目需求在使用Phaser构建Breakout克隆之前,让我们首先定义游戏的范围:这款单人游戏具有30个积木,一个球拍和一个球的一个关卡目

2020-12-28 17:30:43 18

原创 Python操作PDF-文本和图片提取(使用PyPDF2和PyMuPDF)

PDF文件格式如今,可移植文档格式(PDF)属于最常用的数据格式。在1990年,PDF文档的结构由Adobe定义。PDF格式的思想是,对于通信过程中涉及的双方(创建者,作者或发送者以及接收者)而言,传输的数据/文档看起来完全相同。工具和库适用于Python的PDF工具,模块和库的可用解决方案范围有些混乱,需要花一点时间弄清楚什么是什么,以及哪些项目需要连续维护。根据我们的研究,以下是最新的候选人:PyPDF2:一个Python库,用于提取文档信息和内容,逐页拆分文档,合并文档,裁剪页面并添加水印

2020-12-25 12:02:18 46

原创 从零开始手把手教你使用javascript+canvas开发一个塔防游戏01地图创建

项目演示项目演示地址:体验一下项目源码:项目源码代码结构本节做完效果游戏主页面index.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><

2020-12-24 09:26:51 19

原创 通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏02之物体运动

配套视频教程配套视频教程本节最终效果:一个游戏大致可以分为以下几个标准处理过程:init() 初始化new() 游戏初次进入(或主角挂了,重新开始时)update() 游戏逻辑更新events() 事件处理(响应键盘、鼠标等事件)draw() 屏幕渲染绘制show_start_screen() 游戏的启动画面show_go_screen() 游戏结束时的画面run() 游戏运行的循环入口我们将上节的游戏模板,实现成一个Game类:import pygame as pgimpor

2020-12-23 20:40:09 18

原创 通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏01之Pygame游戏模板

配套视频教程配套视频教程本节最终效果pygame开发,有一个所谓的最小框架(或称为模板):main.pyimport pygameimport time# 游戏中的一些常量定义SIZE = WIDTH, HEIGHT = 600, 480FPS = 10# 颜色常量定义BLACK = 0, 0, 0WHITE = 255, 255, 255# 初始化pygame.init()pygame.mixer.init()# 窗口、标题等初始化screen = pygam

2020-12-23 20:38:43 12

原创 Python实现超级玛丽游戏系列教程05添加地面,管道和阶梯冲突检测

配套视频教程配套视频教程项目代码项目代码冲突检测添加地面冲突添加管道冲突添加阶梯冲突添加冲突完成 def setup_ground(self): """Create collideable rects for each section of the ground""" self.ground_rect1 = collider.Collider(0, c.GROUND_HEIGHT, 2953, 60) self

2020-12-22 15:47:24 17

原创 Python实现超级玛丽游戏系列教程04背景滚动及摄像机(Camera)原理

配套视频教程配套视频教程项目代码项目代码背景滚动摄像机原理

2020-12-21 15:11:46 8

原创 Python实现超级玛丽游戏系列教程03玛丽跳跃

配套视频教程配套视频教程项目代码项目代码跳跃mario.pyinithandle_statestandingwalking新增玛丽不掉落,但上去就下不来jumping玛丽跳跃正常jumping新增falling def falling(self, keys, current_time): self.y_vel += self.gravity if (self.rect.bottom > (600 - self.r

2020-12-21 12:34:11 37 1

原创 Python实现超级玛丽游戏系列教程02玛丽行走

配套视频教程配套视频教程项目代码项目代码最终效果行走constants.pySTAND = 'standing'WALK = 'walk'SMALL_ACCEL = .2SMALL_TURNAROUND = .35玛丽类构造函数修改如下:玛丽类新增及修改 def update(self, keys): self.handle_state(keys) self.update_position() self.animati

2020-12-19 12:47:30 38 1

原创 Python实现超级玛丽游戏系列教程01玛丽登场

配套视频教程配套视频教程项目代码项目代码最终效果搭建项目结构定义游戏常量SCREEN_HEIGHT = 600SCREEN_WIDTH = 800SCREEN_SIZE = (SCREEN_WIDTH,SCREEN_HEIGHT)ORIGINAL_CAPTION = "SuperMario"GFX = None## COLORS ### R G BGRAY = (100, 100, 100)NAVYBLUE

2020-12-18 14:06:35 85

原创 11.Python异常处理

异常的概念程序在运行时,如果 Python 解释器 遇到 到一个错误,会停止程序的执行,并且提示一些错误信息,这就是 异常程序停止执行并且提示错误信息 这个动作,我们通常称之为:抛出(raise)异常程序开发时,很难将 所有的特殊情况 都处理的面面俱到,通过 异常捕获 可以针对突发事件做集中的处理,从而保证程序的 稳定性和健壮性一段代码:num = int(input("请输入数字:"))print('hello')如果我们输入非数字,输出:请输入数字:sTraceback (m

2020-10-21 11:23:02 74

原创 10.Python面向对象编程

类和对象万物皆对象分类是人们认识世界的一个很自然的过程,在日常生活中会不自觉地将对象进行进行分类对象归类类是抽象的概念,仅仅是模板比如说:“人”对象是一个你能够看得到、摸得着的具体实体:赵本山,刘德华,赵丽颖举例user1 = 'zhangsan'print(type(user1))user2 = 'lisi'print(type(user2))输出<class 'str'><class 'str'>以上str是类(python中的字符串

2020-10-08 16:07:08 308 1

原创 09.Python之函数

函数是实现某个特定功能的代码块的集合:一、认识函数1.使用函数的好处:(1) 分而治之:通过函数将程序分一个个小模块,如果代码出现了问题调试起来要容易得多,否则写在一个代码块里会很麻烦(2) 代码复用:反复使用某一功能的代码,不需要进行多次书写,大大减少代码量(3) 可读性强:分开成多个小的代码块可读性强(4) 代码的封装:使用函数的用户不需要了解方法实现的细节,可以直接使用方法2. 使用函数的例子通过函数实现两个数的加减乘除def get_add_result(num01,num02):

2020-10-08 15:51:04 68

原创 08.Python之对变量的再认识

变量引用人们经常使用“变量是盒子”这样的比喻,但是这有碍于理解面向对象语言中的引用式变量。Python 变量类似于 Java 中的引用式变量,因此最好把它们理解为附加在对象上的标注或便签。在示例中所示的交互式控制台中,无法使用“变量是盒子”做解释。示意图说明了在 Python 中为什么不能使用盒子比喻,而便签则指出了变量的正确工作方式。示例 变量 a 和 b 引用同一个列表,而不是那个列表的副本>>> a = [1, 2, 3]>

2020-10-08 15:48:27 38

原创 07.Python字典和集合

一、Set 集合的概念1. set 集合的性质set 集合是一组无序的且不能重复的集合,打印 set 集合时会自动消除重复的元素项;set 集合用大括号表示;set 集合存储的时候就是无序的,它不支持通过索引的方式进行访问;set 集合在初始化时的顺序与打印出来时的顺序是不一样的;set01 = {11,22,33,44,55}2. set 集合存储的原理set 集合在存储的时候,先把元素转为哈希值,哈希值是顺序存储的,哈希算法是用来判断两个对象是否是同一个;3. 创键 set 集合的

2020-10-08 15:46:32 88

原创 06.Python字符串

一、字符串基本操作方法(1)字符串,使用单引号、双引号都可以(2)取字符串中的字符,如果从前往后取,第一个字符下标为 0,逐一加一;如果从后往前取,最后一个下标是-1,往前逐一减一。(3)长字符串使用续航符号,反斜杠\,在行尾可以直接按回车使用续航符;或者使用""" """注释符号,可以保留长字符串的样式,保留了其中的空格与回车。(4)转义字符:具有特殊意义的带反斜杠的字符标记;取消转义:在字符串双引号或者单引号之前加r或者R,使其原样输出,取消转义的功能。(5)获取字符串的长度:使用len()方

2020-10-08 15:45:01 74

原创 05.Python列表和元组

一、List 列表的概念List 列表—一组有序、可变的数据集合;我们可以通过 List 列表的索引编号(位置编码)来访问列表中的元素;集合中的任何一个元素,称为集合的元素或者成员;同一个列表集合中可以同时存储数字、字符、字符串,甚至包含另一个 List;创建 List 列表的方法有两种:(1)创建的时候直接复制list01 = [100,90,80,70](2)创建空 list 然后插入list01 = []list01.append(100)list01.append(90)

2020-10-08 15:42:37 134

原创 04.Python分支与循环

条件语句Python 条件语句跟其他语言基本一致的,都是通过一条或多条语句的执行结果( True 或者 False )来决定执行的代码块。Python 程序语言指定任何非 0 和非空(None)值为 True,0 或者 None为 False。if 语句的基本形式Python 中,if 语句的基本形式如下:if 判断条件: 执行语句……else: 执行语句……前面也提到过,Python 语言有着严格的缩进要求,因此这里也需要注意缩进,也不要少写了冒号 :&nbsp

2020-10-08 15:41:18 72

原创 03.Python之运算符

算数运算符是完成基本的算术运算使用的符号,用来处理四则运算运算符描述实例+加10 + 20 = 30-减10 - 20 = -10*乘10 * 20 = 200/除10 / 20 = 0.5//取整除返回除法的整数部分(商) 9 // 2 输出结果 4%取余数返回除法的余数 9 % 2 = 1**幂又称次方、乘方,2 ** 3 = 8例题:输入一个三位数,返回每个位置的数字num01 = input("请输

2020-10-08 15:40:15 46

原创 02.Python变量_标识符_关键字

变量定义在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建等号(=)用来给变量赋值= 左边是一个变量名= 右边是存储在变量中的值变量名 = 值实例1—— 学生注册# 定义变量---学生学号studentNo = "9527"# 定义变量---学生密码stuentPassword = "123"# 在程序中,如果要输出变量的内容,需要使用 print 函数print(studentNo)print(stuentPassword).

2020-10-08 15:38:49 128

原创 01.Python简介及开发环境搭建

Python的诞生Python的作者是著名的“龟叔”Guido van Rossum,1989年,龟叔为了打发无聊的圣诞节,开始编写Python语言。1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。荣登2018年TIOBE年度最佳编程语言,很多大公司,包括google、Yahoo都大量的使用Python。提升自己的逼格,你需要了解Python的发音与拼写Python的意思是蟒蛇,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森干的飞行马戏团》(

2020-10-08 15:37:31 181 2

原创 Java零基础系列教程11Java类和对象练习之扑克模拟

配套视频教程本文B站配套视频教程任务目的0.培养编程思维,提高分析问题能力1.掌握类的抽象与设计2.掌握循环,分支条件的用法3.掌握各种集合类的使用(Map,List,Set)任务描述1.定义一个单张扑克类(考虑需要哪些属性),定义一个一副扑克牌类,该类包含一个单张扑克对象的数组(不考虑大小王)。实现一个模拟扑克发牌洗牌的算法;2.电脑随机发出5张牌,判断是以下哪种牌型?(提示,利用Map,List,Set等各种集合的特性可以简化判断)任务注意事项请注意代码风格的整齐、优雅代

2020-10-01 12:38:04 35

原创 Java零基础系列教程10Java抽象与封装

配套视频教程本文B站配套视频教程软件出现的目的用计算机的语言描述现实世界用计算机解决现实世界的问题为什么使用面向对象世界由对象组成面向对象的思想 描述 面向对象的世界 符合人类思维习惯从现实中抽象出类分三步:找出它的种类找出它的属性找出它的行为用面向对象描述世界第一步:发现类class Dog {}根据“对象”抽象出“类”第二步:发现类的属性狗类共有的特征:品种年龄昵称健康情况跟主人的亲密度… …class Dog { String na

2020-10-01 12:37:14 48

原创 Java零基础系列教程09Java基础综合编程练习---猜单词游戏

配套视频教程本文B站配套视频教程任务目的1.掌握字符串常用操作2.掌握随机数的用法3.掌握控制台基本输入输出4.掌握循环,分支条件的用法5.培养编程思维,提高分析问题能力`任务描述需求给定单词数组(不少于10个),程序随机选择其中的一个,并显示单词字符长度个横线(-),用户有5次猜测机会,用户每次猜一个字母,如果正确,则将在相应的位置上显示出来;如错误则猜测机会减一,重复该过程,直至单词的全部字母全部猜出或者猜测次数用完,最后宣布用户胜利或失败。实例例如随机选出的单词是apple

2020-10-01 12:35:41 61

原创 Java零基础系列教程08Java字符串

配套视频教程本文B站配套视频教程String类位于java.lang包中,具有丰富的方法字符串的初始化方法/* * 字符串:就是由多个字符组成的一串数据。也可以看成是一个字符数组。 * 通过查看API,我们可以知道 * A:字符串字面值"abc"也可以看成是一个字符串对象。 * B:字符串是常量,一旦被赋值,就不能被改变。 * * 初始化方法: * public String(): * public String(Str

2020-10-01 12:34:37 89

原创 Java零基础系列教程07有参方法和包

配套视频教程本文B站配套视频教程为什么要用带参数的方法定义带参数的方法参数列表:(数据类型 参数1,数据类型 参数2…)public class ZhazhiJi { public String zhazhi ( String fruit ) { String juice = fruit + "汁"; return juice; } }调用带参数的方法/*调用zhazhi方法*/ZhazhiJi myZhazhij

2020-10-01 12:33:40 85

原创 Java零基础系列教程06初识类和对象

配套视频教程本文B站配套视频教程万物皆对象分类是人们认识世界的一个很自然的过程,在日常生活中会不自觉地进行分类身边的对象顾客姓名—张浩年龄—20体重—60kg操作:购买商品收银员员工号—10001姓名—李明部门—财务部操作:收款打印账单对象的特征——属性属性——对象具有的各种特征每个对象的每个属性都拥有特定值例如:张浩和李明的年龄、姓名不一样对象的特征——方法(操作,行为)方法——对象执行的操作(通常会改变属性的值)对象:用来描述客观事物的一个

2020-10-01 12:32:32 111 1

原创 Java零基础系列教程05Java二重循环

配套视频教程本文B站配套视频教程循环回顾某次程序大赛,S1班有4名学员参加,学员的成绩由用户输入,计算该班参赛学员的平均分二重循环若有3个班级各4名学员参赛,如何计算每个班级参赛学员的平均分?使用二重循环实现–一个循环体内又包含另一个完整的循环结构外层循环控制班级数目,内层循环控制每个班级学员数目 int classNum = 3; int studentNum = 4; Scanner scanner = new Scanner(S

2020-10-01 12:31:41 83

原创 Java零基础系列教程04数组

配套视频教程本文B站配套视频教程问题Java考试结束后,老师给张浩分配了一项任务,让他计算全班(30人)的平均分int stu1 = 95;int stu2 = 89;int stu3 = 79;int stu4 = 64;int stu5 = 76;int stu6 = 88;……avg = (stu1+stu2+stu3+stu4+stu5…+stu30)/30;数组数组是一个变量,存储相同数据类型的一组数据声明一个变量就是在内存空间划出一块合适的空间声明一个数

2020-10-01 12:30:39 33

豆约翰博客备份专家V2.4

豆约翰博客备份专家是完全免费,功能强大的博客备份工具,博客电子书(PDF,CHM和TXT)生成工具,博文离线浏览工具,软件界面美观大方,支持多个主流博客网站(QQ空间,百度空间,新浪博客,网易博客,豆瓣日记,天涯博客,19楼,博客园,和讯博客,CSDN博客,搜狐博客)。 功能概述: 博客备份   可以解析备份博客的文章标题,文章类别,发表时间,文章正文,原文地址共五项内容。支持图片备份,支持断点续传备份,支持增量备份,只备份最新博文。 独立站点备份   备份一些由Wordpress、Emlog、Z-blog、PJblog等平台搭建的独立博客站点。 电子书生成   备份下来的博文可以导出为3种文件格式,PDF,CHM和TXT。其中CHM文件可以按照博文分类导出。PDF和CHM文件图文并茂。 博客导入WordPress   利用博客备份专家将备份的博客导出为WXR(WordPress eXtended Rss)格式,再在WordPress控制台中导入生成的WXR(xml文件),即可将全部文章导入到WordPress(包括分类和日期)。 生成静态网站   可以将备份的站点生成静态网站,静态网站生成后可以在断网的情况下进行离线浏览。

2012-05-09

豆约翰博客备份专家20150130

豆约翰博客备份专家是用法简单,功能强大的博客备份工具,博客电子书(PDF,CHM,WORD和TXT)生成工具,博文离线浏览工具,软件界面美观大方,支持多个主流博客网站(新浪微博,腾讯说说,QQ空间,新浪博客,宝宝树博客,豆瓣日记,天涯博客,简书,博客园,和讯博客,CSDN博客,Iteye博客,搜狐博客,51CTO博客,Itpub博客,网易博客,Chinaunix博客,blogjava博客,cppblog博客等)。

2015-02-07

做共享软件的一些心得与经验

发表于 2014-09-12 最后回复 2014-09-12

空空如也

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

TA关注的人 TA的粉丝

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