计算机控制系统课程设计中期报告,课程设计中期报告模板.doc

课程设计中期报告模板概要

新疆大学

信息科学与工程学院

《程序设计》课程设计中期报告

题目:

专 业 计算机科学与技术

学 生 姓 名

学 号

联 系 方 式

班 级 计算机15-班

组 员 姓 名

联 系 方 式

检 查 日 期 2016.7.29

新疆大学信息科学与工程学院

目 录

1. 课程设计内容概述1

1.1 项目来源及开发目的和意义1

1.2总体设计内容及方案1

1.3 本人所承担任务(模块)说明3

1.4 开发环境和开发工具6

1.4.1 开发语言6

1.4.2 开发工具6

1.4.3 开发环境7

1.5 项目原定进度安排7

2. 中期完成情况说明8

2.1 预定计划的执行情况8

2.2 中期工作说明及成果汇报8

2.3 存在的困难与问题13

2.4 如期完成预定任务的可能性分析13

2.5 后期工作安排14

1. 课程设计内容概述

1.1 项目来源及开发目的和意义

(以下为范例)

1.2总体设计内容及方案

(以下为范例)

本项目主要任务Run-Time Type Identification运行时类型识别Simplified Wrapper and Interface Generator)轻松实现由C/C++接口到脚本的绑定。

编辑器(editor模块),编辑器是本游戏引擎的一个集成开发环境,包括脚本的编写、调试,游戏场景的制作、游戏资源文件的制作等。这是引擎中相对复杂的一个模块。

1.3 本人所承担任务(模块)说明

(以下为范例)

本人在整个项目中的具体任务是ReferenceCounted,记录当前的引用计数并实现了加减操作并负责对引用计数降为0是对象的释放。Pointer类就是我们的智能指针类,它是一个模板类,在构造、拷贝、赋值运算、销毁时确保正确地对它所控制的Object类的指针进行增减引用计数操作。

文件系统:使用了开源库PhysFS并进行了简单的接口包装。

editor模块:

使用开源的界面库wxWidgets2.8.9进行界面的开发,选择的理由:

开源、跨平台,符合我们引擎的设计初衷。

它不仅仅是一套界面库,还提供了一些其他的平台无关的类库。

它使用操作系统的原生控件。

众多的contrib库和辅助开发程序,并且有Code::Blocks等IDE也是使用它来开发的。

编辑器的总体设计:

图-1 编辑器组成示意图

编辑器主要功能使用动态库的方式实现,并对外提供一套API接口,主程序通过调用此动态库来完成相应的功能,并且主程序提供编辑器的主要的UI框架与用户交互。为什么不将两者合在一起实现呢?这是因为我们的编辑器要支持扩展,支持扩展的代价就是要对外开放接口,而开发接口的最好的方法就是动态库。这样第三方扩展插件便可以轻松地使用编辑器的接口来完成它的功能,但它也必须遵从一定的规范才能被编辑器的主程序识别并顺利地加载,这个规范就是:插件一定要实现“插件接口”,编辑器内留出了多种支持的插件类型的接口,如:调试器插件用于对脚本语言的调试、向导插件用于新建某一类型的文件、文件类型处理插件用于对特定类型的文件进行编辑(材质编辑、粒子编辑、UI编辑都属于这种类型)。

编辑过程中与用户的交互是无法避免的,如何把在编辑过程中用户触发的事件在编辑器和插件之间以及插件和插件之间传递需要由一个系统来处理——事件系统:

图-2 编辑器事件系统示意图

用户进行编辑操作时会触发编辑器内部的事件,事件进入编辑器的事件处理系统,处理系统根据其类型查找相应的EventSinks,然后依次调用注册的回调函数将消息分派下去处理。这样一些插件就可以通过注册某些关心的事件的回调函数来响应用户操作。

要实现相同的功能还有另一种方式:为每一个类型的事件写一个虚函数,由插件继承并实现此接口,利用C++的多态特性来实现。相比较而言,我们的处理方式更加灵活,并且性能更好(因为多层次的继承C++的虚函数表会造成性能问题)。

调试器的实现:调试有2种实现方式:单进程使用线程调试和多进程使用进程间通信的方式。

方式一:容易编码,但需要保证调试和运行能够“友好”地相处,我们的编辑器不满足这种条件,编辑器和游戏是两个不同的进程,并且编辑器本身也使用游戏的一些库,着非常容易造成资源的混乱。

方式二:必须进行进程间的通信,进程间的通信又主要有三种方式:管道、共享内存、套接字

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中计算如何实现_基于python如何实现计算两组数据P值

我们在做A/B试验评估的时候需要借助p_value,这篇文章记录如何利用python计算两组数据的显著性。 一、代码# TTest.py # -*- coding: utf-8 -*-# Created on 2020-05-20 20:36 # TTest.py # author: huiwenhua## Import the packages import numpy as np from scipy import stat…

计算机配件推荐系统论文摘要,个性化推荐系统设计

内容简介:个性化推荐系统设计,毕业设计,共65页,29540字,附外文翻译。摘要个性化推荐系统根据用户的历史数据,利用推荐算法向他们推荐可能感兴趣的商品。协同过滤(CF)是目前研究最多、应用最广泛的推荐算法&…

python自定义函数画图_python matplotlib自定义colorbar颜色条-以及matplotlib中的内置色条...

自定义colorbar(draw colorbar without any mapple/plot) 参考:Customized Colorbars Tutorial api example code: colorbar_only.py 自定义colorbar可以画出任何自己想要的colorbar,自由自在、不受约束,不依赖于任何已…

长沙理工大学计算机考研难吗,长沙理工大学考研难吗?一般要什么水平才可以进入?...

