这几天在学习背包系统,网上有看到一个挺牛逼的背包系统,不过人家那个功能很全面,一个背包系统就囊括了装备,锻造,购买等等功能(这里给出网址:https://blog.csdn.net/say__yes/article/details/71910984)。很可惜,博主水平有限,断断续续研究了两天,没搞明白,尤其后面大段大段的代码,让我一点往下看的心情都没有,虽然注释挺详尽的。我大概总结了一下那篇文章,那个作者水平应该确实挺厉害的,但是我还是要吐槽一下,那个作者将整个背包系统分成了四篇文章写完,讲真,前两章是真的写的挺好的,而且作者也说有MVC的影子。但是最后两篇文章(核心部分)是真的写的不行,至少我看到后面我自己看的有些混乱了,如果有大神的话,希望可以指点一下。

首先,第一篇文章算是前言,引导,这里略过不讲,第二篇文章,是对于从Json文件中解析出来的数据进行的处理,这里还是挺简单的直接都是一目了然,清楚明白。但是接下来第三四篇文章,然后就开始感到晕眩了。本来我以为后面的文章应该是一篇对于数据层的处理,一篇是关于UI界面逻辑层的处理。但是吧,第三篇文章基本还算可以还有些面向对象的风格,各个面板的逻辑处理也都挺好。但是第四篇的数据处理就真的让我蒙了,感觉就是纯粹的功能代码堆砌,有Json解析得到数据的代码,有数据处理的功能代码,然后还有UI界面的逻辑处理的代码,真的让我有些懵逼了。而且各种功能代码大段大段的堆在一起,你说我还有多少心情往下面看啊。。。

但是吐槽归吐槽,多少还是可以学习一下嘛,本来想写个好几条,但是最后只相处来这么一条,算是个大致的总结吧。:

购买系统,锻造系统,装备系统都是要和背包系统进行交互才能发挥作用,而且前三个系统都可以看成是单纯的背包系统(一个背包Panel,里面有拖拽物品,点击使用物品,物品提示这些功能,增加删除物品这些基本功能)的延伸。所以只要你能搞出来基本的背包系统,那么接下来,你完全可以在这个基础上增加一些功能就OK了。(主要就是数据处理方面要麻烦一些罢了,本来想放一下那位作者的思路结构图的,但是后来看了看,想了一下还是没放,因为那个图真的不算太好。)

背包系统学习笔(tu)记(cao)的更多相关文章

  1. 【学习笔鸡】快速沃尔什变换FWT

    [学习笔鸡]快速沃尔什变换FWT OR的FWT 快速解决: \[ C[i]=\sum_{j|k=i} A[j]B[k] \] FWT使得我们 \[ FWT(C)=FWT(A)*FWT(B) \] 其中 ...

  2. 【学习笔鸡】整体二分(P2617 Dynamic Rankings)

    [学习笔鸡]整体二分(P2617 Dynamic Rankings) 可以解决一些需要树套树才能解决的问题,但要求询问可以离线. 首先要找到一个具有可二分性的东西,比如区间\(k\)大,就很具有二分性 ...

  3. Android开发学习之路-记一次CSDN公开课

    今天的CSDN公开课Android事件处理重难点快速掌握中老师讲到一个概念我觉得不正确. 原话是这样的:点击事件可以通过事件监听和回调两种方法实现. 我一听到之后我的表情是这样的: 这跟我学的看的都不 ...

  4. 学习大神笔记之 “MyBatis学习总结(一)”

    1.准备工作 软件:eclipse. mysql .navicat for mysql 包:mybatis-3.1.1.jar   mysql-connector-java-5.1.7-bin.jar ...

  5. 【团队冲刺总结】一个编码人员的反(tu)思(cao)

    消失了半个多月了啊,算算时间,好像确实有近个把月没有好好的写博客来了.我一直很想写博客的,之前有老师问过写博客的动力是什么.我想了想,我觉得可能是我比较喜欢看书吧,不管是专业书还是小说(好吧,我承认, ...

  6. 断剑重铸之日,席卷朗朗乾坤之时--PHP学习一月漫记

    传说中阿尔萨斯王子沉沦堕落之后,被巫妖王安置在冰冷的城堡中,静静地等待重出天日,它随身携带的宝剑也埋没与尘土之间,暗淡无光.他想起宝剑伴身,东征西战的峥嵘岁月,忆及如今身陷囹圄,一股怨念由心底升起,许 ...

  7. [知了堂学习笔记]_记一次BootStrap的使用

    效果图如下: 一.简介: 什么是Bootstrap?  Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架. 什么是响应式布局? 引用一句Bootstrap的标题语 " ...

  8. html5 web worker学习笔记(记一)

    (吐槽:浏览器js终于进入多线程时代!) 以前利用setTimeout.setInterval等方式的多线程,是伪多线程,本质上是一种在单线程中进行队列执行的方式.自从html5 web worker ...

  9. djano-cms学习笔计(一)

    开放源码的内容管理系统,基于Web框架Django的. 优势如下 高度可扩展的插件系统,可让您自由地构建各种内容的网站. 前端编辑直接更改您的网站上的内容.工程的所有插件. 感谢可读的网址的页面结构是 ...

随机推荐

  1. app dcloud 打包公用证书

    Android平台云端打包使用的DCloud公用证书 分类:HTML5+ 5+App开发 HBuilder|HBuilderX应用云端打包Android平台默认使用的DCloud公用证书,其信息如下: ...

  2. mysql中 for update 使用

    解释: for update是在数据库中上锁用的,可以为数据库中的行上一个排它锁.当一个事务的操作未完成时候,其他事务可以读取但是不能写入或更新.例子: 比如一张表三个字段 , id(商品id), n ...

  3. Handler和内部类的正确用法

    PS:本文摘抄自<Android高级进阶>,仅供学习使用 Android代码中涉及线程间通信的地方经常会使用Handler,典型的代码结构如下. public class HandlerA ...

  4. java was started but returned exit code =-805306369的处理方法

    Myeclipse出现java was started but returned exit code =-805306369的错误,如图: 解决方法: 换个workspaces:换个工作目录,估计估计 ...

  5. IOS开发之关键字synchronized

    static Config * instance = nil; +(Config *) Instance { @synchronized(self)  { if(nil == instance)  { ...

  6. String与常量池(JDK1.8)

    ---- 基础知识 String是final类, 并且其方法都被final修饰 String通过char数组来保存字符串 对String对象的任何操作都不会影响到原来的String对象, 所有的改变都 ...

  7. ubuntu14.04 mysql-workbench Connecting to MySQL server ... Native table 'performance_schema'.'session_variables' has the wrong structure错误解决

    使用的mysql版本: mysql  Ver 14.14 Distrib 5.7.9, for Linux (x86_64) using  EditLine wrapper 打开shell命令 1.输 ...

  8. ubuntu lamnp 环境的安装/卸载 及 配置

    安装mysql--------------------------------------sudo apt install mysql-server   #5.7版本 安装php----------- ...

  9. python链家网高并发异步爬虫and异步存入数据

    python链家网二手房异步IO爬虫,使用asyncio.aiohttp和aiomysql 很多小伙伴初学python时都会学习到爬虫,刚入门时会使用requests.urllib这些同步的库进行单线 ...

  10. history.go history.back()

    转http://www.mikebai.com/Article/2009-11/757.html <input type=button value=刷新 onclick="window ...