码迷,mamicode.com
首页 > 编程语言 > 详细

【Java】随机数生成器、GObject、事件驱动

时间:2015-09-05 19:27:36      阅读:416      评论:0      收藏:0      [点我收藏+]

标签:randomgenerator   cobjects   gpolygon   events   gcompound   

学习资源来自——斯坦福大学2008年的公开课


这部分内容主要是使用java进行绘图的操作,个人觉得是挺有趣的一块内容,看完捣鼓捣鼓自己做个拼图之类的小游戏玩玩也是可以的。


8、
随机数生成器:
    private RandomGenerator rgen=RandomGenerator.getInstance();

    
    方法:
        int nextInt(int low, int high)——返回一个介于两者之间的一个随机数
        int nextInt(int n)——返回一个介于0~n-1的随机数
        double nextDouble(double low, double high)——返回一个随机数d    low<=d<high
        double nextDouble()——返回一个随机数d 0<=d<1
        boolean nextBoolean()——返回true的概率为50%
        boolean nextBoolean(double p)——返回为true的概率为p 0<=p<1
        Color nextColor()——随机产生一种颜色
        赋予随机数计数器的第一个值称为种子,种子决定随机数产生的序列,一般用于测试数据
            rgen.setSeed(1);——用于测试使用

    模拟骰子:

技术分享
10—(10)、

    super()——调用父类构造函数

    acm.graphics——添加进画布中的图形是有堆叠顺序的

    GCanvas——拼贴画的背景画布

    画布(GCanvas)和图形程序(GraphicsProgram)具有的方法:
        add(object)  向画布中添加对象
        add(object,x,y)  指定显示坐标
        remove(object)  移除对象
        getElementAt(x,y)-frontmost or null  获取对象坐标
        getHidth()  获取宽度
        getHeight()  获取高度
        setBackground(c)-color 设置画布背景颜色

    图形程序独有的方法:
        pause(milliseconds)——暂停(单位为毫秒)  
        waitForClick()——等待鼠标点击事件

    CObjects通用方法:
        setLocation(x,y)  
        move(dx,dy)-偏移量  
        getX() getY()-返回对象的x和y坐标  
        getHidth() getHeight()-返回长和宽  
        contains(x,y)-返回真假(在特定的点处是否有存在对象)  
        setColor(c) getColor()-设置/获取对象颜色  
        setVisible(flag)——true/false  
        isVisible()-如果对象可视visible返回true
        sendToFront() sendToBack()——改变z轴顺序(最前,最后)
        sendForward() sendBackward()——在z轴上移动对象

    接口(Interface)——一组方法——有一组类它们都有同一组方法
        填充接口:GFillable——setFilled(flag)  isFilled()  setFillColor(c)  getFillColor()
        设置对象窗口:CResizable——setSize(width,height)  setBounds(x,y,width,height)
        缩放接口:GScalable——scale(sf)-缩放比例  scale(sx,sy)-x,y上分别缩放

    与排版有关的与字符有关的线:
        基线(baseline)——字符出现位置的线(有些字符会超出)-下滑线
        字符串高度(height):是指两行基准线之间的距离
        上线(ascent)——指最高的字符——让字符居中显示时使用
        下线(decent)——指基线下字符最远能达到的距离

技术分享

拼贴画示例:

技术分享

11-(11)、

    GPolygon——画出线段组成的对称图形

    需要有一个参考点(假想参考点)——一般是图形的中心点
    
    create an empty polygon
        addVertex(x,y)——指定多边形顶点——x、y是相对于参考点的坐标
        addEdge(dx,dy)——添加一个顶点与前一个点有关

    GCompound——画复合的图形-把几种图形复合在一起成为一个对象

    事件驱动程序(Event-driven Programs)

        监听器(listener)—impot java.awt.event.*;
            addMouseListeners()    
            addKeyListeners()

        Mouse Events:
            mouseClicked(e)    ——点击
            mousePressed(e)    ——按着鼠标
            mouseReleased(e)——松开鼠标
            mouseMoved(e)    ——移动鼠标
            mouseDragged(e)——按着鼠标拖动

        Keyboard Events:
            keyPressed(e)    ——按着鼠标
            keyReleased(e) ——松开鼠标
            keyTyped(e)——按下和释放的复合
        
    图片对象:

技术分享

   
    画一个菱形(根据顶点的顺序进行连线,可自行调整顺序测试):

技术分享

   
    鼠标事件监听 :

技术分享

   
    绘制复合图形:(通过调用可以绘制如下图所示图形)

技术分享














本文出自 “不发呆” 博客,请务必保留此出处http://tobeys.blog.51cto.com/10620284/1691590

【Java】随机数生成器、GObject、事件驱动

标签:randomgenerator   cobjects   gpolygon   events   gcompound   

原文地址:http://tobeys.blog.51cto.com/10620284/1691590

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!