尊宝国际娱乐APP下载

设为首页收藏本站

编程十万个为什么,属于程序员的编程论坛

 找回密码
 5秒快速注册
QQ登录 只需一步,快速开始
搜索
楼主: 凌云紫冥
打印 上一主题 下一主题

[C/C++每日一练] C/C++贪吃蛇2011/5/1

  [复制链接]
21
发表于 2011-9-20 22:48:32 | 只看该作者
加油
回复 使用道具 举报
22
发表于 2011-9-25 23:14:34 | 只看该作者
我要看,谢谢!!
回复 使用道具 举报
23
发表于 2011-9-28 11:03:50 | 只看该作者
学习真快乐·····
回复 使用道具 举报
24
发表于 2011-10-4 18:37:35 | 只看该作者
看看看看
回复 使用道具 举报
25
发表于 2011-10-21 08:10:31 | 只看该作者
来学习了
回复 使用道具 举报
26
发表于 2011-10-26 22:04:05 | 只看该作者
回复 使用道具 举报
27
发表于 2011-11-3 20:28:51 | 只看该作者
学习学习……
回复 使用道具 举报
28
发表于 2011-11-16 10:24:58 | 只看该作者
写不来按键控制部分啊!
回复 使用道具 举报
29
发表于 2011-11-16 15:06:36 | 只看该作者
#include <iostream>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
struct snake{
        int x;
        int y;
        snake *prior;
        snake *next;
};
enum {UP,DOWN,LEFT,RIGHT}point;
snake *head,*tail;
int food_x,food_y;
void add_head(int a, int b);
void create_food();

const int N = 20;
int game[N][N];
void init()     
{
    int i;
    for (i = 0; i < N; ++i)
    {
         game[i][0] = game[i][N-1] = 1;
         game[0][i] = game[N-1][i] = 1;
    }
        head=tail;
        point=RIGHT;
        add_head(6,4);
        add_head(6,5);
        add_head(6,6);
}
void output()   
{
    int i, j;
    for (i = 0; i < N; ++i)
    {
        for (j = 0; j < N; ++j)
        {
            if (1 == game[i][j])   
            {
                cout << "* ";
            }
            else                  
            {
                cout << "  ";


            }
        }
        cout << endl;   
    }
}
void add_head(int a, int b)  
{
       
        snake *temp = new snake;
        temp->x = a;
        temp->y = b;
        temp->prior = NULL;
        if (NULL == head)  
{
  head = tail = temp;
  head->next = NULL;
}
else     
{
  head->prior = temp;
  temp->next = head;  
  head = head->prior;  
}
game[a][b]=1;
}
void delete_tail(){
                snake *temp=tail;
                tail=tail->prior;
                tail->next=NULL;
                delete temp;
}
void move(){
                int a=tail->x;
                int b=tail->y;
                switch(point){
                case UP:++a;break;
                case DOWN:--a;break;
                case RIGHT:++b;break;
                case LEFT:--b;break;
                }
               
                if(1==game[a][b]&&a!=food_x&&b!=food_y){
                output();
                cout<<"you are lose"<<endl;
                exit(0);}
        
                if(a==food_x&&b==food_y){
                add_head(a,b);
                create_food();
                return ;
                }
                add_head(a,b);
                delete_tail();
               
                //void delete_tail();}
                }
void change_point(char keydown){
               
        switch(keydown){
                case 'W':
                case 'w':point=UP;break;
                case 'S':
                case 's':point=DOWN;break;
                case 'A':
                case 'a':point=LEFT;break;
                case 'D':
                case 'd':point=RIGHT;break;
        }
       
}
void create_food(){
                srand(unsigned(time(0)));
                do
                {food_x=rand()%18+1;
                        food_y=rand()%18+1;
}while(1==game[food_x][food_y]);
                game[food_x][food_y]=1;
               
}

int main()
{

    init();
    output();
        cout<<"操作方法:W S A D\n按任意键开始游戏";
while (true)

{
  char keydown=getch();
  change_point(keydown);
  system("cls");
  while(!_kbhit())
  {
        system("cls");       

  move();

  output();

  Sleep(200);

}
}

return 0;

}
为什么我实现不了啊!帮我看看哪里出问题了!谢谢
回复 使用道具 举报
30
发表于 2011-11-18 17:26:58 | 只看该作者
1234
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 5秒快速注册
本版积分规则
关闭

BcWhy推荐上一条 /1 下一条

QQ|关于我们|最新帖子|小黑屋|手机版|编程十万个为什么 ( 粤ICP备16108587号-2   GMT+8, 2017-8-17 17:31 , Processed in 0.165563 second(s), 32 queries , File On.
Powered by Discuz! X3.3 © 2001-2017 Comsenz Inc.
快速回复 返回顶部 返回列表
尊宝国际娱乐APP下载亚虎娱乐手机官方网站亚虎国际娱乐齐乐娱乐国际
优乐娱乐齐乐娱乐网优乐娱乐龙8娱乐手机下载
优乐娱乐亚虎娱乐手机官方网站亚虎国际娱乐梦之城娱乐
尊宝国际娱乐APP下载尊宝国际手机首页尊宝国际娱乐城齐乐娱乐国际
优乐娱乐齐乐娱乐网优乐娱乐龙8娱乐手机下载