这几天在学习背包系统,网上有看到一个挺牛逼的背包系统,不过人家那个功能很全面,一个背包系统就囊括了装备,锻造,购买等等功能(这里给出网址: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. ssh设置免秘钥登录

    系统:CentOS7.2 需求:A服务器的fab用户需要使用www用户免秘钥登录到B服务器 换句话说,就是在A服务器的fab用户下,ssh    www@B服务ip   -p  端口  ,然后登录过去 ...

  2. Webpack 入门(一):安装 / 打包 / 命令行

    一:安装webpack和基本环境搭建 新建一个工作的文件夹(我取的名字叫Webpack) 打开命令行,cd进入该文件夹 //初始化一下npm > E:\work\Webpack>npm i ...

  3. java_线程的通信

    线程的通信共有三个方法: wait()运行时阻塞,释放锁 notify()唤醒阻塞线程 notifll()唤醒全部阻塞线程 public class ThreadTest01 { public sta ...

  4. java_线程分类

    线程分为守护线程和用户线程,如java虚拟机的回收机制就是守护线程,线程开始运行它就启动,线程结束它就结束 用户线程变守护线程:Thread(线程).setDaemon(true)

  5. 树莓派 -- 按键 (key)使用BCM2835 gpio library

    BCM2835 GPIO library介绍 This is a C library for Raspberry Pi (RPi). It provides access to GPIO and ot ...

  6. selenium3 简单使用

    from selenium import webdriverimport time browser = webdriver.Chrome()url = 'https://baidu.com' brow ...

  7. 洛谷 3106 [USACO14OPEN]GPS的决斗Dueling GPS's 3720 [AHOI2017初中组]guide

    [题解] 这两道题是完全一样的. 思路其实很简单,对于两种边权分别建反向图跑dijkstra. 如果某条边在某一种边权的图中不是最短路上的边,就把它的cnt加上1.(这样每条边的cnt是0或1或2,代 ...

  8. maven项目运行tomcat7-maven-plugin:run时出现Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.util.Scanner(xjl456852原创)

    使用tomcat7-maven-plugin插件运行web项目时, 出现下面错误: [WARNING] Error injecting: org.sonatype.plexus.build.incre ...

  9. 开启POP3/SMTP服务

    实现发送邮件时需要先启用POP3/SMTP服务(以qq邮箱和网易邮箱启用为例) 一 qq邮箱启用 二.网易邮箱开启POP3/SMTP服务 至此:服务已开启

  10. Mongo的Replica Sets (复制集)的配置全过程和心得体会

    http://blog.csdn.net/bloggongchang/article/details/7272403 一.MongoDB Replica Sets(副本集)简单的说就是有自动故障恢复功 ...