鱼C论坛

 找回密码
 立即注册
查看: 6803|回复: 20

奥运五环!!!!

[复制链接]
发表于 2013-9-22 20:35:31 | 显示全部楼层 |阅读模式
2鱼币
本帖最后由 百日维新 于 2014-8-17 16:48 编辑

package acmDemo;

import java.awt.Color;
import java.lang.ProcessBuilder.Redirect;

import javax.swing.plaf.ColorUIResource;

import org.omg.CosNaming.NamingContextExtPackage.AddressHelper;

import acm.graphics.GOval;
import acm.program.GraphicsProgram;

public class ovalDemo extends GraphicsProgram{
   public void run(){
            GOval oval = new GOval(120, 120);
             add(oval,150,180);
             oval.setFilled(true);
             oval.setFillColor(Color.blue);
            GOval inOval = new GOval(100,100);
            add(inOval,160,190);
            inOval.setFilled(true);
            inOval.setFillColor(Color.white);
            GOval oval1 = new GOval(120, 120);
            add(oval1,280,180);
            oval1.setFilled(true);
            oval1.setFillColor(Color.black);
            GOval inOval2 = new GOval(100,100);
            add(inOval2,290,190);
            inOval2.setFilled(true);
            inOval2.setFillColor(Color.white);
            GOval oval2 = new GOval(120, 120);
            add(oval2,410,180);
            oval2.setFilled(true);
            oval2.setFillColor(Color.red);
            GOval inOval3 = new GOval(100, 100);
            add(inOval3,420,190);
            inOval3.setFilled(true);
            inOval3.setFillColor(Color.white);
            GOval oval3 = new GOval(120, 120);
            add(oval3,210,250);
            oval3.setFilled(true);
            oval3.setFillColor(Color.orange);
            GOval inOval4 =  new GOval(100,100);
            add(inOval4,220,260);
            inOval4.setFilled(true);
            inOval4.setFillColor(Color.white);
            GOval oval5 = new GOval(120,120);
            add(oval5,340,250);
            oval5.setFilled(true);
            oval5.setFillColor(Color.green);
            GOval inOval5 = new GOval(100, 100);
            add(inOval5,350,260);
            inOval5.setFilled(true);
            inOval5.setFillColor(Color.white);
            
            
   }
   public void init(){
           this.setSize(800,600);
   }
}
这样写得奥运五环  求大神看看有木有改进的算法,而且还是需要GOval类实现


但是有些线条在环中不能显示了

但是有些线条在环中不能显示了

最佳答案

查看完整内容

不要叫我师兄啦,我也才高三 其实我看到你的问题,才知道有acm这个包呢 其实Arc就是弧度的意思 让十个弧绕同一个点,每次半径增加一,这样就是一个有厚度的园了 另外,最后还要重写一次被覆盖的部分 ※附上acm源代码,里面有详细的注释 ※我平常只是小打小闹,没有写注释的习惯,抱歉了 最后希望能够获选最佳!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-22 20:35:32 | 显示全部楼层
本帖最后由 565123 于 2013-9-24 22:42 编辑

不要叫我师兄啦,我也才高三

其实我看到你的问题,才知道有acm这个包呢

其实Arc就是弧度的意思

让十个弧绕同一个点,每次半径增加一,这样就是一个有厚度的园了

另外,最后还要重写一次被覆盖的部分
※附上acm源代码,里面有详细的注释

※我平常只是小打小闹,没有写注释的习惯,抱歉了

最后希望能够获选最佳!!

acm.zip

328.71 KB, 下载次数: 12

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-22 22:40:24 | 显示全部楼层
本帖最后由 565123 于 2013-9-22 22:42 编辑

白色部分改成传递 new Color(0, true) ,将透明度设置为零
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-23 10:34:46 | 显示全部楼层

改了之后   外圆的填充背景颜色  将会把内圆里面填充了 还是不行啊!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-23 21:03:20 | 显示全部楼层
没办法,GOval只能是实心的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-23 21:14:40 | 显示全部楼层
565123 发表于 2013-9-23 21:03
没办法,GOval只能是实心的

