天地之灵学习小组
我们学习小组的OpenGL学习笔记 大家一定要互相折磨呀~~
posts - 150,  comments - 156,  trackbacks - 0

最近都糊涂了我,从昨天晚上就一直认为周一上午就两节课,中午的时候倒在床上呼呼大睡,准备睡醒之后就去实验室搞搞明天图形学的上机,结果还是被殿下从睡梦中叫醒的,还以为是要去实验室的。洗了个脸,出门不经意间一瞟,竟然发现同班同学要去上课,大骇了一下,突然想到下午要上课的。随匆匆忙忙去上课,好在就迟到了一小小会。
今天晚上本来是想继续写代码的,诚然也写了一点,但是突然发现思绪了,那函数要写在哪个类里面都不知道了,想想还是再次系统地想一想吧。下面就是本次的一点小想法,以后大体上就会按照这个想法写下去了。

瓶子(class Bottle)的功能:

1.       首先是每一关,瓶子负责生成一个地图(根据关数来生成地图)这个当然是由构造函数来实现的啦Bottle(int level)

2.       根据MVC原理(自己这样理解的,错了请指正),每当药片移动一下(一段固定的时间)就要重新绘制一片瓶子drawBottle(),格子的每一行每一列都遍历一边,根据各自的属性把格子画出来;还有就是把格子的边框画出来,包括记分牌以及医生的形象。上面提到了固定时间,至于这个固定时间貌似是由Timer什么的来控制的,但是现在还不知道,暂且放一下吧。

3.       要想画瓶子,瓶子是由空格(这个就不用额外画了)、虫子、药片组成那就要有两个函数drawMedicine(Color color[2],位置以及其他参数),drawBug(Color color,位置以及其他参数)

4.       还要判断一下当前关是不是要挂掉了,如果挂掉了的话,重新初始化本关,貌似不用否则了。die()至于什么时候调用还是一个问题,有待于进一步考虑。咦,好像多此一举,根本就不要用这么一个函数吗,直接一个布尔性的变量不就搞定了嘛,真是笨啊我,那时开始,后来还是聪明了一点的嘛。

药片(Class Medicine)的功能:

1.         首先要生成一个药片吧Medicine(),默认的是水平放置的,至于是什么颜色的那就随机了,怎么个随机法,老实说暂时我也不知道,等写到的时候再说。这个写的仅仅是个具有指导意义的那个什么什么东西的。

2.         要想移动药片首先要判断他是否可以移动,如果不可以的话那就算了。关键在于是否可以移动,那怎样判断呢?想想还是比较麻烦的,干脆还是分类讨论一下吧,canMoveRight(参数)canMoveLeft(参数)canMoveDown(还是参数)只要它还是活动药片就会一直往下移动,直到它变成非活动药片。至于什么时候变成非活动药片那就要判断一下了,即判断它的下面是不是空的(EMPTY)

3.         如果药片可以移动药片会一直往下移动的要判断

4.         药片是会旋转的,并不是什么时候都可以旋转

OpenGL编程要有点OpenGL的味道吧

1.         首先是要有个初始化的函数吧,init()至于初始化什么到时候再说。

2.         其次还是要有个什么reshape()函数的,对这个函数还不是很明白(学了没几天OpenGL 就来编玛丽医生,我的命好苦啊!(天外来音:命苦也要好好写))

3.         display()这个函数是少不了了,负责来调用Bottle里面的drawBottle()函数。

4.         keyboard()函数也是少不了啦,专门负责控制当前活动药片移动的方向。

5.         估计这个就是OpenGL里面最最重要的一个函数了,哈哈就是main函数,main函数还是比较简单的,对窗口进行初始化一下然后就是调用各个已经写好了的函数啦。这就是玛丽医生的结尾了,看起来好简单哦,但是我知道写起来肯定不会有这么简单,今天写的是这么多字,估计到时候就要写这么多行了。还没写过这么多行的一个大程序,好期待哦。加油王冠,加油everyone!

 


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理



<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(6)

随笔分类(149)

随笔档案(150)

同道中人

搜索

  •  

积分与排名

  • 积分 - 46147
  • 排名 - 475

最新随笔

最新评论

阅读排行榜

评论排行榜