无法运行的贪吃蛇游戏代码,求大神帮忙修改!

#include <iostream>
#include <windows.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>                                 //使用当前时间做种子
enum dir {up,down,left,right};                    //枚举类型enum dir //围墙
class Fence
{
public:
    void initFence();
    void OutputF();
public:
    char game[20][20];
} f;                                               //定义对象  //画框框
void Fence::lnitFence()
{
    for (int i=0; i<20; i++)
        for (int j=0; j<20; j++)
        {
            if (i==0||i==19||j==0||j==19)
                game[i][j]='*';
            else
                game[i][j]=' ';
        }
}                                                   //显示框框
void Fence::OutputF()
{
    for (int i=0; i<20; i++)
    {
        for (int j=0; j<20; j++)
            cout<<game[i][j]<<'';
        cout<<endl;
    }
}                                                    //蛇结点
class SnakeNode
{
private:
    int x,y;
    SnakeNode *prior,*next;
public:
    void add_head(int x,int y)
    int get_x();
    int get_y();
    void delete_tail();
}
*head=NULL,*tail=NULL;                                 //插入头结点
void SnakeNode::add_head(int x,int y)
{
    SnakeNode *q=new SnakeNode;
    q->x=x;
    q->y=y;
    q->next=head;
    q->prior=NULL;
    if (head)
        head->prior=q;
    head=q;
    if (!tail)
        tail=head;
    f.game[x][y]='*';                                   //f对象可以在定义Fence类时定义;且Fnce类在SnakeNode类前定义
}
int SnkeNode::get_x()
{
    return x;
}
int SnakeNode::get_y()
{
    return y;
}                                                        //删除尾结点
void SnakeNode::delete_tail()
{
    SnakeNode *p=tail;
    f.game[tail->get_x()][tail->get_y()]=' ';            //把尾结点的坐标表示的'*'置为空格;
    if (tail==head)
        tail=head=NULL;
    else
    {
        tail=tail->prior;
        tail=next=NULL;
    }
    delete p;
}
class move
{
public:
    dir point;                                            //枚举变量point:控制方向
    int food_x;
    int food_y;
public:
    void moving();
    void change_point(char);                               //改变方向;
    void get_food();
};
void move::moving()
{
    int a,b;
    a=head->get_x();                                        //取得头结点横坐标
    b=head->get_y();                                        //取得头结点纵坐标
    switch (point)
    {
    case up:
        --a;
        break;
    case down:
        ++a;
        break;
    case left:
        --b;
        break;
    case right:
        ++b;
        break;
    }
    if (a==19||b==19||a==0||b==0||game[a][b]='*')             //判断是否撞墙
    {
        cout<<"gameover!!!"<<endl;
        exit(0);
    }
    if (a==food_x&&b==food_y)                                 //吃food
    {
        head->add_head(a,b);
        get_food;
    }
    else
    {
        head->add_head(a,b);                                   //插入头结点
        head->delete_tail();                                   //删除尾结点
    }
    void move::change_point(char keydown)
    {
        switch (keydown)
        {
        case 'w':
            point=up;
            break;
        case 's':
            point=down;
            break;
        case 'a':
            point=left;
            break;
        case 'd':
            point=right;
            break;
        }
    }
    void move::get_food()
    {
        srand((unsigned int) time(NULL));                       //做种子(程序运行时间)
        food_x=rand()%18+1;
        food-y=rand()%18+1;
        f.game[food_x][food_y]='*';
    }
}
int main()
{
    cout<<"Using 'w,a,s,d'to control direction!!!\n\n\n";     //画框框和小蛇;
    move m;
    f.lnitFence();
    head->add_head(4,3);
    head->add_head(4,4);
    head->add_head(4,5);
    m.get_food();
    f.OutputF();
    while (ture)
    {
        char keydown =getch();                                  //getch()返回
        m.chan
        ge_point(keydown);
        while (!kbhit())                                        //判断有没有按键落下
        {
            system("cls");                                       //清屏函数;
            m.moving();
            f.OutputF();
            sleep(200);
        }
    }
    return 0;
}

