• 程序员的乐趣


    情人节-程序员的乐趣

    2013-08-13 23:32:30

    乘情人节还没有过去,作为一个屌丝程序员,从来没有过过情人节。不过我们也有自己的乐趣,这个时候貌似只有海子的《面朝大海》能够啊Q式慰藉自己。

    不多说了,早上上班的时候看到google首页,就感觉很有爱,不过当时没怎么玩,只是点点了,听听背景音乐,感觉甚好。话说作为程序员,看看国内某著名搜索引擎的情况就显得捉襟见肘了。咱没鄙视它的权利,没准它还会鄙视我等屌丝程序员,有zf支持,能赚钱才是硬道理啊!作为屌丝程序员还是先玩玩谷歌的小游戏,不为搜索,只想玩玩,呵呵,谁叫咱单身屌丝。上传几张图片,祝福哪些牛郎、织女们!!!

    first

    second

    third.

    作为成员员,怎么也不能只玩玩这个吧,搞个小程序也许更有爱!呵呵。

    复制代码
     1  /**  
     2  * filename:Star.java  
     3  *  
     4  * CopyRight:  
     5  * Date:2013-8-13  
     6  * Copyright JanneLee Corporation 2013   
     7  * Copyright
     8  * version 1.0 
     9  */
    10 import java.awt.Color;  
    11 import java.awt.Graphics;  
    12 import java.awt.Image;  
    13 import java.awt.Toolkit;  
    14 import javax.swing.JFrame;  
    15   
    16 public class StarTwo extends JFrame implements Runnable {  
    17     private static final long serialVersionUID = 1L;
    18     public static final int GAME_WIDTH = 500;  
    19     public static final int GAME_HEIGHT = 500;  
    20     public static final int WIDTH = Toolkit.getDefaultToolkit()  
    21             .getScreenSize().width;  
    22     public static final int HEIGHT = Toolkit.getDefaultToolkit()  
    23             .getScreenSize().height;  
    24   
    25     public StarTwo() {  
    26         this.setTitle("情人节快乐");  
    27         this.setLocation((WIDTH - GAME_WIDTH) / 2, (HEIGHT - GAME_HEIGHT) / 2);  
    28         this.setSize(GAME_WIDTH, GAME_HEIGHT);  
    29         this.setBackground(Color.BLACK);  
    30         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
    31         this.setVisible(true);  
    32     }  
    33   
    34     @Override  
    35     public void paint(Graphics g) {  
    36           
    37         double x, y, r;  
    38         Image OffScreen = createImage(GAME_WIDTH, GAME_HEIGHT);  
    39         Graphics drawOffScreen = OffScreen.getGraphics();  
    40   
    41         for (int i = 0; i < 90; i++) {  
    42             for (int j = 0; j < 90; j++) {  
    43                 r = Math.PI / 45 * i * (1 - Math.sin(Math.PI / 45 * j)) * 18;  
    44                 x = r * Math.cos(Math.PI / 45 * j) * Math.sin(Math.PI / 45 * i)  
    45                         + GAME_WIDTH / 2;  
    46                 y = -r * Math.sin(Math.PI / 45 * j) + GAME_HEIGHT / 4;  
    47                   
    48                 drawOffScreen.setColor(Color.RED);  
    49                 drawOffScreen.fillOval((int) x, (int) y, 2, 2);  
    50             }  
    51             g.drawImage(OffScreen, 0, 0, this);  
    52         }  
    53     }  
    54   
    55     public static void main(String[] args) {  
    56         StarTwo demo = new StarTwo();  
    57         Thread t = new Thread(demo);  
    58         t.start();  
    59     }  
    60   
    61     @Override  
    62     public void run() {  
    63         while (true) {  
    64             try {  
    65                 Thread.sleep(4000);  
    66                 this.repaint();  
    67             } catch (InterruptedException e) {  
    68                 e.printStackTrace();  
    69             }  
    70         }  
    71     }  
    72 }  
    复制代码

    作为玩,还体验了一下javafx.perfect啊。

    复制代码
     1   
     2  /**  
     3  * filename:Star.java  
     4  *  
     5  * CopyRight:  
     6  * Date:2013-8-13  
     7  * Copyright JanneLee Corporation 2013   
     8  * Copyright
     9  * version 1.0 
    10  */
    11 
    12     import javafx.application.Application;
    13     import javafx.scene.Scene;
    14     import javafx.scene.canvas.Canvas;
    15     import javafx.scene.canvas.GraphicsContext;
    16     import javafx.scene.layout.StackPane;
    17     import javafx.scene.paint.Color;
    18     import javafx.stage.Stage;
    19 
    20     public class Star extends Application {
    21 
    22         @Override
    23         public void start(Stage primaryStage) {
    24             int width, height;
    25             Canvas canvas = new Canvas(350, 350);
    26             width = (int) canvas.getWidth();
    27             height = (int) canvas.getHeight();
    28 
    29             GraphicsContext gc = canvas.getGraphicsContext2D();
    30             double x, y, r;
    31             for (int i = 0; i <= 90; i++  ) {
    32                 for (int j = 0; j <= 90; j++  ) {
    33                     //转换为直角坐标系,设置偏移量,使图画居中
    34                     r = Math.PI / 45 * i * (1 - Math.sin(Math.PI / 45 * j)) * 19;
    35                     x = r * Math.cos(Math.PI / 45 * j) * Math.sin(Math.PI / 45 * i)+width / 2;
    36                     y = -r * Math.sin(Math.PI / 45 * j)+height / 4;
    37 
    38                     gc.setFill(Color.RED);
    39                     gc.fillOval(x, y, 2, 2);
    40                     gc.fillOval(x, y, 1, 1);
    41                 }
    42             }
    43 
    44             StackPane root = new StackPane();
    45             root.getChildren().add(canvas);
    46             Scene scene = new Scene(root, Color.BLACK);
    47             System.out.println("r=a(1-sinθ)");
    48             primaryStage.setTitle("情人节快乐!");
    49             primaryStage.setScene(scene);
    50             primaryStage.show();
    51         }
    52 
    53         public static void main(String[] args) {
    54             launch(args);
    55         }
    56     }
    复制代码

     


    作者:Janne Lee 
    邮箱:JanneLeeMAC@gmail.com 
    出处:http://www.cnblogs.com/accipiter/ 
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 
    该文章也同时发布在我的独立博客中-Accipter'blog

  • 相关阅读:
    Rotate Always Encrypted keys using SQL Server Management Studio
    ABP Web Application Development Tutorial Part 1: Creating the Server Side
    Fiddler 2 Wipes My Internet Explorer Proxy Settings
    API设计浅析
    泛型的实现浅谈
    搜狗workflow异步调度框架
    MQTT 和 CoAP
    深入理解左值、右值
    C++ 头文件接口设计浅谈
    Windows无Internet但能正常上网的问题
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3256830.html
Copyright © 2020-2023  润新知