首先,申明一点:考研本身就不是一件容易的事情,在考研的过程中,找准自己的定位、学会搜集资料、搜集信息并且辅之于踏实的备考、准确的方法是至关重要的。同时,要学会坚持,不忘初心,很多同学在开…

如何用python创建文件_如何使用Python创建新的文本文件

我正在python中练习.txt文件的管理.我一直在阅读它,发现如果我尝试打开一个不存在的文件,它将在程序执行的同一目录上创建它.问题是,当我尝试打开它时,我收到此错误: IOError: [Errno 2] No such file or directory: ‘C:\Users\myusername\PycharmProjects\Tests\c…

域内计算机如何同步网络t时间,网络节点的同步方法

摘要:包括一个网络中心主节点(11)和多个同步域(20,30)的局域网(10)内的网络节点的同步方法,每个同步子网(20,30)包括一个同步子网主节点(21,31)和至少一个同步从节点(22,23;32,33),所述方法包括以下步骤:为每个同步域(20,30)设立或改变一个多播组,其中,一个多播组包…

python绘制饼图程序_python使用Matplotlib绘制饼图

一、函数原型 plt.pie(x, explodeNone, labelsNone, colorsNone, autopctNone, pctdistance0.6, shadowFalse, labeldistance1.1, startangleNone, radiusNone, counterclockTrue, wedgepropsNone, textpropsNone, center(0, 0), frameFalse) 参数: x:绘…

高龄申请海外计算机科学博士,【原创】牛津在读小博谈谈在海外攻读生命科学专业的一些心得...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼一. 生物化学研究的是什么?生物化学,顾名思义,研究的是在生命体内发生的化学反应。从化学的角度看,在任何生命体内无时不刻地发生着各种化学反应,反应的数量随…

python变量类型有几种_python十种变量类型

变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或…

计算机应用基础重点分析,计算机应用基础整体设计重点分析.doc

《计算机应用基础》课程整体教学设计(2013~2014学年)课程名称: 计算机应用基础所属系部: 基础课部制定人: 宋 征制定时间: 2013年9月湖南有色金属职业技术学院课程整体教学设计一、课程基本信息课程名称:计…

centos选择什么版本_有几千个 Dubbo 实例的瓜子二手车,为什么要选择2.7.3版本?...

随着瓜子业务的不断发展,系统规模在逐渐扩大,目前在瓜子的私有云上已经运行着数百个 Apache Dubbo ( 下文简称 Dubbo )应用,上千个 Dubbo 实例。瓜子各部门业务迅速发展,版本没有来得及统一,各个部门都有自己的用法。随…

北京大学计算机复试分数线,2014北京大学考研复试分数线公布

根据教育部有关制订分数线的要求,我校按照统考生、联考生等不同类型分别确定复试基本分数线。考生能否进入复试以各院系所规定的各项单科成绩和总成绩确定的复试名单为准。我校将按照德、智、体全面衡量,择优录取,保证质量,宁缺毋…

python一个函数调用另一个函数的返回值_在python函数中使用True,False和None作为返回值...

建议不是你不应该使用True,False或None。这只是你不应该使用如果x True。 如果x True是愚蠢的,因为只是一个二进制运算符!它的返回值为True或False,取决于它的参数是否相等。如果条件为真,则条件将继续。所以当你写如…

w7系统计算机里没有摄像头,win7系统没有摄像头不能视频的几种原因和解决方法...

电脑升级到win7旗舰版系统后,发现摄像头没有了,之前xp系统在硬盘符中就可以打开摄像头的,可是win7系统没有摄像头怎么办呢?这样就没办法视频了,针对此问题,小编研究出原来要从程序里面调出摄像头功能&#…

python画相关性可视化图_Python 可视化 | 关联图 - 散点图1

什么是关联图? 关联图是查找两个事物之间关系的图像,他能为我们展示出一个事物随着另一个事物的变化如何变化。 典型的关联图有:折线图、散点图、相关矩阵等 我们什么时候会需要关联图? 1、数据报告 & 学术研究 展示趋势&…

新计算机 安装win2000,图文教程!Windows 2000安装过程全接触

13、填写计算机名:安装程序提供了文字输入确定用户的计算机名和其它的设置。   在此,需要声明的是:安装程序会创建一个称为Administrator(系统管理员)的用户帐户,它拥有完全控制计算机的权限。确定这个帐户时,安装程序要求用户输入“系统管…

python创建多线程_初学者看过来:Python中多线程和多处理的指南

使用Python分析数据,如果使用了正确的数据结构和算法,有时可以大量提高程序的速度。实现此目的的一种方法是使用Muiltithreading(多线程)或Multiprocessing(多重处理)。 使用Python分析数据,如果使用了正确的数据结构和算法,有时可…

css如何实现一个小三角形,用纯css写一个常见的小三角形

js小技巧js判断字符长度 直接使用String对象的属性,空格亦算一个字符 myString "Hello world"; length myString.length js比较字 ...c#接口容易被忽视的问题今天在看"并发集合"的时候,接口IProducerConsumerCollection 有一个方法是TryAdd(),表…

python求50的阶乘_python中求阶乘

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我如何去计算python中的一个整数的阶乘?...写一个猜数字的游戏,预先设定一个数字&am…

项目部署服务器 jstl,Springboot集成jsp及部署服务器实现原理

1.在application配置文件里面加入配置:spring:mvc:view:prefix: /jsp/suffix: .jsp2.手动在src->main->下面创建webapp文件夹3.在Springboot 启动类加入如下代码:Beanpublic InternalResourceViewResolver setupViewResolver() {InternalResourceV…