小区物业管理系统正文大学学位论文_第1页
小区物业管理系统正文大学学位论文_第2页
小区物业管理系统正文大学学位论文_第3页
小区物业管理系统正文大学学位论文_第4页
小区物业管理系统正文大学学位论文_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计用纸摘要对于小区物业管理来说,其工作流程的繁杂性、多样化、管理复杂、收缴费用与设备维护繁琐。计算机已完全能够胜任物业管理工作,而且更加准确、方便、快捷、高效、清晰、透明,它完全可以克服以上所述的不足之处。这将给项目查询和管理带来很大的方便,从而给物业管理工作带来更高的效率,这也是物业管理正规化、现代化的重要标志。

因此,开发一套高效率、无差错的小区物业管理系统软件十分必要。本系统的主要目的是告别帐本,安全、快捷的保存数据信息。由于小区物业管理涉及到费用问题,为了增强系统的保密性,使业主利益不受损害,使业主能够对自家的物业费用和投诉等情况提供透明化、直观的了解。关键词:,sqlserver,C#,小区物业

AbstractAs

for

the

plot

estate

management

that,

its

work

flow

numerous

and

diverse,

the

diversification,

the

management

complex,

capture

the

expense

and

the

maintenance

of

equipment

is

tedious.

The

computer

could

definitely

be

competent

the

estate

management

work,

moreover

more

accurate,

convenient,

quick,

highly

effective,

clear,

is

transparent

above,

it

definitely

may

overcome

the

deficiency

which

states.

This

will

give

the

project

inquiry

and

the

management

brings

very

big

convenient,

thus

will

bring

a

higher

efficiency

for

the

estate

management

work,

this

also

will

be

the

estate

management

standardization,

the

modernized

important

symbol.

Therefore,

develops

set

of

high

efficiency,

the

non-

mistake

plot

estate

management

system

softwares

is

extremely

essential.

This

system

main

goal

is

says

goodbye

to

the

account

book,

the

security,

the

quick

preservation

data

message.

Because

the

plot

estate

management

involves

to

the

expense

question,

in

order

to

strengthen

the

system

the

secrecy,

causes

the

owner

benefit

not

to

receive

harms,

enables

the

owner

to

situation

and

so

on

oneself

property

expense

and

suit

provides,

the

direct-viewing

understanding.Keywords:,sqlserver,C#

目录TOC\o"1-3"\h\u第一章绪论 ①Jump:在每一帧的update()方法中检测是否有点击事件触发。有,则触发Jump;没有继续奔跑动画。而Jump则是通过cocos2dx中的Box2d,赋予物体向上的速度实现。②Share:Share的功能是通过ShareSDK的集成实现,只需要将ShareSDK集成至游戏中,并在游戏结束时实例调用即可。③计时:计时相对简单,只需要一直获得每一帧的系统时间,并同时计算差值的和并可以得到游戏时间。

