发表于: 2017-09-12 21:47:40

1 917


开学一周多了。之前在做毕业设计,准确地说是瞎做。我以为本科会像专科那样课题自己定,然后自己做就是了。程序写了 一大半的时候那天开班会班主任说课题是老师给,挂在教务网上自己查,然后选一个做。操蛋的学校。也有人说课题自己定。那毕设就先放着吧,谁知道是什么个情况。课题给了的话时间紧点一两个星期左右应该就能完成。

荒废了好长时间,键盘都能看见灰了。

1.6 下大雪

需求:尽量不看现成的程序完成下大雪的程序。

步骤:

1 随机生成300个坐标作为雪花;

2 所有雪花沿y轴落下;

3 当雪花落到低,到达屏幕低端时,让它再跑到屏幕最上方,循环落下。

4 可以加一些条件让一些坐标的X坐标也动起来,产生风的效果。

实现程序:

import java.awt.* ;

import java.awt.event.* ;

public class Snow {

public static void main(String[] args) {

Frame w = new Frame() ;

w.setSize(1000 , 500) ;

w.setBackground(new Color(90 , 70 , 149)) ;

myPanelSnow mp = new myPanelSnow() ;

w.add(mp) ;

Thread t = new Thread(mp) ;

t.start() ;

w.show() ;

w.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0) ;

}

});

}

}

class myPanelSnow extends Panel implements Runnable{

int[] x300 = new int[300] ;//x300数组用来储存三百个随机数的x坐标

int[] y300 = new int[300] ;

{//在这个代码块里用循环生成随机坐标

for(int i = 0 ;  i < 300 ; i ++) {

int x = (int)(Math.random()*1000) ;

int y = (int)(Math.random()*500) ;

x300[i] = x ;

y300[i] = y ;

}

}

public void paint(Graphics g) {

g.setColor(new Color(192 , 192 , 192)) ;

for(int i = 0 ;  i < 300 ; i ++) {

g.drawString("*" , x300[i] , y300[i]) ;

}

}

public void run() {

while(true) {

for(int i = 0 ; i < 300 ; i ++) {

if((int)(x300[i] % 2) == 0) {//使雪能横向飞

x300[i] += 8 ;

}

y300[i] += 3 ;

if(y300[i] >= 500) {

y300[i] = 0 ;

}

if(x300[i] >= 1000) {

x300[i] = 0 ;

}

}

try {

Thread.sleep(80) ;

}catch(Exception e) {}

repaint() ;

}

}

}

程序结束符

你发如雪 纷飞了眼泪 我等待苍老了谁~~

独立完成程序后看书,书上提到了数组是批量声明变量的工具,赞同。

在类中只能有变量的声明和方法,任何尝试写在类中的语句都会报错:

可以使用代码块和构造函数来解决这一问题。



返回列表 返回列表
评论

    分享到