| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 461 人关注过本帖
标题:求用c编写的有些程序
只看楼主 加入收藏
夏851773277
Rank: 1
等 级:新手上路
帖 子:48
专家分:6
注 册:2011-4-18
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:4 
求用c编写的有些程序
谁能给我个用C编写的游戏程序啊,简单的游戏,比如说是俄罗斯方块,蛇吃蛋,等等,我想看看
搜索更多相关主题的帖子: 俄罗斯方块 游戏 
2011-06-24 11:53
hugh浪迹
Rank: 2
等 级:论坛游民
帖 子:30
专家分:39
注 册:2011-6-17
收藏
得分:5 
这是用MyTC编译的贪吃蛇的源代码,看看吧。
程序代码:
#include <dos.h>
#include<alloc.h>
#include <stdlib.h>
#include <stdio.h>
#include "graphics.h"
#include<math.h>
typedef struct
{
   int x;
   int y;
}node;

 struct
{
     node info[40];
     int length;
}snake;

 char  light[60][48];
void main()
{
   int search(int m,int n);
   void Light(int m,int n,int color);
   int settle(int key);
   char met=1;
   int i,j,direction,key1,key2=0,rm,rn;
   int driver=DETECT,mode=0;
   initgraph(&driver,&mode," ");
   setcolor(10);
   rectangle(0,0,580,450);
   snake.length=3;
   for(i=0;i<60;i++)
    for(j=0;j<48;j++)
     light[i][j]=0;
   snake.info[0].x=32;
   snake.info[1].x=32;
   snake.info[2].x=32;
   snake.info[0].y=24;
   snake.info[1].y=25;
   snake.info[2].y=26;
   for(i=0;i<3;i++)
        Light(snake.info[i].x,snake.info[i].y,8);
   do
   {
   if(met==1)
       {
  do
            {
              rm=random(57);
              rn=random(44);
              met=0;
             }while(search(rm,rn));
       }
    Light(rm,rn,10);

 if(!bioskey(1))

 {
  key1=key2;

 }
   else
   {
    key1=bioskey(0);
    if((key2==0x4b00&&key1==0x4d00)||(key1==0x4b00&&key2==0x4d00)||(key1==0x4800&&key2==0x5000)||(key1==0x5000&&key2==0x4800)||(key1==0x5000&&key2==0))
       key1=key2;
   else    key2=key1;
   }
   if(key1) met=settle(key1);
   if(met==2)  return;
   for(i=0;i<snake.length;i++)
              Light(snake.info[i].x,snake.info[i].y,8);
   for(i=0;i<13-snake.length*0.3;i++) delay(12000);

  }while(snake.length<40);
   getch();
}
void Light(int m,int n,int color)
{
     setfillstyle(1,color);
     bar(10*m,10*n,10*m+8,10*n+8);
  if(color==8) light[m][n]=2;
  if(color==10) light[m][n]=1;
  if(color==0) light[m][n]=0;
}
int search(int m,int n)
{
   if(light[m][n]==2)
         return(1);
   return 0;
}
int settle(int key)
{
    int i,rx,ry;
    rx=snake.info[snake.length-1].x;ry=snake.info[snake.length-1].y;
   for(i=snake.length-1;i>0;i--)
      {
          snake.info[i].x=snake.info[i-1].x;
          snake.info[i].y=snake.info[i-1].y;
      }
   switch(key)
   {
    case  0x4800:
   snake.info[i].y--;
  break;
    case  0x5000:
  snake.info[i].y++;
  break;
    case  0x4b00:
  snake.info[i].x--;
  break;
    case  0x4d00:
  snake.info[i].x++;
  break;

 }

  if(light[snake.info[i].x][snake.info[i].y]==1)
  {
       snake.length++;
       snake.info[snake.length-1].x=rx;
       snake.info[snake.length-1].y=ry;
       Light(snake.info[i].x,snake.info[i].y,0);
    return(1);
  }
     if(snake.info[i].x>58||snake.info[i].y>44||snake.info[i].x<0||snake.info[i].y<0||light[snake.info[i].x][snake.info[i].y]==2)
   {
    return(2);
   }
   Light(rx,ry,0);
   return(0);
}

2011-06-24 12:09
夏851773277
Rank: 1
等 级:新手上路
帖 子:48
专家分:6
注 册:2011-4-18
收藏
得分:0 
有没有用c与c++编写的
2011-06-24 12:27
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:5 
楼主学过啥语言?
2011-06-24 12:54
hugh浪迹
Rank: 2
等 级:论坛游民
帖 子:30
专家分:39
注 册:2011-6-17
收藏
得分:0 
回复 3楼 夏851773277
二楼的就是c语言啊,编译器是MyTC
2011-06-24 19:56
快速回复:求用c编写的有些程序
数据加载中...
 
   



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

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