| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 322 人关注过本帖
标题:SPACE的问题.
收藏  订阅  推荐  打印 
无语的我
Rank: 2
等级:注册会员
帖子:63
积分:730
注册:2006-4-25
SPACE的问题.

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
#define SPACE 0x39


struct
{
int x;
int y;
}face;


void initgr(void)
{
int gd = DETECT, gm = 0;
initgraph(&gd, &gm, "");
}
void Draw();
void play();
void Drawgun(int x,int y);
int main(void)
{
initgr();
play();
closegraph();
getch();
return 0;
}

void Draw()
{
int i;
setcolor(11);
/* setlinestyle(SOLID_LINE,0,THICK_WIDTH);*/
for(i=50;i<=600;i+=10)
{
rectangle(i,40,i+10,49);
rectangle(i,451,i+10,460);
}
for(i=40;i<=450;i+=10)
{
rectangle(50,i,59,i+10);
rectangle(601,i,610,i+10);
}
}

void play()
{
int key;
face.x=450;
face.y=200;
cleardevice();
setcolor(GREEN);
circle(face.x,face.y,15);
Draw();
while(1)
{
key=bioskey(0);
setcolor(BLACK);
switch(key)
{
case LEFT: circle(face.x,face.y,15);
face.x-=5;
if(face.x<79)
face.x+=5;
break;
case RIGHT: circle(face.x,face.y,15);
face.x+=5;
if(face.x>583)
face.x-=5;
break;
case DOWN: circle(face.x,face.y,15);
face.y+=5;
if(face.y>433)
face.y-=5;
break;
case UP: circle(face.x,face.y,15);
face.y-=5;
if(face.y<67)
face.y+=5;
break;
case SPACE: Drawgun(face.x,face.y);
break;
case ESC: exit(0);
}
setcolor(GREEN);
circle(face.x,face.y,15);
}
}

void Drawgun(int x,int y)
{
int i;
setcolor(RED);
for(i=0;i<200;i++)
{
circle(x+i,y,3);
setcolor(BLACK);
delay(10000);

circle(x+i,y,3);
setcolor(RED);
}

}
好像执行不了Drawgun()这个函数.刚接触图形这方面的.
哪个大哥帮下啊.

搜索更多相关主题的帖子: SPACE  
2007-5-4 19:58
奔跑的鸟
Rank: 3Rank: 3
等级:中级会员
帖子:360
积分:4296
注册:2006-1-20

你不用结构试试看,设个全局变量的x,y。
你的程序里根本就没调用drawgun()函数,不知道是不是结构成员传递问题

简单的快乐着~
2007-5-4 21:46
无语的我
Rank: 2
等级:注册会员
帖子:63
积分:730
注册:2006-4-25

现在的问题是.执行不了那个case SPACE:这个语句.


2007-5-5 11:07
奔跑的鸟
Rank: 3Rank: 3
等级:中级会员
帖子:360
积分:4296
注册:2006-1-20

我试了下,已确认,是你space编码不对,你可以改成0x1e61,然后按a注意是小写的,就可以了

简单的快乐着~
2007-5-5 11:18
无语的我
Rank: 2
等级:注册会员
帖子:63
积分:730
注册:2006-4-25

谢谢.

2007-5-5 17:55
奔跑的鸟
Rank: 3Rank: 3
等级:中级会员
帖子:360
积分:4296
注册:2006-1-20

8客气,你想做游戏的话,建议你的drawgun函数那种循环不要,放在play()函数里的while循环里,否则子弹动的时候其他东西都不能动的

简单的快乐着~
2007-5-5 19:02
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.067435 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved