黑马程序员技术交流社区

标题: java画图系列 最后做个总结吧 [打印本页]

作者: justinwww    时间: 2016-1-20 23:11
标题: java画图系列 最后做个总结吧
有了之前的 让小球运动  撞墙反弹 鼠标控制 键盘控制 小球 我们可以做一个小程序 也相当于一个小游戏相信大家都玩过街头霸王那个游戏机,里面有个打字母的游戏 就是天上飘下来相应的字母 我们等还没落到地 按键盘 即可消除获的相应的分数
其实原理很简单  在之前的基础上加入一个积分即可  
首先让小球 随机生成  里面放入 随机生成的字母  然后以一定的速度 y++ 往下落 然后判断 还没碰到最下边的时候 监听键盘 如果和小球里面的字母一样即可消除



有了之前的基础 贴上关键的代码吧
for (int i = 0; i < 10; i++) {//循环生成 x y 坐标 以及 相应的字母
                        x[i] = (int)(Math.random()*300) ;
                        y[i] = (int)(Math.random()*300) ;
                        c[i] = (char)(Math.random()*26+97) ;
                }

for(int i = 0 ; i < 10 ; i ++){//循环画出 xy坐标 画出 10个 字母
                        g.drawString(new Character(c[i]).toString(), x[i] , y[i]) ;
                }

判断是否下落到底部 然后减分
for (int i = 0; i < 10; i++) {
                                y[i] ++ ;
                                if(y[i]>400){
                                        y[i] = 0 ;
                                        x[i] = (int)(Math.random()*300) ;
                                        c[i] = (char)(Math.random()*26+97) ;
                                        score -= 100 ;
                                }


判断是否 和键盘 给定的字母一样 这里涉及到一个 如果点击后 给定一个状态 这样就不会 重复消失
char keyC = arg0.getKeyChar() ;
                int nowY = -1 ;
                int nowIndex = -1 ;
                for(int i = 0 ; i < 10 ; i ++){
                        if(keyC==c[i]){
                                if(y[i]>nowY){
                                        nowY = y[i] ;
                                        nowIndex = i ;
                                }
                        }
                }
               
                if(nowIndex!=-1){
                        y[nowIndex] = 0 ;
                        x[nowIndex] = (int)(Math.random()*300) ;
                        c[nowIndex] = (char)(Math.random()*26+97) ;
                        score += 10 ;
                }else {
                        score -= 100 ;
                }
               






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2