| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2820 人关注过本帖, 1 人收藏
标题:初学C语言写的小小游戏!
只看楼主 加入收藏
Kiu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:68
专家分:107
注 册:2009-7-31
收藏
得分:0 
顶了,code 我拷走了

   留着慢慢研究
2009-10-19 11:12
ljt0000mf
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:104
专家分:157
注 册:2009-7-4
收藏
得分:1 
楼主辛苦了,
游戏不错;
祝早日成为CHINA设计一款成功的大作;
2009-10-19 11:32
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:10 
很不错,有想法,我有个建义,你的程序一直在清屏和输出地图,给可以改进用gotoxy函数。算出你你接下来要移动或是改动的字符的x和y的坐标,用gotoxy函数直接到你要改动字符的坐标进行改动就可以了。就不用总是清屏。
·
给你个列子,看gotoxy函数的用法,再来修改你的小游戏试试。
·
这是个动画排序,这是从大到小的排序,这种排序方法书上没有,也不提倡使用这种方法,只是演示这种排序方法的过程
程序代码:
#include <stdio.h> 
#define yn 10 
#define xn 5 
 
void qk(int y) 
{ 
 int i; 
 while(y!=yn) 
   { 
    for(i=5;i<=50;i+=5) 
      { 
       gotoxy(i,y); 
       putch(' '); 
      } 
    if(y==yn-3||y==yn+3)break; 
    if(y<yn)y++; 
    else y--; 
   } 
} 
 
 
int main(void) 
{ 
 
    int a[10] = {3,2,1,5,7,4,6,9,8,2}; 
    int x,y,i,j,temp,xx,yy; 
    clrscr(); 
    gotoxy(1,yn); 
    for(i=0;i<10;i++) 
      printf("%*d",xn,a[i]); 
    sleep(1); 
 
 
 
    for (x = 0; x < 10; x++) 
    { 
       qk(yn-2); 
       gotoxy(xn*(x+1),8); 
       putch('x'); 
       gotoxy(xn*(x+1),9); 
       putch(25); 
       for (y = 0; y < 10; y++) 
       { 
      sleep(1); 
 
       qk(yn+2); 
       gotoxy(xn*(y+1),11); 
       putch(24); 
       gotoxy(xn*(y+1),12); 
       putch('y'); 
         if(a[x] > a[y]) 
             { 
           sleep(1); 
        gotoxy(xn*(x+1),yn); 
        putch(' '); 
        gotoxy(xn*(x+1),yn-3); 
        putch(a[x]+48); 
 
        gotoxy(xn*(y+1),yn); 
        putch(' '); 
        gotoxy(xn*(y+1),yn+3); 
        putch(a[y]+48); 
 
        for(i=xn*(x+1)+1,j=xn*(y+1)-1;i<=xn*(y+1);i++,j--) 
          { 
           sleep(1); 
           gotoxy(i-1,yn-3); 
           putch(' '); 
           gotoxy(i,yn-3); 
           putch(a[x]+48); 
 
           gotoxy(j+1,yn+3); 
           putch(' '); 
           gotoxy(j,yn+3); 
           putch(a[y]+48); 
 
          } 
        sleep(1); 
        qk(yn-3); 
        qk(yn+3); 
                gotoxy(xn*(x+1),yn); 
        putch(a[y]+48); 
 
        gotoxy(xn*(y+1),yn); 
        putch(a[x]+48); 
 
        temp = a[y]; 
                a[y] = a[x]; 
                a[x] = temp; 
             } 
        } 
 
    } 
   getch(); 
} 


努力—前进—变老—退休—入土
2009-10-19 15:27
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:5 
以下是引用一尛星一在2009-10-18 19:05:13的发言:

就是用的清屏啊!所以每次清屏都闪!我不知道怎么解决这!曾经想办法改进过!可以不行!还是会闪!估计我的编译器不行吧!
那个,你不知道gotoxy清掉一两个字符然后再新的地方写么?这样就不需要全部清屏了……

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-10-19 15:31
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
回复 23楼 UserYuH
你这个是什么排序呀?遍历m*n种可能,如果发现前面的小于后面的就交换。不是冒泡,也不是选择,更不是插入……

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-10-19 15:39
zhy263033252
Rank: 1
等 级:新手上路
帖 子:12
专家分:2
注 册:2009-9-21
收藏
得分:0 
这就叫学C不久么?
2009-10-19 16:15
zhangxf1989
Rank: 6Rank: 6
等 级:侠之大者
帖 子:96
专家分:419
注 册:2009-9-5
收藏
得分:1 
出不去,只好把代码给改了,总算能出去了!
2009-10-19 16:30
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
回复 25楼 StarWing83
这排序是BlueGuy发的的个贴,他无意中写出来的,我就针对他的排序过程做了动画。很花时间的排序。呵呵。

努力—前进—变老—退休—入土
2009-10-19 16:39
一尛星一
Rank: 2
来 自:湖北孝感
等 级:论坛游民
帖 子:41
专家分:49
注 册:2009-10-17
收藏
得分:0 
回复 22楼 ljt0000mf
蒽!写这个游戏的时候不会哪个函数!不过现在会了!谢谢指教!
2009-10-19 18:09
一尛星一
Rank: 2
来 自:湖北孝感
等 级:论坛游民
帖 子:41
专家分:49
注 册:2009-10-17
收藏
得分:0 
回复 24楼 StarWing83
关于清屏!现在可以实现局部了!至于那些数据结构!好象很复杂哦!我会努力学习的!谢谢前辈指点!
2009-10-19 18:14
快速回复:初学C语言写的小小游戏!
数据加载中...
 
   



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

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