错误显示:

这是我在网上看到的,照着原图花了半个多小时敲出来的代码,可问题还是一大堆;网上的东西果然不可信啊   这里面好像大部分都是C语言,求有空的大神帮我修改成C++,找出错误并改正,谢谢啦;新手上路,请多多关照。。。

时间: 2024-10-28 16:52:52

无法运行的贪吃蛇游戏代码,求大神帮忙修改!的相关文章

第一个简单的flask程序(有问题,求大神帮忙解决)

1.初始化 1 2 3 4 5 6 7 8 9 10 11 12 13 from flask import Flask app = Flask(__name__) @app.route('/') def index():  return '<h1>Hello World!</h1>' if __name__ == '__main__':  app.run(debug=True) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2

iis频繁奔溃,求大神帮忙分析dump

直接上图了 上图三个错误最近频繁出现,出现一次iis就奔溃一次,抓取的dump分析后如下: Couldn't resolve error at 'ls' 0:100> !analyze -v ******************************************************************************* * * * Exception Analysis * * * *******************************************

python学习笔记05:贪吃蛇游戏代码

贪吃蛇游戏截图: 首先安装pygame,可以使用pip安装pygame: pip install pygame 运行以下代码即可: #!/usr/bin/env python import pygame,sys,time,random from pygame.locals import * # 定义颜色变量 redColour = pygame.Color(255,0,0) blackColour = pygame.Color(0,0,0) whiteColour = pygame.Color(

求大神帮忙解释这段代码!!谢谢!!

package web; import javax.servlet.http.*;import javax.servlet.*; import java.util.*;import java.io.*; import io.*;/*** Description:* <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a> * <br/>Copyright (C), 2001-2010,

数据加密算法求大神帮忙急!!!

lincn4爻吭先几迟雷<http://weibo.com/20180411p/230927983220517777444864?=D> boevvt影岗嘲醇右叵<http://weibo.com/Fryp/230927983052216698937344> zq5rte灰突坷衔殖缓<http://weibo.com/20180411pp/230927983064767100887040?=qC> iiwm6c熬耸粮仄萄傩<http://weibo.com/p/2

求大神帮忙解决一下;感觉懵逼了&amp;amp;#128557;&amp;amp;#128557;

5xpb9y拭巢稚巢杀案<http://weibo.com/p20180413p/230927983159897078108160?9l> txscmu簇蛋衫瓶殖辽<http://weibo.com/p20180413p/230927983172203908440064?8N> 5rb4s0凰等们悼蒙僖<http://weibo.com/p108p478p/230927983199057247735808?0s20180413> 50okfx推耙延辽谑赌<http

Qt版贪吃蛇游戏

Qt版贪吃蛇游戏 转载请标明出处:牟尼的专栏 http://blog.csdn.net/u012027907 最近在学习Qt,用了一个多月的时间掌握了Qt中最基本的知识,也完成了<Qt版音乐播放器>.<Qt版贪吃蛇游戏>.<Qt版双人俄罗斯方块>以及<Qt版科学计算器>等,之前在VC下写过这些程序,所以在Qt下只是改变了显示等语句,我写过<C++版贪吃蛇游戏>.<VC版贪吃蛇游戏>,当时将与显示等无关的东西封装起来,在Qt下直接用,只

JavaScript与html5写的贪吃蛇完整代码

JavaScript与html5写的贪吃蛇完整代码 查看运行效果可访问http://www.codesocang.com/texiao/youxitexiao/2014/0402/7045.html# <!doctype html><html lang="en"><head><meta charset="utf-8"><title>js网页版的贪吃蛇游戏</title><style typ

WebGL实现HTML5的3D贪吃蛇游戏

js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型,多次想尝试提交个小游戏但总无法写出让自己满意还能控制在这么小的字节范围. 自己写不出来,站在巨人肩膀总是有机会吧,想起<基于HTML5的电信网管3D机房监控应用>这篇提到的threejs,babylonjs和Hightopo的几种基于WebGL的3D引擎,突然想挑战下自己实现个100行JS的3D小