分类:
2008-10-15 16:31:56
突然从同学那发现了现成的gif图片,小球要好看多了,于是决定通过加载图片来加入小球……没想到,单是这个图片加载,就花了我半天的时间——唉,缺乏系统学习的后果-_-.参考了好几本书,用了好几种不同的代码,又尝试把图片文件放在不同的地方,可控制台却一直显示"URL = null"(加载不成功),无语掉!!!本想继续用Graphics里的drawImage来画图,这样的话还是可以实现小球的移动。现在看来只好用JButton,因为目前为止也只有JButton的setIcon()可以导入图片并显示出来了。但这样的话,小球的移动好像就不好实现了,算了,就让小球直接“飞”过去吧,这样的话,线程也省了^_^.
重新改了一下,小球终于可以出来了!接下来便开始做事件监听器,在JButton上加个actionListener还是比较方便呵,省得通过定位鼠标来确定棋盘格子。写鼠标响应时得考虑到是否已经有小球被选中(即此次鼠标是用于选中小球,还是为之前选的小球指定一个应该移到的位置),分不同情况处理。哈哈,小球可以用鼠标进行操作了。
开始写检查是否有五球同排的函数checkFive()。开了个数组directArray[8],用来记录一个格子的东、东北、北、西北、西、西南、南、东南八个方向上与该格小球同色的小球的数目,由于东-西,东北-西南,北-南,西北-东南各为一条线,所以只要directArray[i] + directArray[i + 4] + 1 > 5,那么就满足五球同排了。然后,加个消球的操作函数,再添上游戏状态的重置、检查棋盘是否已满(Game over)、游戏的重新开局等等。