第五章系统实现5.1开始场景开始场景是玩家进入游戏的地方:Scene*gameBegin::createWelcome(){ autobeginScene=Scene::create(); autowelcomeLayer=foreGround::create(); autobackLayer=backGround::create(Color4B(255,255,255,255));/*因为背景只设置了颜色,就没有单独初始化*/ autoplayLayer=playGround::create(); beginScene->addChild(welcomeLayer,50); beginScene->addChild(backLayer,-20); beginScene->addChild(playLayer,0); returnbeginScene;}//用于创建场景boolforeGround::init(){if(!Layer::init()){returnfalse;} SizescrSize=Director::sharedDirector()->getWinSize();SizevisibleSize=Director::getInstance()->getVisibleSize();Vec2origin=Director::getInstance()->getVisibleOrigin();autocloseItem=MenuItemImage::create("blackblade/my_Scene/Close_Down.png","blackblade/my_Scene/Close_Select.png", CC_CALLBACK_1(foreGround::menuCloseCallback,this)); closeItem->setPosition(Vec2(origin.x+visibleSize.width-closeItem->getContentSize().width/2,origin.y+visibleSize.height-closeItem->getContentSize().height/2)); autobeginLabel=Label::createWithSystemFont("StartGame","Altas",34); beginLabel->setTextColor(Color4B(0,0,0,255)); autobeginItem=MenuItemLabel::create(beginLabel,CC_CALLBACK_1(foreGround::menuBeginCallback,this)); beginItem->setPosition(Vec2(origin.x+visibleSize.width*3.0/4.0,origin.y+visibleSize.height*0.5)); automenu=Menu::create(closeItem,beginItem,NULL);menu->setPosition(Vec2::ZERO);this->addChild(menu,1); log("addLayer:foreGroundSuccessly");returntrue;}//foregroundLayer的初始化boolplayGround::init(){ if(!Layer::init()) { returnfalse; } log("AddLayer:playGroundsuccessly!"); SizescrSize=Director::sharedDirector()->getWinSize(); SizevisibleSize=Director::getInstance()->getVisibleSize(); Vec2origin=Director::getInstance()->getVisibleOrigin(); Sprite*animationRun=runSprite::getRun(); animationRun->setAnchorPoint(Vec2(0,1)); SizegetRunSpSize=animationRun->getContentSize(); log("animationSpritewidth:%f,animationSpriteheigh:%f",getRunSpSize.width,getRunSpSize.height); animationRun->setPosition(Vec2(origin.x+getRunSpSize.width,origin.y+getRunSpSize.height));/* autospriteTest=Sprite::create("blackblade/Running/man_move1.png"); spriteTest->setPosition(origin.x+visibleSize.width/2,origin.y+visibleSize.height/2); this->addChild(spriteTest);*/ this->addChild(animationRun); returntrue;}//playgroundLayer的初始化三个场景的基本设置一样故不一一赘述。5.2进行场景GameControl*GameControl::create(Layer*layer,floatpositionY){ autoinitCon=newGameControl(); initCon->init(layer,positionY); initCon->autorelease(); returninitCon;}boolGameControl::init(Layer*layer,floatpositionY){ m_layer=layer; m_positionY=positionY; m_visibleSize=Director::getInstance()->getVisibleSize(); //addedge autoedge=Edge::create(); edge->setPosition(m_visibleSize.width/2,m_visibleSize.height/2+positionY); layer->addChild(edge); //addground autoground=Sprite::create(); ground->setColor(Color3B(0,0,0)); ground->setTextureRect(Rect(0,0,m_visibleSize.width,6)); ground->setPositionY(3+positionY); layer->addChild(ground); //addfireman autofireman=Fireman::create(); fireman->setPosition(50,fireman->getContentSize().height/2+positionY); layer->addChild(fireman); returntrue;}//进行时场景voidGameControl::OnUpdate(floatdt){ currectIndex++; if(currectIndex>=nextIndex) { reset(); addBlock(); }}//每一帧中调用障碍生成并设置下一个障碍物的出现距离voidGameControl::reset(){ currectIndex=0; nextIndex=(rand()%120)+60;}//设置障碍物的生成间隔voidGameControl::addBlock(){ autoblock=Block::create(); m_layer->addChild(block); block->setPositionY(block->getContentSize().height/2+m_positionY);}//添加障碍物//以上为游戏控制器调用,控制游戏中跑步角色的生成以及障碍物的生成5.3结束游戏结束游戏分为了两个连续的部分,首先是碰撞检测:voidGameScene::detectionCrash(){CCArray*bulletsToDelete=CCArray::create();bulletsToDelete->retain(); CCObject*bt,*et;CCArray*enemyToDelete=CCArray::create();enemyToDelete->retain();CCRectrectHero=this->heroLayer->getHero()->boundingBox();floatx=rectHero.origin.x+rectHero.size.width*0.3;floaty=rectHero.origin.y+rectHero.size.height*0.4;floatwidth=rectHero.size.width*0.3;floatheight=rectHero.size.height*0.6;CCRectrect_HeroForCrash=CCRectMake(x,y,width,height);//检测CCARRAY_FOREACH(this->enemyLayer->m_enemys,et){//break;Enemy*enemy=(Enemy*)et;if(enemy->getLife()==0){break;}//CCPointrect1=this->heroLayer->getHero()->getPosition();if(enemy->boundingBox().intersectsRect(rect_HeroForCrash)){this->heroLayer->setIsHeroLive(false);this->heroLayer->setHeroLifes(this->heroLayer->getHeroLifes()-1);enemyLayer->stopTakeEnemy();enemyLayer->bomb(enemy);enemyLayer->removeAllEnmeys();SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();inttempHightScore=GameScene::getHightestScore();if(this->m_totalScore>tempHightScore){GameScene::saveHightestScore(this->m_totalScore);}charlife[64];sprintf(life,"%d",this->heroLayer->getHeroLifes());CCLabelTTF*lbLife=(CCLabelTTF*)this->getChildByTag(tagOfLife);lbLife->setString(life);this->heroLayer->heroBomb(0.1f);if(this->heroLayer->getHeroLifes()==0){this->scheduleOnce(schedule_selector(GameScene::gameOverCallback),2.0f);}else{this->scheduleOnce(schedule_selector(GameScene::newLife),2.0f);}return;}}CCARRAY_FOREACH(this->heroLayer->getBullets()->m_bullets,bt){CCSprite*bullet=(CCSprite*)bt;CCARRAY_FOREACH(this->enemyLayer->m_enemys,et){Enemy*enemy3=(Enemy*)et;if(enemy3->boundingBox().intersectsRect(bullet->boundingBox())){if(enemy3->getLife()>1){enemy3->loseLife();bulletsToDelete->addObject(bullet);}elseif(enemy3->getLife()==1){enemy3->loseLife();bulletsToDelete->addObject(bullet);enemyToDelete->addObject(enemy3);this->m_totalScore+=enemy3->getScore();charstr1[20];sprintf(str1,"%d",(int)this->m_totalScore);CCLabelTTF*label1=(CCLabelTTF*)this->getChildByTag(tagOfScore);label1->setString(str1);}}}}//检测是否相撞在完成了得到检测之后,回调gameover,并创建gameover场景boolGameOver::init(){ LayerColor::create(); initWithColor(Color4B::WHITE); autooverLabel=Label::create(); overLabel->setString("GameOver!"); overLabel->setSystemFontSize(60); overLabel->setTextColor(Color4B::BLACK); this->addChild(overLabel); returntrue;}Scene*GameOver::createScene(){ autoOverscene=Scene::create(); autoOverlayer=GameOver::create(); Overscene->addChild(Overlayer); returnOverscene;}5.3Jump的实现voidGameCtrl::onUserTouch(){ hero->getPhysicsBody()->setVelocity(Vec2(0,400));}将火柴人做个刚体,赋予一个向上的速度即可实现jump.5.4随机障碍的实现以及销毁boolBlock::init(){ Sprite::init(); SizewinSize=Director::getInstance()->getVisibleSize(); setPositionX(winSize.width); setColor(Color3B(0,0,0)); Sizesize=Size((rand()%20)+5,(rand()%30)+10); setContentSize(size); setTextureRect(Rect(0,0,size.width,size.height)); setPhysicsBody(PhysicsBody::createBox(size)); getPhysicsBody()->setDynamic(false); getPhysicsBody()->setContactTestBitmask(1); scheduleUpdate(); returntrue;}//黑色障碍的随机生成voidBlock::update(floattime){ this->setPositionX(getPositionX()-5); if(getPositionX()<0) { unscheduleUpdate(); removeFromParent(); }}//障碍物的销毁

总结这次毕业设计,是对我三年所学知识的重新温习,我认识到了自身有很多不足。这次毕业设计的难点在游戏框架设计以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论