我罗斯方块最终篇(Player类.Game类) |--------------------项目GitHub地址--------------------| 目录 我罗斯方块最终篇(Player类.Game类) 我负责的部分 代码要点 Player类 Game类 遇到的问题 头文件包含问题 数组越界问题 功能重复实现 关于渲染页面闪烁的问题 总结收获 仍然存在的问题 我负责的部分 player类的完成 game类的完成 player类的调试 game类的调试 代码要点 Player类 玩家地图map…
负责的任务 游戏过场及界面设计 Interface类的基础实现 根据队友需求完善Interface类功能 Interface类的本地测试 辅助队友改良游戏操作 代码要点 我们主要是通过控制台进行界面渲染 Interface类的代码采用声明与定义分离的形式分别位于interface.h与interface.cpp文件中. Interface类中的函数大致可以分为三部分: 负责与控制台交互的函数(集成一系列系统函数或者对某一具体功能进行封装) //初始化窗口 void initialWindow()…
负责的任务 完善Block类的相关函数及变量: 对Block类中函数进行调整改进,并于其他人负责的类相互配合: 对Block类的函数功能进行调试: github项目地址. 效果图 具体可见总篇,一下仅为部分参考 代码要点 1.首先在写Block类过程中,我先把Block类分成了Block.h和Block.cpp: Block.h中编写了Block类的雏形,包括私有数据成员以对应成员函数的声明: Block.cpp中主要是对Block.h中成员函数进行定义: 2.接下来就简要写写Block类中所负…
负责任务 完善Block类的相关函数及变量: 对Block类的函数功能进行调试: github项目地址. 开发日记 2020.5.11 今天和朋友们讨论了如何分工的工作,我负责的部分是Block类的完善与调试.而在上几周我们第一次讨论我罗斯游戏设计的时候,已经基本列出了Block类需要具有的功能以及需要具有的数据成员,所以我就在接下来的这几天时间里,查阅相关资料与代码,进行对Block类的完善. 2020.5.12 今天着手于对Block类中19种方块(包括七大类,几种旋转状态)的初始化,这里我…
我罗斯方块第二次作业 我的任务 完成player类的编写 player类的测试 我的计划 类的设计: Player类作为一个玩家类,需要处理和玩家有关的所有信息,以及维护玩家的游戏页面map.关于玩家信息,需要设置玩家姓名.玩家目前分数.玩家是否失败等等的存入获取接口.Player类中含有两个Block类的实例化,分别存储现在的方块和下一个方块,需要设置方块旋转和生成新方块的接口.关于和游戏控制Game类的对接,需要提供方块左移.右移.下移以及碰撞检测等,还有方块消行以及增加行数接口.对于Int…
由于类的内容比较多,分为类-初级基础篇和类-进阶篇 本节内容一览图: 一.类成员修饰符 每一个类的成员都有两种形式: 公有成员,在任何地方都能访问 私有成员,只能在类的内部才能访问 1.1.私有成员和公有成员的定义不同: 私有成员命名时,前两个字符是下划线.(特殊成员除外,例如:__init__.__call__.__dict__等) 前面提到过 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private…
由于类的内容比较多,分为类-初级基础篇和类-进阶篇 类的内容总览图: 本节主要讲基础和面向对象的特性 本节内容一览图: 前言总结介绍: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数,对象是一个类的实例 实例(instance):一个对象的实例化实现. 标识(identity):每个对象的实例都需要一个可以唯一标识这…
教程预览 01 | 前言 02 | 简单的分库分表设计 03 | 控制反转搭配简单业务 04 | 强化设计方案 05 | 完善业务自动创建数据库 06 | 最终篇-通过AOP自动连接数据库-完成日志业务 前言 这周比较忙,这篇来的有点迟到,不过我们要讲的东西是非常精彩的,通过之前的文章我们的设计已经完成,而且完成了 ProjectController 的业务操作,成功生成了分库的日志数据库和表,那么在操作日志 Controller 的时候,我们如何来连接多个数据库 和 多张表呢. 理论讲解 首先…
写到这里终于写到了入门篇的最后一个知识点了.类和对象是Java中经常被提到的两个词汇,实际上可以将类看作对象的载体,它定义了对象所具有的功能.Java是面向对象的语言,因此掌握类与对象是学习Java语言的基础. 类和对象的概念就不在此描述了,这篇随笔还是主要从代码方面入手,在学习本篇前建议先了解一下类和对象的概念.实例的概念以及面向对象程序的特点,也即封装.继承.多态. 一.类 类是封装对象的属性和行为的载体,在Java语言中对象的属性以成员变量的形式存在,而对象的方法以成员方法的形式存在. 1…
  JavaScript 的学习算是最后一篇了...把JS基础已经核心的部分彻底的进行了学习... 唯一的缺陷就是自己在运用上并不是特别的熟练...今天是JS的最后一章内容了..也是JS 中最常用的内容... 学习内容: JS外部类与内部类的使用 JS外部类和内部类,外部类是我们自己定义的类,其实重要的还是JS提供的内部类,就像JAVA中提供的API一样,JS也提供了一些常用的API 内部类分为静态类和动态类 静态类就是我们无需创建对象,可以直接调用其中的方法和变量 1.Math对象 <scri…