那希望师兄有其他的方法帮我写一个行不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-23 21:26:06 | 显示全部楼层
本帖最后由 565123 于 2013-9-23 21:27 编辑

发现这种方法

  1.                 for (int i = 0; i < 10; i++) {
  2.                         GArc arc = new GArc(100 + i, 100 + i, 100 - (i << 1),
  3.                                         100 - (i << 1), 0, 360);
  4.                         arc.setColor(Color.RED);
  5.                         add(arc);
  6.                 }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-23 22:34:40 | 显示全部楼层
本帖最后由 565123 于 2013-9-23 22:37 编辑
  1. package acmDemo;

  2. import java.awt.Color;
  3. import acm.graphics.GArc;
  4. import acm.program.GraphicsProgram;

  5. public class ovalDemo extends GraphicsProgram {
  6.        
  7.         private static final long serialVersionUID = 7367209568284450456L;

  8.         public void run() {

  9.                 createArc(150, 180, Color.BLUE);
  10.                 createArc(280, 180, Color.BLACK);
  11.                 createArc(410, 180, Color.RED);
  12.                 createArc(215, 240, Color.ORANGE);
  13.                 createArc(345, 240, Color.GREEN);
  14.                 createArc(150, 180, Color.BLUE, -20, 45);
  15.                 createArc(280, 180, Color.BLACK, 200, 70);
  16.                 createArc(280, 180, Color.BLACK, -20, 45);
  17.                 createArc(410, 180, Color.RED, 200, 70);
  18.         }
  19.        
  20.        
  21.        
  22.         private void createArc(double x, double y, Color color) {
  23.                 createArc(x, y, color, 0, 360);
  24.         }



  25.         private void createArc(double x, double y, Color color,double start, double sweep){

  26.                 for (int i = 0; i < 10; i++) {
  27.                         GArc arc = new GArc(x + i, y + i, 120 - (i << 1),
  28.                                         120 - (i << 1), start, sweep);
  29.                         arc.setColor(color);
  30.                         add(arc);
  31.                 }
  32.         }

  33.         public void init() {
  34.                 this.setSize(800, 600);
  35.         }
  36. }
复制代码
终于写出真正的奥运五环了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-24 12:30:13 | 显示全部楼层
看起来好像很牛13,学习学习。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-24 18:16:45 | 显示全部楼层
565123 发表于 2013-9-23 22:34
终于写出真正的奥运五环了!!!

非常感谢师兄、遗憾的是没有写注释 我是刚刚自学Java 理解起来稍稍有点难度!希望我能够加师兄的扣扣 以后有问题能够请教你了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-25 10:18:20 | 显示全部楼层
新人,来看学习的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-25 10:20:56 | 显示全部楼层
鱼币太难得了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-25 12:30:17 | 显示全部楼层
565123 发表于 2013-9-24 22:29
不要叫我师兄啦,我也才高三

其实我看到你的问题,才知道有acm这个包呢

真实太感谢你了 我都大二了 如今才这么点知识。下来我认真看了 理解了 没事 加个扣 以后可以交流交流哈心得吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-25 20:43:09 | 显示全部楼层
好漂亮的说,以后也得试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-25 22:03:05 | 显示全部楼层
whyヾっ 发表于 2013-9-25 12:30
真实太感谢你了 我都大二了 如今才这么点知识。下来我认真看了 理解了 没事 加个扣 以后可以交流交流哈心 ...

什么‘扣’??

希望选最佳(在我的留言下方)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-25 22:28:15 | 显示全部楼层
565123 发表于 2013-9-25 22:03
什么‘扣’??

希望选最佳(在我的留言下方)

就是qq号,我加你吗 以后可以多多交流哒嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-25 22:53:03 | 显示全部楼层
没有在用,我在台湾都用facebook,不过你们应该不能用吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-26 10:32:14 | 显示全部楼层
565123 发表于 2013-9-25 22:53
没有在用,我在台湾都用facebook,不过你们应该不能用吧

对的 我们内地基本上都是用的qq、微博等等 我要去申请个Facebook 号,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-27 17:27:05 | 显示全部楼层
这个板块新开的?偶也刚学Java~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-27 21:19:16 | 显示全部楼层
可以设为最佳吗??拜托!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 07:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表