- [hwsoot] 学习 04/26 03:20
- [游客] 能不能把破解版发我啊?谢谢啊.zjjhfhj@qq.com 05/11 17:35
- [parse] 赞一个! 04/17 20:46
- [游客] 能不能把破解版发我啊?谢谢啊,673856545@qq.com 04/17 13:53
- [游客] 能不能把破解版发我啊?谢谢啊,86738484@qq.com 04/06 21:26
- [游客] 解决了 谢谢~~ 02/24 08:56
- [游客] 怎么解决的呢? 02/24 08:54
- [游客] 能把你破解的版本发给我吗,谢谢.306844939@qq.com 01/18 19:34
- [游客] 通过了,谢谢~~~ 12/06 16:38
- [gsyangchao] 非常不错! 10/09 10:43
- [游客] [url=http://www.gddzbq.com]深圳搬家公司[/url] [url=http 03/02 15:10
- [ewer87] 找到了.PHPmyadmin.. 05/24 14:00
- [ewer87] 请问你在8tt,那个数据库是怎么应用的? 是自己上传么? 为什么传不上去? 不懂。我是第 05/24 13:19
[2010-05-01 17:50] 《c高级编程技术》实验一答案
实验一是写一个程序(废话),控制单词从上面落下,输入正确时单词消失。
写得很乱,大家随便看看吧。(另外关于第二题,只是让我写个菜单吧,就不写了,继续下一章的学习)
/**/
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
#include <conio.h>
int ran_words_num();
int ran_x();
void box(int startx,int starty,int width,int heigh); /*画最外层的两个框*/
main()
{
int i=0,j=0,temp,key=0,wordx=20,wordy=23,cur_wordx,cur_wordy,wordsx=23,wordsy=7,flag=0,words_num,score=0,down_long=0,guess_count=0;
char buf[1000*2],buf1[50*2];
char word[10]="";
char *words[]={"hello","world","hey","abrupt","accept"}; /*下落的单词*/
textmode(C80);
textbackground(BLUE);
textcolor(LIGHTGRAY);
clrscr();
box(20,5,40,15);
box(21,6,38,13);
gettext(21,6,59,19,buf);
gettext(wordx,wordy,wordx+10,wordy+1,buf1);
cur_wordx=wordx;
cur_wordy=wordy;
wordsx=ran_x();
words_num=ran_words_num();
gotoxy(60,22);
printf("score:%d",score*10);
flag=0;
while(down_long<12) /*下落循环开始*/
{
sleep(1);/*delay(100000000000);*/ /*调节下落速度,大家可以自己调节*/
puttext(21,6,59,19,buf);
gotoxy(wordsx,wordsy+down_long);
printf("%s",words[words_num]);
down_long++;
while(bioskey(1)) /*判断是否有按键*/
{
key=bioskey(0);
switch(key) /*按键的处理*/
{
case(0x11b): /*按ESC时退出*/
exit(0);
case(0xe08): /*退格符的处理*/
{
cur_wordx--;
gotoxy(cur_wordx,cur_wordy);
textcolor(BLUE);
cprintf(" ");
cur_wordx--;
break;
}
case(0x1c0d):/*回车键的处理*/
{
guess_count++;
puttext(wordx,wordy,wordx+10,wordy+1,buf1);
if(!strcmp(word,words[words_num]))
{
gotoxy(60,22); /*输入正确时的处理*/
score++;
printf("score:%d",score*10);
wordsx=ran_x();
words_num=ran_words_num();
down_long=0;
flag=1;
}
cur_wordx=wordx;
cur_wordy=wordy;
} /*回车键的处理结束*/
} /*按键处理结束*/
if(wordx<30)
{
if(flag==0&&key!=0x1c0d) /*上面对回车时间进行了处理,这里就不用处理了,不然会出现错误,我找这个错误找了很久,哈哈*/
{
textcolor(WHITE);
gotoxy(cur_wordx,cur_wordy);
putch(key);
word[cur_wordx-20]=key&0xff;
cur_wordx++;
}
else if(flag==1)
{
flag=0;
}
}
}/*判断是否有按键结束*/
} /*下落循环结束*/
}
int ran_words_num() /*控制出现哪个单词*/
{
randomize();
return random(5);
}
int ran_x() /*控制下落单词的横坐标*/
{
randomize();
return random(32)+23;
}
void box(int startx,int starty,int width,int heigh)
{
int i;
gotoxy(startx,starty);
putch(0xda);
for(i=0;i<width-1;i++)
putch(0xc4);
putch(0xbf);
for(i=0;i<heigh;i++)
{
gotoxy(startx,starty+i+1);
putch(0xb3);
gotoxy(startx+width,starty+i+1);
putch(0xb3);
}
gotoxy(startx,starty+heigh);
putch(0xc0);
for(i=0;i<width-1;i++)
putch(0xc4);
putch(0xd9);
}
写得很乱,大家随便看看吧。(另外关于第二题,只是让我写个菜单吧,就不写了,继续下一章的学习)
/**/
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
#include <conio.h>
int ran_words_num();
int ran_x();
void box(int startx,int starty,int width,int heigh); /*画最外层的两个框*/
main()
{
int i=0,j=0,temp,key=0,wordx=20,wordy=23,cur_wordx,cur_wordy,wordsx=23,wordsy=7,flag=0,words_num,score=0,down_long=0,guess_count=0;
char buf[1000*2],buf1[50*2];
char word[10]="";
char *words[]={"hello","world","hey","abrupt","accept"}; /*下落的单词*/
textmode(C80);
textbackground(BLUE);
textcolor(LIGHTGRAY);
clrscr();
box(20,5,40,15);
box(21,6,38,13);
gettext(21,6,59,19,buf);
gettext(wordx,wordy,wordx+10,wordy+1,buf1);
cur_wordx=wordx;
cur_wordy=wordy;
wordsx=ran_x();
words_num=ran_words_num();
gotoxy(60,22);
printf("score:%d",score*10);
flag=0;
while(down_long<12) /*下落循环开始*/
{
sleep(1);/*delay(100000000000);*/ /*调节下落速度,大家可以自己调节*/
puttext(21,6,59,19,buf);
gotoxy(wordsx,wordsy+down_long);
printf("%s",words[words_num]);
down_long++;
while(bioskey(1)) /*判断是否有按键*/
{
key=bioskey(0);
switch(key) /*按键的处理*/
{
case(0x11b): /*按ESC时退出*/
exit(0);
case(0xe08): /*退格符的处理*/
{
cur_wordx--;
gotoxy(cur_wordx,cur_wordy);
textcolor(BLUE);
cprintf(" ");
cur_wordx--;
break;
}
case(0x1c0d):/*回车键的处理*/
{
guess_count++;
puttext(wordx,wordy,wordx+10,wordy+1,buf1);
if(!strcmp(word,words[words_num]))
{
gotoxy(60,22); /*输入正确时的处理*/
score++;
printf("score:%d",score*10);
wordsx=ran_x();
words_num=ran_words_num();
down_long=0;
flag=1;
}
cur_wordx=wordx;
cur_wordy=wordy;
} /*回车键的处理结束*/
} /*按键处理结束*/
if(wordx<30)
{
if(flag==0&&key!=0x1c0d) /*上面对回车时间进行了处理,这里就不用处理了,不然会出现错误,我找这个错误找了很久,哈哈*/
{
textcolor(WHITE);
gotoxy(cur_wordx,cur_wordy);
putch(key);
word[cur_wordx-20]=key&0xff;
cur_wordx++;
}
else if(flag==1)
{
flag=0;
}
}
}/*判断是否有按键结束*/
} /*下落循环结束*/
}
int ran_words_num() /*控制出现哪个单词*/
{
randomize();
return random(5);
}
int ran_x() /*控制下落单词的横坐标*/
{
randomize();
return random(32)+23;
}
void box(int startx,int starty,int width,int heigh)
{
int i;
gotoxy(startx,starty);
putch(0xda);
for(i=0;i<width-1;i++)
putch(0xc4);
putch(0xbf);
for(i=0;i<heigh;i++)
{
gotoxy(startx,starty+i+1);
putch(0xb3);
gotoxy(startx+width,starty+i+1);
putch(0xb3);
}
gotoxy(startx,starty+heigh);
putch(0xc0);
for(i=0;i<width-1;i++)
putch(0xc4);
putch(0xd9);
}
评论次数(0) |
浏览次数(1036) |
类型(C语言) |
收藏此文 |