真遗憾,第二篇章没能够发表到首页上去.趁热打铁.把最终篇——代码篇给发上来. 代码的设计思想请移步前两篇文章 //pid.h #ifndef __PID__ #define __PID__ /*PID = Uk + KP*[E(k)-E(k-1)]+KI*E(k)+KD*[E(k)-2E(k-1)+E(k-2)];(增量型PID算式) 函数入口: RK(设定值),CK(实际值),KP,KI,KD 函数出口: U(K)*/ typedef struct PIDValue { int8 KP; in…
面向对象编程 1.编程范式   我们写代码的目的是什么?就是为了能够让计算机识别我们所写的代码并完成我们的需求,规范点说,就是通过编程,用特定的语法+数据结构+特殊算法来让计算机执行特定的功能,实现一个功能的方式有很多种,对这些不同编程方式的特点进行归纳总结出来的编程方式类别,就叫做编程范式.最重要的两个编程范式就是面向过程编程和面向对象编程.发展到现在,编程已经从简单控制流中按步的指令集转变为依靠代码块完成既定的功能. 2.面向过程编程(Procedural Programming)   面向…
一.类的装饰器 类作为一个对象,也可以被装饰. 例子 def wrap(obj): print("装饰器-----") obj.x = 1 obj.y = 3 obj.z = 5 return obj ​ @wrap #将Foo类作为一个参数传入装饰器函数wrap,返回同时返回该对象,把新对象重新命名为Foo #即 Foo = wrap(Foo) class Foo: pass ​ #执行结果: #装饰器----- ​ print(Foo.__dict__) #输出结果可以看到,新的F…
前言 我们前面学习到String类的相关知识,知道了它是一个字符串类,并且了解到其中的一些方法,但是当时并没有太过注意到String类的特点,今天就StringBuilder类的学习来比较一下两者的区别和作用. String类 String类实例化的对象,其长度是固定不变的,其内容也是不可改变的. 那么,为什么,在我们学习String类的时候,我们了解到String类提供了很多方法用来对String对象进行操作呢,还包括到字符串的连接,和字符串的替换.这明显和上面所描述的String类的特性不同…
经典类 1.什么是经典类 就是在使用class关键词时,括号内不添加object类的就叫经典类,前面的博文里是绝对解析过的,所以你应该知道,经典类现在已经仅存在于python2了,因为python3不管你给没给object都会自动继承object类,其采用MRO算法深度优先搜索.Python 2.x中默认都是经典类,只有显式继承了object才是新式类 例: 像这种,如果不给object生成的类只有自己的属性方法,加上一个文档属性__doct__,一个模块方法__module__ 2.特性:深度…
创建类和对象 刚开始我们接触得多的编程方式为面向过程编程,这种方式就是根据业务逻辑从上往下垒代码,后来又出现了函数式编程,就是为了提高代码的重用性,减轻程序猿的工作量--而今天我们即将学的 面向对象编程则是使用类和对象来实现的,类就是一个模板,模板里可以包含多个函数,函数里实现一些功能 对象则是根据模板创建的实例,通过实例对象可以执行类中的函数 class是关键字,表示类 创建对象--类名称后加括号 #创建类 class foo: def bar(self): print('bar') def…
Java面向对象之类和对象 一.面向对象概述 Java是完全的面向对象编程(Object Oriented Programming),简称OOP. 面向对象编程的思维方式更加符合大家的日常生活,因为我们的现实世界都是由各种各样的对象组成,大到飞机.火车.楼房,小到一只狗.笔记本电脑.一本书都是实实在在的对象.然而每个对象都有自己的状态和行为,我们可以通过对象来完成一定的任务. 例如:我们乘坐飞机从深圳飞到湘西去旅游,我们可以直接使用飞机的飞行能力,而不用管飞机这个对象是如何制造的.直接使用即可.…
前言 最近有打算学习一下设计模式,所以就去看了园子里面左潇龙大哥的设计模式文章,看完之后只有一个感觉,我啥时候也能写出来这么牛逼的文章啊,但是我这语文老师死的早的人还是算了,但是设计模式还是要学的,这个博客还是要写的,所以还是接着写吧,遵从龙哥的教诲,学习设计模式之前先简单学习一下类图里面各种类的关系,因此就有了这篇随笔,废话不多说,下面进入正文. 类与类之间的关系 类与类之间的关系从弱到强依次是:没有关系(这不是扯淡嘛).依赖.关联.聚合.组合,还有泛化(其实就是继承)和实现,这俩大哥是在是没…
首先说说类,在一个类里我们会有以下的几个特征: 1. 公有方法 2. 私有方法 3. 属性 4. 私有变量 5. 析构函数 我们直接看一个例子: /***定义类***/ var Class = function(){ var _self = this;//把本身引用负值到一变量上 var _Field = "Test Field"; //私有字段 var privateMethod = function(){ //私有方法 alert(_self.Property); //调用属性 }…
在研究类的时候,难免会有很多疑问,C论坛和博客园高手如云(不知道是不是也美女如云), 搜到了这篇博文,是介绍Python的类变量和实例变量的 ! 刚好在下对self.***这种形式的实例变 量不是很理解,就拿来与诸君共享! C博客的大伽: http://blog.csdn.net/xxkkff/article/details/4396895 上一篇[类不类一]: http://www.cnblogs.com/Ruby517/p/5709558.html 一般的类定义是写成这种形式 class <…
一:访问修饰符: 1.省略访问修饰符 具有默认的访问特性,即具有包访问特性,只能被同一个包中的类使用. 2.public访问修饰符 用于说明类和类的成员的访问权限.这种类叫公有类.在一个文件中只能有一个public类型的类. 例如:Rect和UseImport两个类,分别在两个不同的包中.顺便回顾一下不同类要用import导入.(哎,一直就没记住)  //Rect.java  pacakage my;  public class Rect {   private int a,b;   publi…
'''1什么是继承? 继承一种新建类的方式,在python中支持一个儿子继承多个爹 新建的类称为子类的或者派生类 父类有可以称为基类或者超类 子类会‘遗传’父类的属性 2 为什么要用继承 减少代码冗余 3 怎么用继承 ''' # class ParentClass1:# pass## class ParentClass2:# pass## class Subclass1(ParentClass1):# pass# class Subclass2(ParentClass1,ParentClass2…
本文转自: https://blog.csdn.net/wq6ylg08/article/details/81092056类和类之间关系包括了 is a,has a, use a三种关系(1)is a包括了 继承,实现关系(2)has a包括了 组合,聚合,关联关系(3)use a包括了 依赖关系 一.继承关系      继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在Java中继承关系通过关键字extends明确标识,在设计时一…
今天为大家介绍一下python中与class 相关的知识-- 获取对象的类名 python是一门面向对象的语言,对于一切接对象的python来说,咱们有必要深入的学习与了解一些知识 首先大家都知道,要获取一个对象所对应的类,需要使用class来进行检索. 但如果我们只是一个简单的赋值语句,能这么使用么?让我们看下下面的代码: num=10 string='abc' class MainClass: pass p=MainClass() print(num.__class__) # output:…
反射 reflect 反射(reflect)其实是反省,自省的意思 反省:指的是一个对象应该具备可以检测.修改.增加自身属性的能力 反射:通过字符串获取对象或者类的属性,进行操作 设计框架时需要通过反射去检测类的属性,去调用他们 反射涉及的四个函数 ​ 这四个就是普通的内置函数,没有双下划线,与print等等没有区别 hasattr getattr setattr delattr class Person: def __init__(self, name, age, gender): self.…
在我们学习C语言时,我们处理数据时要调用很多函数,那么,Java也有很多的方法可以来处理数值的类. 那么,在本篇博文中,本人就来讲解三个用于处理数值的类 -- Math类 . Random类 与 BigDecimal类. 目录 Math类: Random类: BigDecimal类: BigInteger类: Math类: 概述 Math 类包含用于执行基本数学运算的方法.如初等指数.对数.平方根和三角函数. 在这个类中,有两个很常用的成员 -- E(自然底数)和 PI(圆周率): public…
在我们以往的编程中,就有过通过运行前和运行后时间差来判断时间复杂度的例子,再扯得远一点,我们在C语言中制造随机数的操作,也要用到有关时间的函数.而且,在我们未来的编程中,也会时不时要用到能够读取当前时间的方法,所以,本篇博文所讲解的类,其实还是挺常用的,所以本人专门写一篇博文来为同学们展示下这个类的常用方法的用法 System类: 概述: System 类包含一些有用的类字段和方法.它不能被实例化. 说真的,System类与时间相关的主要原因就是它的一个方法,那么,现在,本人来展示下这个类的常用…
Java的JDK中提供给我们很多封装好的类就是Java API,可以直接调用. Java 的API(API: Application(应用) Programming(程序) Interface(接口)) 一.Object类 Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用. 所有类在创建对象的时候,最终找的父类就是Object. 1.Object类中的 equals方法 equals方法,用于比较两个对象是否相同,它其实就是使用两个对象的内存地址在比较. O…
[.net 面向对象编程基础] (9) 类和类的实例 类 ,顾名思义就是分类.类别的意思.我们要面向对象编程,就需要对不同的事物进行分类.类可以说是.net面向对象的核心. 类:就是具有相同的属性和功能的对象的抽象的集合. 1. 类的定义  <访问修饰符> class <类名> { 类成员(字段.属性.方法.事件)} 举例说明,比如“人类”这就是一个类,里面可以包含属性 比如性别,种族,国家等.除了包含属性之外,还包含一些其他功能,比如:吃饭.睡觉等,可以理解为类的方法. 代码,如…
建立exception包,建立Bank类,类中有变量double  balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),表示存入银行100元,当用方法withdrawal(150),withdrawal(-15)时会抛出自定义异常. pa…