Re: Snake Game problem
 
On Jun 10, 7:24 pm, Linlin Yan <yanlinli...@gmail.com> wrote:
These is no ';' after your struct CarType definition. Does it cause
your problem?
And try to use 'void getYourCar(struct CarType & car);' instead?
On Jun 10, 7:06 pm, "foolsmart2...@gmail.com"
<foolsmart2...@gmail.com> wrote:
On Jun 10, 12:50 pm, "foolsmart2...@gmail.com"
<foolsmart2...@gmail.com> wrote:
I have written a snake game.  There are 2 levels in the game(I
finished 1st level).   It can run in VC++ without problem but, when I
run it on the dev C++ 4.9.9.2, it cannot run.    I want to practice my
programming in Dev C++ rather than in VC++. What can I do now?
The Game:
--- writing a snake game using color console window.
1-player game. The player makes use of 4 arrow keys to operate the
movement
to chase and eat as much food (#) as possible. Food with a different
color has
score. The game will end when the snake hits itself or the player hits
ESC key.
-----Use link list is a must.
Thanks!
Owing to the file is quite a lot of code, I think I will use another
method to tell you the error.  But now, I suffer a problem in Dev C++,
here is the code:
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
struct CarType{
       string maker;
       int year;
       float price;
}
 void getYourCar(CarType & car);
int main()
{
    CarType myCar, yourCar;
    myCar.make = "Mercedes";
    myCar.year = 2008;
    myCar.price = 556653;
    getYourCar(yourCar);
    cout << "Your car is a: " << yourCar.maker << endl;
    cout << fixed << showpoint << setprecision(2) <<
         "I will offer $" << yourCar.price -100 << "for your car."
<<endl;
    system("pause");
    return 0;
}
void getYourCar(CarType & car)
{
     cout << "Enter your maker: ";
     cin >> car.maker;
     cout << "Enter the year: ";
     cin >> car.year;
     cout << "Enter the price:$";
     cin >> car.price;
 }
Error messages are gotten.
Compiler: Default compiler
Executing  g++.exe...
g++.exe "C:\Documents and Settings\Desktop\structtest.cpp" -o "C:
\Documents and Settings\Desktop\structtest.exe"    -I"C:\Dev-Cpp\lib
\gcc\mingw32\3.4.2\include"  -I"C:\Dev-Cpp\include\c++
\3.4.2\backward"  -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32"  -I"C:\Dev-
Cpp\include\c++\3.4.2"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib"
C:\Documents and Settings\Desktop\structtest.cpp:12: error: new types
may not be defined in a return type
C:\Documents and Settings\Desktop\structtest.cpp:12: error: two or
more data types in declaration of `getYourCar'
C:\Documents and Settings\Desktop\structtest.cpp: In function `int
main()':
C:\Documents and Settings\Desktop\structtest.cpp:19: error: 'struct
CarType' has no member named 'make'
C:\Documents and Settings\Desktop\structtest.cpp: In function `void
getYourCar(CarType&)':
C:\Documents and Settings\Desktop\structtest.cpp:35: error: new
declaration `void getYourCar(CarType&)'
C:\Documents and Settings\Desktop\structtest.cpp:12: error: ambiguates
old declaration `CarType getYourCar(CarType&)'
Execution terminated
This code should be no problem, why it still cannot run in Dev C++?
Oh, you are right, it is my careless mistake.
Now , the following is my snake game's error:
Compiler: Default compiler
Building Makefile: "E:\Dev C++\CityU\Snake\Makefile.win"
Executing  make...
make.exe -f "E:\Dev C++\CityU\Snake\Makefile.win" all
g++.exe -D__DEBUG__ -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/
mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -
I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/
3.4.2"  -I"C:/Dev-Cpp/include"    -g3
In file included from SnakeList.h:5,
                 from FoodList.h:10,
                 from main.cpp:13:
SnakeNode.h:19:7: warning: extra tokens at end of #endif directive
g++.exe -D__DEBUG__ FoodList.o FoodNode.o main.o SnakeList.o
SnakeNode.o  -o "Snake.exe" -L"C:/Dev-Cpp/lib" colorScreen.a timer.a  -
g3
Execution terminated
Compilation successful
-----------here is SnakeList.h------------------
#ifndef _SNAKE_LIST_
#define _SNAKE_LIST_
#include "colorScreen.h"
#include "SnakeNode.h"
#include "FoodList.h"
class SnakeList
{
public:
    SnakeList(ColorScreen& g);
    SnakeList();
    ~SnakeList();
    void adds (ColorScreen g, int x,int y,char in) ;
    //void adds (ColorScreen g,int x,int y,char in) ;
    void display(const SnakeNode* ptr,ColorScreen g,int sx,int sy,char
in) ;
    void display(ColorScreen g,int sx, int sy,char in) ;
    // function to search X hits body;
    bool search(SnakeNode* ptr);
    bool search();
    void move(ColorScreen g,int x,int y, char in);
    void move(SnakeNode*& ptr,ColorScreen g, int x,int y, char in);
    void clear(SnakeNode*& ptr,ColorScreen g, int sx,int sy);
    void clear(ColorScreen g,int sx,int sy);
    int length (const SnakeNode* ptr) const;
    int length() const;
private:
    ColorScreen sGame;
    int maxlen,size;
    SnakeNode  *head;
};
#endif
---------------------------------------
What is wrong?