| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1828 人关注过本帖
标题:用C语言的图像函数画一个简单的坦克图样
只看楼主 加入收藏
nanqingzhe
Rank: 2
等 级:论坛游民
帖 子:22
专家分:47
注 册:2010-4-24
收藏
 问题点数:0 回复次数:8 
用C语言的图像函数画一个简单的坦克图样

#include "graphics.h"
#include "conio.h"
void Tanke(int x,int y,int R,int TColor,int FColor)
{
    int i,j,d,t;
    d=R/4;
    t=d*0.6;
    setcolor(TColor);
   
    /* ------------------------------------------------------------------------------ */
    line(x-R,y,x+R-t,y);
    line(x-R,y,x-R+d,y+2*d);
    line(x-R+d,y+2*d,x+3*d,y+2*d);
    line(x+3*d,y+2*d,x+R-t,y);
   
    /* ------------------------------------------------------------------------------ */
    line(x-R,y,x-R+t,y-t);
    line(x-R+t,y-t,x-2*d,y-t);
    line(x-2*d,y-t,x-2*d+t,y-d-t);
    line(x-2*d+t,y-d-t,x-3*d,y-d-t);
    line(x-3*d,y-d-t,x-3*d+t,y-2*d);
    line(x-3*d+t,y-2*d,x+R-t,y-2*d);
    line(x+R-t,y-2*d,x+R-t,y);
   
    /* ------------------------------------------------------------------------------ */
    line(x-3*d,y-d-t,x-2*d,y-t);
   
    /* ------------------------------------------------------------------------------ */
    line(x-R+d-t,y+2*(d-t),x+3*d+R*0.04,y+2*(d-t));
    for(i=0;i<2*(R/d-1);i++)
      line(x-3*d+i*d,y+2*(d-t),x-3*d+i*d,y+2*d);
      
    /* ------------------------------------------------------------------------------ */
    setfillstyle(1,TColor);
    bar(x-d*1.2,y-d*0.6,x+d*2,y-d*0.2);         
    line(x-d*1.2,y-d*0.6,x-d*0.6,y-d*1.8);
    line(x-d*0.6,y-d*1.8,x+d*2.4,y-d*1.8);
    line(x+d*2.4,y-d*1.8,x+d*2,y-d*0.6);
    line(x-d*2.4,y-d*1.8,x+d*2.4,y-d*1.4);
    line(x+d*2,y-d*0.2,x+d*2.4,y-d*1.4);
   
    /* ------------------------------------------------------------------------------ */
    sector(x+d*0.6,y-d,0,180,d*1.2,d*1.4);
   
    /* ------------------------------------------------------------------------------ */
    for(i=0;i<d*0.3;i++)                                //画炮杆
      line(x+d*0.2,y-d*1.8+i,x-d*2.5,y-d*1.8+i);
      setfillstyle(1,FColor);
    bar(x-d*3,y-d*1.9,x-d*2.3,y-d*1.3);                 //画炮头
            
   
}

main()
{
    int gd=DETECT,gm;
    initgraph(&gd,&gm,"D:\Program Files\CYuYan\WinTc");
    setbkcolor(0);
    Tanke(300,200,50,WHITE,RED);
   
    getch();
    closegraph();
        
    return 0;
}



说明:"D:\Program Files\CYuYan\WinTc"表面我所用的编译软件所在的位置,WinTc为启动程序名称。对着多面编译软件的图标点击右键选择“属性”,直接复制和粘贴就可以了,不过WinTc后面的.exe要去掉
搜索更多相关主题的帖子: C语言 坦克 图样 函数 图像 
2010-05-14 23:55
肟狁
Rank: 2
等 级:论坛游民
帖 子:44
专家分:33
注 册:2010-5-8
收藏
得分:0 
学习
2010-05-15 00:15
李媛媛
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-22
收藏
得分:0 
zx
2010-05-22 19:05
关关雎鸠
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:164
专家分:170
注 册:2010-4-13
收藏
得分:0 
试着学习,谢
2010-05-22 19:16
zxmmm
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-5-22
收藏
得分:0 
hao
2010-05-22 20:58
狮子王
Rank: 1
等 级:新手上路
帖 子:13
专家分:7
注 册:2010-4-14
收藏
得分:0 
为什么我用的Vc,提示d:\debug\坦克.cpp(1) : fatal error C1083: Cannot open include file: 'graphics.h': No such file or directory
这是怎么回事?
2010-05-22 22:47
rtgirl
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-22 23:51
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
回复 7楼 rtgirl
有时间研究学习下你的图形库哈~~~
2010-05-23 10:56
自强不懈
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-5-31
收藏
得分:0 
目的:让小圆圈随机的出现在格子里边
#include<graphics.h>
#include<stdlib.h>
#include<time.h>

1 main()
2  {  \\*Begin*\\
3    int i,j,m,n,p,q;\\*定义整形变量*\\
4    int gdriver=DETECT,gmode=0;\\*画图函数的一部分*\\
5    int x=0,y=0;\\*给XY初始化(后面会用到)*\\
6    registerbgidriver(EGAVGA_driver);\\*画图函数的一部分*\\
7    initgraph(&gdriver,&gmode,"");\\*画图函数的一部分*\\
8    setbkcolor(3);\\*设置背景颜色*\\
9    scanf("%d,%d",&m,&n);\\*给m,n赋值*\\
10   srand((unsigned) time(NULL));\\*随机函数*\\
11   p=rand()%m;\\*给P赋值*\\
12   q=rand()%n;\\*给Q赋值*\\
13   loop:if(p%10==0&&q%10==0)\\*使得P,Q都可以被十整除*\\
14    {\\*Begin*\\
15         x=p;\\*把P的值赋给X*\\
16         y=q;\\*把Q的值赋给Y*\\
17    }\\*End*\\
18   else goto loop;\\*否则跳回loop执行if语句*\\
19   for(i=0;i<=m-10;i=i+10)\\*画线函数的一部分*\\
20   line(10+i,10,10+i,460);\\*画线函数的一部分*\\
21   for(j=0;j<=n-10;j=j+10)\\*同19*\\
22   line(10,10+j,460,10+j);\\*同20*\\
23   delay(1000);\\*延迟*\\
24   Moving(x,y);\\*调用函数Moving*\\
25   getch();\\*为了看到函数图像做的一个“暂停”*\\
26  }\\*end*\\

27 Moving(x,y)\\*函数*\\
28  {\\*Begin*\\
29       registerbgidriver(EGAVGA_driver);
30       circle(x,y,4);\\*画○函数*\\
31  }\\*End*\\
可是一切都不是我设想的那样,圆圈圈一直在图像的左上角,根本不会随机出现在格子里边。各位大哥大姐,请帮帮忙吧!!让我的圆圈圈出现在格子里面吧!!!
联系QQ1217785041
2010-06-11 18:18
快速回复:用C语言的图像函数画一个简单的坦克图样
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018015 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved