| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 737 人关注过本帖
标题:SPACE的问题.
只看楼主 加入收藏
无语的我
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-4-25
收藏
 问题点数:0 回复次数:5 
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-05-04 19:58
奔跑的鸟
Rank: 1
等 级:新手上路
帖 子:391
专家分:0
注 册:2006-1-20
收藏
得分:0 
你不用结构试试看,设个全局变量的x,y。
你的程序里根本就没调用drawgun()函数,不知道是不是结构成员传递问题

简单的快乐着~
2007-05-04 21:46
无语的我
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-4-25
收藏
得分:0 

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


2007-05-05 11:07
奔跑的鸟
Rank: 1
等 级:新手上路
帖 子:391
专家分:0
注 册:2006-1-20
收藏
得分:0 
我试了下,已确认,是你space编码不对,你可以改成0x1e61,然后按a注意是小写的,就可以了

简单的快乐着~
2007-05-05 11:18
无语的我
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-4-25
收藏
得分:0 
谢谢.

2007-05-05 17:55
奔跑的鸟
Rank: 1
等 级:新手上路
帖 子:391
专家分:0
注 册:2006-1-20
收藏
得分:0 
8客气,你想做游戏的话,建议你的drawgun函数那种循环不要,放在play()函数里的while循环里,否则子弹动的时候其他东西都不能动的

简单的快乐着~
2007-05-05 19:02
快速回复:SPACE的问题.
数据加载中...
 
   



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

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