对好多刚开始学的人而言,他们觉得编程就是依照课本去敲代码,可事实上,做十个完完全全齐全的项目,要比读二十本讲理论的书,更能够助推你找寻到那种感觉。接下来要说的这十个项目呀,包括游戏开发这些方面,移动端布局,工具软件以及数据分析,每一个都有着具体能够搜索的关键词,就在今天你就能够开始动手去做。

国际象棋从零实现

要用Java去写国际象棋,并非是让你拿去玩业已存在的游戏,而是要亲自去构建棋盘以及棋子。你得先利用二维数组描绘出8x8的格子,接着为车、马、象分别去界定走法规则,像车仅仅能够横竖进行移动,马是以走日字的方式移动。这样的一个过程会使得你切实领会面向对象编程里“类”以及“方法”是怎样协同合作的。

项目里最考验逻辑的部分是王车易位以及吃过路兵这些特殊规则,写完核心逻辑之后可以添加一个简单的文本界面,双方依次轮流输入坐标,搜索关键词 “Let's Make Chess in Java” 能够找到完整的分步教程,作者把每一步代码都张贴在网页上。

手机App界面仿制

并非一定得去学习Swift或者Kotlin才能够开展移动开发,运用HTML以及CSS同样是能够绘制出iOS的卡片布局的。你能够将天气App当作参考对象,制作出一个带有圆角、阴影以及渐变背景的界面,所有的元素均采用Flexbox进行对齐。这个项目是不需要任何后台逻辑的,纯粹是为了锻炼布局手感。

操作完成之后,你会发觉自身浏览网页的眼光已然发生了变化。对“Learn How to Build a Credit Card in HTML CSS with Source Code”展开搜索,能够寻觅到一则信用卡UI教程,该教程之中会传授你怎样去制作翻转动画以及毛玻璃效果,其运用到的全都属于基础前端技术。

浏览器计算器

看起来简单的计算器,要把加减乘除的逻辑用JavaScript写得顺畅并非易事,你得监听按钮点击,读取显示屏上的数字,处理连续运算,像用户按下“5+3×2”时,是先算加法还是乘法呢,这就涉及到中缀表达式转后缀的问题。

别怕即便困难重重不要慌,能够先去制作一个仅仅含有加减法运算操作的版本,接着再一步一步地增添功能。查找“Calculator 2: JS”这般的名称符号,能够寻觅到那种会手把手地教导你怎样去布局按钮、怎样处理小数点防止重复按压的视频。完成了这个之后,你对于事件监听以及eval函数将会拥有一种全新的认识。

在线笔记白板

取用Canvas去绘制一块能够进行写字的板子,当鼠标按压下去之际便去实施画线操作,而当鼠标松开之时就停止画线。增添上颜色选择器以及粗细滑块,如此便演变成了简易的绘图软件。要是再额外纳入本地存储功能,使其能够自动保存绘制了一半的内容,即便刷新页面之后依旧存在。

此项目极为适宜用于领会浏览器绘图原理,查找“Build a Drawing App with Canvas”可寻觅到仅以几十行JS便达成完整画板的实例;有人增添了导出为PNG的功能,绘制完毕后能直接保存至电脑。

天气查询小工具

借助免费天气API进行调用,将城市名予以输入后去返回温度、湿度以及风力情况。当中存在的难点在于针对于异步请求展开处理并且解析JSON数据。能够先自固定的假数据着手操作,待界面做得足够漂亮后,才接入真实接口。较推荐使用OpenWeatherMap的免费层,其每天一千次调用额度足以满足练习所需。

执行完毕之后,能够增添一项搜索历史记录,借助localStorage来存储近期查找过的五个城市。搜索“Weather App JavaScript Tutorial”,能够找到那样一种两小时完整的项目,甚至连API密钥怎样申请都阐述得明明白白。

待办事项清单

该项目乃前端必定要练习的经典之作,其核心功能为增添、删除、修改以及查询,然而你全然能够弄出花样来,诸如为任务设定优先级,进行拖拽排序,又或者依据截止日期自动标红,数据存储至IndexedDB中,关闭浏览器后再度打开任务依旧存在。

存在不少新手于此处被卡在数据发生变动之后该怎样重新去渲染列表上面。去搜索“Vanilla JS Todo App”能够学到运用数组方法对数据施加操作、利用事件委托bindings动态元素,这些技巧在实际的开发当中每日都会用到。

个人博客生成器

甭用WordPress,自行借助Python去写一个静态博客生成器,你撰写Markdown文件,脚本会自动将其转变成HTML,并且还能够生成文章列表以及归档页,此项目能够使你去理解静态站点生成器的工作原理,诸如Jekyll与Hugo。

就核心代码而言,实际上是很短的,借助Python的markdown库来对文本进行转换,接着运用字符串模板去拼出完整的页面,以搜索“Build a Static Site Generator in Python”能够发现有个项目仅仅使用50行便达成了基本功能。

汇率换算工具

去获取那实时的汇率数据,制作出一个干净的换算界面,能够添加一个图表用以展示最近一周的汇率走势,货币种类不需要太多,美元、欧元、日元、人民币这些就足够了,难点在于去处理不同货币的小数位,日元不存在分这个单位,人民币是有两位小数的。

编程项目_编程入门个人项目_国际象棋编程挑战

该项项目极为适宜用于开展 API 对接以及数据处理的练习,通过搜索“Currency Converter JavaScript”能够寻觅到那种可直接嵌入网页的小工具,并且存在倒计时五分钟自动更新汇率的设计。

贪吃蛇游戏

经典之作是用Canvas来写贪吃蛇,你得去维护记录蛇身坐标的数组,在每一帧进行移动操作时,要给蛇的头部添加一格坐标,同时把蛇的尾部坐标删除一格,当蛇吃到食物的时候,此刻蛇的尾部坐标不用删除,而是让蛇的长度增加一,一旦蛇撞到墙壁或者撞到自身,那么游戏就结束,在控制蛇的方向时,必须要防止出现直接反向的情况,就好像当蛇正在朝右移动时,是不可以马上按下向左的方向键的,得额外注意这一点。

编程入门个人项目_国际象棋编程挑战_编程项目

此项目对于算法的要求并非很高,然而却极为考验对于游戏循环的理解程度。去搜索“Snake Game JavaScript Canvas”能够找到一个教程,该教程运用requestAnimationFrame来进行循环操作,其帧率被控制在每秒7步的状态下,手感显得精确恰当。

密码生成与管理器

编程项目_编程入门个人项目_国际象棋编程挑战

搞出一个能够制作强密码的工具,让用户去抉择是不是要涵盖大小写字母、数字以及符号。能够再增添一个强度指示条,红色代表弱密码,绿色代表强密码。进一步提升的话把生成的密码进行加密并存储到本地,通过主密码解锁之后才能够查看。

对“Random Password Generator JavaScript”开展搜索,能够从中学习到运用Math.random去生成不重复字符的具体操作方法,有某个人还为之增添了双击密码便可自动复制至剪贴板的功能,这一功能极为实用。

国际象棋编程挑战_编程入门个人项目_编程项目

这十个项目之中你做过多少个,有没有哪一个项目是你特别想要去做然而却一直都未曾启动动手的。欢迎在评论区当中去分享你的关于编程项目那经历,要是觉着哪些有用的话记得点赞以便让更多新手能够看到。

国际象棋编程挑战_编程入门个人项目_编程项目