C++ 对象没有';t指定类型错误

C++ 对象没有';t指定类型错误,c++,class,object,C++,Class,Object,我得到了这个错误 #include "bitmap.h" #include "player.h" #include <allegro.h> #include <iostream> int onbitmap=1; bool turn=true; BITMAP *my_pic1; BITMAP *my_pic2; BITMAP *my_pic3; BITMAP *my_pic4; BITMAP *my_pic5; BITMAP *my_pic6; BITMAP *my_p

我得到了这个错误

#include "bitmap.h"
#include "player.h"
#include <allegro.h>
#include <iostream>

int onbitmap=1;
bool turn=true;

BITMAP *my_pic1;
BITMAP *my_pic2;
BITMAP *my_pic3;
BITMAP *my_pic4;
BITMAP *my_pic5;
BITMAP *my_pic6;
BITMAP *my_pic7;
BITMAP *my_pic8;
BITMAP *my_pic9;

player *pic;

pic->upperrow=0;

player *one;
player *two;

static void nextturn()
{
if(turn==1)
{
    turn=0;
}
else
{
    turn=1;
}
}
static void drawsquares()
{
 my_pic1 = NULL;
my_pic1 = load_bitmap("selected.bmp", NULL);
my_pic2 = NULL;
my_pic2 = load_bitmap("unselected.bmp", NULL);
my_pic3 = NULL;
my_pic3 = load_bitmap("unselected.bmp", NULL);
my_pic4 = NULL;
my_pic4 = load_bitmap("unselected.bmp", NULL);
my_pic5 = NULL;
my_pic5 = load_bitmap("unselected.bmp", NULL);
my_pic6 = NULL;
my_pic6 = load_bitmap("unselected.bmp", NULL);
my_pic7 = NULL;
my_pic7 = load_bitmap("unselected.bmp", NULL);
my_pic8 = NULL;
my_pic8 = load_bitmap("unselected.bmp", NULL);
    my_pic9 = NULL;
my_pic9 = load_bitmap("unselected.bmp", NULL);

draw_sprite(screen, my_pic1, 218,146+65*1);
draw_sprite(screen, my_pic2, 218,146+65*2);
draw_sprite(screen, my_pic3, 218,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic7, 218+(65*2),146+65*1);
draw_sprite(screen, my_pic8, 218+(65*2),146+65*2);
draw_sprite(screen, my_pic9, 218+(65*2),146+65*3);
}

    static void replacebitmap(BITMAP *one,BITMAP *two)
{
}

static void readakey()
{
int val=readkey();
switch (val  >> 8)
{

case KEY_LEFT:
{


  switch (onbitmap)
{

    case 1:
    break;
    case 2:
    break;
    case 3:
    break;
    case 4:
    onbitmap=1;


         my_pic4 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);


    my_pic1 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();
   case 5:
     onbitmap=5;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

   case 6:

         onbitmap=6;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

     case 7:

         onbitmap=7;

    my_pic7 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic7, 218,146+65*1);

    my_pic4 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);
    clear_keybuf();
   readakey();

            case 8:

         onbitmap=8;

    my_pic8 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic8, 218,146+65*1);

    my_pic5 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic5, 218,146+65*1);
    clear_keybuf();
   readakey();
}
}
}
}

int main(int argc, char *argv[])
{
allegro_init();
install_keyboard();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT, 640,480,0,0);
BITMAP *my_pic = NULL;
my_pic = load_bitmap("background.bmp", NULL);
draw_sprite(screen, my_pic, 0,0);

destroy_bitmap(my_pic);
drawsquares();

readakey();
}
END_OF_MAIN()
尝试为类播放器创建对象时

#include "bitmap.h"
#include "player.h"
#include <allegro.h>
#include <iostream>

int onbitmap=1;
bool turn=true;

BITMAP *my_pic1;
BITMAP *my_pic2;
BITMAP *my_pic3;
BITMAP *my_pic4;
BITMAP *my_pic5;
BITMAP *my_pic6;
BITMAP *my_pic7;
BITMAP *my_pic8;
BITMAP *my_pic9;

player *pic;

pic->upperrow=0;

player *one;
player *two;

static void nextturn()
{
if(turn==1)
{
    turn=0;
}
else
{
    turn=1;
}
}
static void drawsquares()
{
 my_pic1 = NULL;
my_pic1 = load_bitmap("selected.bmp", NULL);
my_pic2 = NULL;
my_pic2 = load_bitmap("unselected.bmp", NULL);
my_pic3 = NULL;
my_pic3 = load_bitmap("unselected.bmp", NULL);
my_pic4 = NULL;
my_pic4 = load_bitmap("unselected.bmp", NULL);
my_pic5 = NULL;
my_pic5 = load_bitmap("unselected.bmp", NULL);
my_pic6 = NULL;
my_pic6 = load_bitmap("unselected.bmp", NULL);
my_pic7 = NULL;
my_pic7 = load_bitmap("unselected.bmp", NULL);
my_pic8 = NULL;
my_pic8 = load_bitmap("unselected.bmp", NULL);
    my_pic9 = NULL;
my_pic9 = load_bitmap("unselected.bmp", NULL);

draw_sprite(screen, my_pic1, 218,146+65*1);
draw_sprite(screen, my_pic2, 218,146+65*2);
draw_sprite(screen, my_pic3, 218,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic7, 218+(65*2),146+65*1);
draw_sprite(screen, my_pic8, 218+(65*2),146+65*2);
draw_sprite(screen, my_pic9, 218+(65*2),146+65*3);
}

    static void replacebitmap(BITMAP *one,BITMAP *two)
{
}

static void readakey()
{
int val=readkey();
switch (val  >> 8)
{

case KEY_LEFT:
{


  switch (onbitmap)
{

    case 1:
    break;
    case 2:
    break;
    case 3:
    break;
    case 4:
    onbitmap=1;


         my_pic4 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);


    my_pic1 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();
   case 5:
     onbitmap=5;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

   case 6:

         onbitmap=6;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

     case 7:

         onbitmap=7;

    my_pic7 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic7, 218,146+65*1);

    my_pic4 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);
    clear_keybuf();
   readakey();

            case 8:

         onbitmap=8;

    my_pic8 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic8, 218,146+65*1);

    my_pic5 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic5, 218,146+65*1);
    clear_keybuf();
   readakey();
}
}
}
}

int main(int argc, char *argv[])
{
allegro_init();
install_keyboard();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT, 640,480,0,0);
BITMAP *my_pic = NULL;
my_pic = load_bitmap("background.bmp", NULL);
draw_sprite(screen, my_pic, 0,0);

destroy_bitmap(my_pic);
drawsquares();

readakey();
}
END_OF_MAIN()
main.cpp | 24 |错误:“pic”未命名类型

#include "bitmap.h"
#include "player.h"
#include <allegro.h>
#include <iostream>

int onbitmap=1;
bool turn=true;

BITMAP *my_pic1;
BITMAP *my_pic2;
BITMAP *my_pic3;
BITMAP *my_pic4;
BITMAP *my_pic5;
BITMAP *my_pic6;
BITMAP *my_pic7;
BITMAP *my_pic8;
BITMAP *my_pic9;

player *pic;

pic->upperrow=0;

player *one;
player *two;

static void nextturn()
{
if(turn==1)
{
    turn=0;
}
else
{
    turn=1;
}
}
static void drawsquares()
{
 my_pic1 = NULL;
my_pic1 = load_bitmap("selected.bmp", NULL);
my_pic2 = NULL;
my_pic2 = load_bitmap("unselected.bmp", NULL);
my_pic3 = NULL;
my_pic3 = load_bitmap("unselected.bmp", NULL);
my_pic4 = NULL;
my_pic4 = load_bitmap("unselected.bmp", NULL);
my_pic5 = NULL;
my_pic5 = load_bitmap("unselected.bmp", NULL);
my_pic6 = NULL;
my_pic6 = load_bitmap("unselected.bmp", NULL);
my_pic7 = NULL;
my_pic7 = load_bitmap("unselected.bmp", NULL);
my_pic8 = NULL;
my_pic8 = load_bitmap("unselected.bmp", NULL);
    my_pic9 = NULL;
my_pic9 = load_bitmap("unselected.bmp", NULL);

draw_sprite(screen, my_pic1, 218,146+65*1);
draw_sprite(screen, my_pic2, 218,146+65*2);
draw_sprite(screen, my_pic3, 218,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic7, 218+(65*2),146+65*1);
draw_sprite(screen, my_pic8, 218+(65*2),146+65*2);
draw_sprite(screen, my_pic9, 218+(65*2),146+65*3);
}

    static void replacebitmap(BITMAP *one,BITMAP *two)
{
}

static void readakey()
{
int val=readkey();
switch (val  >> 8)
{

case KEY_LEFT:
{


  switch (onbitmap)
{

    case 1:
    break;
    case 2:
    break;
    case 3:
    break;
    case 4:
    onbitmap=1;


         my_pic4 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);


    my_pic1 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();
   case 5:
     onbitmap=5;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

   case 6:

         onbitmap=6;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

     case 7:

         onbitmap=7;

    my_pic7 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic7, 218,146+65*1);

    my_pic4 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);
    clear_keybuf();
   readakey();

            case 8:

         onbitmap=8;

    my_pic8 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic8, 218,146+65*1);

    my_pic5 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic5, 218,146+65*1);
    clear_keybuf();
   readakey();
}
}
}
}

int main(int argc, char *argv[])
{
allegro_init();
install_keyboard();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT, 640,480,0,0);
BITMAP *my_pic = NULL;
my_pic = load_bitmap("background.bmp", NULL);
draw_sprite(screen, my_pic, 0,0);

destroy_bitmap(my_pic);
drawsquares();

readakey();
}
END_OF_MAIN()
这是密码

#include "bitmap.h"
#include "player.h"
#include <allegro.h>
#include <iostream>

int onbitmap=1;
bool turn=true;

BITMAP *my_pic1;
BITMAP *my_pic2;
BITMAP *my_pic3;
BITMAP *my_pic4;
BITMAP *my_pic5;
BITMAP *my_pic6;
BITMAP *my_pic7;
BITMAP *my_pic8;
BITMAP *my_pic9;

player *pic;

pic->upperrow=0;

player *one;
player *two;

static void nextturn()
{
if(turn==1)
{
    turn=0;
}
else
{
    turn=1;
}
}
static void drawsquares()
{
 my_pic1 = NULL;
my_pic1 = load_bitmap("selected.bmp", NULL);
my_pic2 = NULL;
my_pic2 = load_bitmap("unselected.bmp", NULL);
my_pic3 = NULL;
my_pic3 = load_bitmap("unselected.bmp", NULL);
my_pic4 = NULL;
my_pic4 = load_bitmap("unselected.bmp", NULL);
my_pic5 = NULL;
my_pic5 = load_bitmap("unselected.bmp", NULL);
my_pic6 = NULL;
my_pic6 = load_bitmap("unselected.bmp", NULL);
my_pic7 = NULL;
my_pic7 = load_bitmap("unselected.bmp", NULL);
my_pic8 = NULL;
my_pic8 = load_bitmap("unselected.bmp", NULL);
    my_pic9 = NULL;
my_pic9 = load_bitmap("unselected.bmp", NULL);

draw_sprite(screen, my_pic1, 218,146+65*1);
draw_sprite(screen, my_pic2, 218,146+65*2);
draw_sprite(screen, my_pic3, 218,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic7, 218+(65*2),146+65*1);
draw_sprite(screen, my_pic8, 218+(65*2),146+65*2);
draw_sprite(screen, my_pic9, 218+(65*2),146+65*3);
}

    static void replacebitmap(BITMAP *one,BITMAP *two)
{
}

static void readakey()
{
int val=readkey();
switch (val  >> 8)
{

case KEY_LEFT:
{


  switch (onbitmap)
{

    case 1:
    break;
    case 2:
    break;
    case 3:
    break;
    case 4:
    onbitmap=1;


         my_pic4 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);


    my_pic1 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();
   case 5:
     onbitmap=5;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

   case 6:

         onbitmap=6;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

     case 7:

         onbitmap=7;

    my_pic7 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic7, 218,146+65*1);

    my_pic4 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);
    clear_keybuf();
   readakey();

            case 8:

         onbitmap=8;

    my_pic8 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic8, 218,146+65*1);

    my_pic5 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic5, 218,146+65*1);
    clear_keybuf();
   readakey();
}
}
}
}

int main(int argc, char *argv[])
{
allegro_init();
install_keyboard();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT, 640,480,0,0);
BITMAP *my_pic = NULL;
my_pic = load_bitmap("background.bmp", NULL);
draw_sprite(screen, my_pic, 0,0);

destroy_bitmap(my_pic);
drawsquares();

readakey();
}
END_OF_MAIN()
这是我的播放器

#ifndef PLAYER_H_INCLUDED
#define PLAYER_H_INCLUDED

#include <allegro.h>
#include <iostream>

class player
{

public:
int upperraw;
int middlerraw;
int lowerraw;
int firstcolumn;
int seccolumn;
int thirdcolumn;
};

   #endif // PLAYER_H_INCLUDED
#include "bitmap.h"
#include "player.h"
#include <allegro.h>
#include <iostream>

int onbitmap=1;
bool turn=true;

BITMAP *my_pic1;
BITMAP *my_pic2;
BITMAP *my_pic3;
BITMAP *my_pic4;
BITMAP *my_pic5;
BITMAP *my_pic6;
BITMAP *my_pic7;
BITMAP *my_pic8;
BITMAP *my_pic9;

player *pic;

pic->upperrow=0;

player *one;
player *two;

static void nextturn()
{
if(turn==1)
{
    turn=0;
}
else
{
    turn=1;
}
}
static void drawsquares()
{
 my_pic1 = NULL;
my_pic1 = load_bitmap("selected.bmp", NULL);
my_pic2 = NULL;
my_pic2 = load_bitmap("unselected.bmp", NULL);
my_pic3 = NULL;
my_pic3 = load_bitmap("unselected.bmp", NULL);
my_pic4 = NULL;
my_pic4 = load_bitmap("unselected.bmp", NULL);
my_pic5 = NULL;
my_pic5 = load_bitmap("unselected.bmp", NULL);
my_pic6 = NULL;
my_pic6 = load_bitmap("unselected.bmp", NULL);
my_pic7 = NULL;
my_pic7 = load_bitmap("unselected.bmp", NULL);
my_pic8 = NULL;
my_pic8 = load_bitmap("unselected.bmp", NULL);
    my_pic9 = NULL;
my_pic9 = load_bitmap("unselected.bmp", NULL);

draw_sprite(screen, my_pic1, 218,146+65*1);
draw_sprite(screen, my_pic2, 218,146+65*2);
draw_sprite(screen, my_pic3, 218,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic7, 218+(65*2),146+65*1);
draw_sprite(screen, my_pic8, 218+(65*2),146+65*2);
draw_sprite(screen, my_pic9, 218+(65*2),146+65*3);
}

    static void replacebitmap(BITMAP *one,BITMAP *two)
{
}

static void readakey()
{
int val=readkey();
switch (val  >> 8)
{

case KEY_LEFT:
{


  switch (onbitmap)
{

    case 1:
    break;
    case 2:
    break;
    case 3:
    break;
    case 4:
    onbitmap=1;


         my_pic4 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);


    my_pic1 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();
   case 5:
     onbitmap=5;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

   case 6:

         onbitmap=6;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

     case 7:

         onbitmap=7;

    my_pic7 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic7, 218,146+65*1);

    my_pic4 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);
    clear_keybuf();
   readakey();

            case 8:

         onbitmap=8;

    my_pic8 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic8, 218,146+65*1);

    my_pic5 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic5, 218,146+65*1);
    clear_keybuf();
   readakey();
}
}
}
}

int main(int argc, char *argv[])
{
allegro_init();
install_keyboard();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT, 640,480,0,0);
BITMAP *my_pic = NULL;
my_pic = load_bitmap("background.bmp", NULL);
draw_sprite(screen, my_pic, 0,0);

destroy_bitmap(my_pic);
drawsquares();

readakey();
}
END_OF_MAIN()
#如果包含NDEF播放器(H)
#定义包含的播放器
#包括
#包括
职业选手
{
公众:
int-upperraw;
米德尔劳国际酒店;
内洛厄劳;
int第一列;
int-seccolumn;
int第三列;
};
#endif//PLAYER____包括在内
我的main.cpp

#include "bitmap.h"
#include "player.h"
#include <allegro.h>
#include <iostream>

int onbitmap=1;
bool turn=true;

BITMAP *my_pic1;
BITMAP *my_pic2;
BITMAP *my_pic3;
BITMAP *my_pic4;
BITMAP *my_pic5;
BITMAP *my_pic6;
BITMAP *my_pic7;
BITMAP *my_pic8;
BITMAP *my_pic9;

player *pic;

pic->upperrow=0;

player *one;
player *two;

static void nextturn()
{
if(turn==1)
{
    turn=0;
}
else
{
    turn=1;
}
}
static void drawsquares()
{
 my_pic1 = NULL;
my_pic1 = load_bitmap("selected.bmp", NULL);
my_pic2 = NULL;
my_pic2 = load_bitmap("unselected.bmp", NULL);
my_pic3 = NULL;
my_pic3 = load_bitmap("unselected.bmp", NULL);
my_pic4 = NULL;
my_pic4 = load_bitmap("unselected.bmp", NULL);
my_pic5 = NULL;
my_pic5 = load_bitmap("unselected.bmp", NULL);
my_pic6 = NULL;
my_pic6 = load_bitmap("unselected.bmp", NULL);
my_pic7 = NULL;
my_pic7 = load_bitmap("unselected.bmp", NULL);
my_pic8 = NULL;
my_pic8 = load_bitmap("unselected.bmp", NULL);
    my_pic9 = NULL;
my_pic9 = load_bitmap("unselected.bmp", NULL);

draw_sprite(screen, my_pic1, 218,146+65*1);
draw_sprite(screen, my_pic2, 218,146+65*2);
draw_sprite(screen, my_pic3, 218,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic7, 218+(65*2),146+65*1);
draw_sprite(screen, my_pic8, 218+(65*2),146+65*2);
draw_sprite(screen, my_pic9, 218+(65*2),146+65*3);
}

    static void replacebitmap(BITMAP *one,BITMAP *two)
{
}

static void readakey()
{
int val=readkey();
switch (val  >> 8)
{

case KEY_LEFT:
{


  switch (onbitmap)
{

    case 1:
    break;
    case 2:
    break;
    case 3:
    break;
    case 4:
    onbitmap=1;


         my_pic4 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);


    my_pic1 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();
   case 5:
     onbitmap=5;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

   case 6:

         onbitmap=6;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

     case 7:

         onbitmap=7;

    my_pic7 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic7, 218,146+65*1);

    my_pic4 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);
    clear_keybuf();
   readakey();

            case 8:

         onbitmap=8;

    my_pic8 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic8, 218,146+65*1);

    my_pic5 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic5, 218,146+65*1);
    clear_keybuf();
   readakey();
}
}
}
}

int main(int argc, char *argv[])
{
allegro_init();
install_keyboard();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT, 640,480,0,0);
BITMAP *my_pic = NULL;
my_pic = load_bitmap("background.bmp", NULL);
draw_sprite(screen, my_pic, 0,0);

destroy_bitmap(my_pic);
drawsquares();

readakey();
}
END_OF_MAIN()
#包括“bitmap.h”
#包括“player.h”
#包括
#包括
int onbitmap=1;
布尔回合=真;
位图*my_pic1;
位图*我的图片2;
位图*my_pic3;
位图*我的图片4;
位图*我的图片5;
位图*我的图片6;
位图*我的图片7;
位图*我的图片8;
位图*我的图片9;
播放器*pic;
pic->upperrow=0;
玩家*1;
玩家*2;
静态void nextturn()
{
如果(圈数==1)
{
匝数=0;
}
其他的
{
圈数=1;
}
}
静态空位
{
my_pic1=空;
my_pic1=加载位图(“selected.bmp”,NULL);
my_pic2=空;
my_pic2=加载位图(“unselected.bmp”,NULL);
my_pic3=空;
my_pic3=加载位图(“unselected.bmp”,NULL);
my_pic4=空;
my_pic4=加载位图(“unselected.bmp”,NULL);
my_pic5=空;
my_pic5=加载位图(“unselected.bmp”,NULL);
my_pic6=空;
my_pic6=加载位图(“unselected.bmp”,NULL);
my_pic7=空;
my_pic7=加载位图(“unselected.bmp”,NULL);
my_pic8=空;
my_pic8=加载位图(“unselected.bmp”,NULL);
my_pic9=空;
my_pic9=加载位图(“unselected.bmp”,NULL);
绘制精灵(屏幕,我的图片1,218146+65*1);
绘制精灵(屏幕,我的图片2,218146+65*2);
绘制精灵(屏幕,我的图片3,218146+65*3);
绘制精灵(屏幕,我的图片4,218+65146+65*1);
绘制精灵(屏幕,我的图片5,218+65146+65*2);
绘制精灵(屏幕,我的图片6,218+65146+65*3);
绘制精灵(屏幕,我的图片4,218+65146+65*1);
绘制精灵(屏幕,我的图片5,218+65146+65*2);
绘制精灵(屏幕,我的图片6,218+65146+65*3);
绘制精灵(屏幕,我的图片7,218+(65*2),146+65*1);
绘制精灵(屏幕,我的图片8,218+(65*2),146+65*2);
绘制精灵(屏幕,我的图片9,218+(65*2),146+65*3);
}
静态无效替换位图(位图*1,位图*2)
{
}
静态void readakey()
{
int val=readkey();
开关(val>>8)
{
案例键左:
{
开关(打开位图)
{
案例1:
打破
案例2:
打破
案例3:
打破
案例4:
onbitmap=1;
my_pic4=加载位图(“unselected.bmp”,NULL);
绘制精灵(屏幕,我的图片4,218146+65*1);
my_pic1=加载位图(“selected.bmp”,NULL);
绘制精灵(屏幕,我的图片1,218146+65*1);
清除_keybuf();
readakey();
案例5:
onbitmap=5;
my_pic5=加载位图(“unselected.bmp”,NULL);
绘制精灵(屏幕,我的图片1,218146+65*1);
my_pic2=加载位图(“selected.bmp”,NULL);
绘制精灵(屏幕,我的图片1,218146+65*1);
清除_keybuf();
readakey();
案例6:
onbitmap=6;
my_pic5=加载位图(“unselected.bmp”,NULL);
绘制精灵(屏幕,我的图片1,218146+65*1);
my_pic2=加载位图(“selected.bmp”,NULL);
绘制精灵(屏幕,我的图片1,218146+65*1);
清除_keybuf();
readakey();
案例7:
onbitmap=7;
my_pic7=加载位图(“unselected.bmp”,NULL);
绘制精灵(屏幕,我的图片7,218146+65*1);
my_pic4=加载位图(“selected.bmp”,NULL);
绘制精灵(屏幕,我的图片4,218146+65*1);
清除_keybuf();
readakey();
案例8:
onbitmap=8;
my_pic8=加载位图(“unselected.bmp”,NULL);
绘制精灵(屏幕,我的图片8,218146+65*1);
my_pic5=加载位图(“selected.bmp”,NULL);
绘制精灵(屏幕,我的图片5,218146+65*1);
清除_keybuf();
readakey();
}
}
}
}
int main(int argc,char*argv[])
{
第一快板();
安装键盘();
设置颜色和深度(32);
设置gfx_模式(gfx_自动检测,640480,0,0);
位图*my_pic=NULL;
my_pic=加载位图(“background.bmp”,NULL);
绘制精灵(屏幕,我的图片,0,0);
销毁位图(我的图片);
drawsquares();
readakey();
}
_MAIN()的_结尾

您不能在函数之外执行此操作:

#include "bitmap.h"
#include "player.h"
#include <allegro.h>
#include <iostream>

int onbitmap=1;
bool turn=true;

BITMAP *my_pic1;
BITMAP *my_pic2;
BITMAP *my_pic3;
BITMAP *my_pic4;
BITMAP *my_pic5;
BITMAP *my_pic6;
BITMAP *my_pic7;
BITMAP *my_pic8;
BITMAP *my_pic9;

player *pic;

pic->upperrow=0;

player *one;
player *two;

static void nextturn()
{
if(turn==1)
{
    turn=0;
}
else
{
    turn=1;
}
}
static void drawsquares()
{
 my_pic1 = NULL;
my_pic1 = load_bitmap("selected.bmp", NULL);
my_pic2 = NULL;
my_pic2 = load_bitmap("unselected.bmp", NULL);
my_pic3 = NULL;
my_pic3 = load_bitmap("unselected.bmp", NULL);
my_pic4 = NULL;
my_pic4 = load_bitmap("unselected.bmp", NULL);
my_pic5 = NULL;
my_pic5 = load_bitmap("unselected.bmp", NULL);
my_pic6 = NULL;
my_pic6 = load_bitmap("unselected.bmp", NULL);
my_pic7 = NULL;
my_pic7 = load_bitmap("unselected.bmp", NULL);
my_pic8 = NULL;
my_pic8 = load_bitmap("unselected.bmp", NULL);
    my_pic9 = NULL;
my_pic9 = load_bitmap("unselected.bmp", NULL);

draw_sprite(screen, my_pic1, 218,146+65*1);
draw_sprite(screen, my_pic2, 218,146+65*2);
draw_sprite(screen, my_pic3, 218,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic7, 218+(65*2),146+65*1);
draw_sprite(screen, my_pic8, 218+(65*2),146+65*2);
draw_sprite(screen, my_pic9, 218+(65*2),146+65*3);
}

    static void replacebitmap(BITMAP *one,BITMAP *two)
{
}

static void readakey()
{
int val=readkey();
switch (val  >> 8)
{

case KEY_LEFT:
{


  switch (onbitmap)
{

    case 1:
    break;
    case 2:
    break;
    case 3:
    break;
    case 4:
    onbitmap=1;


         my_pic4 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);


    my_pic1 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();
   case 5:
     onbitmap=5;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

   case 6:

         onbitmap=6;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

     case 7:

         onbitmap=7;

    my_pic7 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic7, 218,146+65*1);

    my_pic4 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);
    clear_keybuf();
   readakey();

            case 8:

         onbitmap=8;

    my_pic8 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic8, 218,146+65*1);

    my_pic5 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic5, 218,146+65*1);
    clear_keybuf();
   readakey();
}
}
}
}

int main(int argc, char *argv[])
{
allegro_init();
install_keyboard();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT, 640,480,0,0);
BITMAP *my_pic = NULL;
my_pic = load_bitmap("background.bmp", NULL);
draw_sprite(screen, my_pic, 0,0);

destroy_bitmap(my_pic);
drawsquares();

readakey();
}
END_OF_MAIN()
pic->upperrow=0;

您可以声明(并初始化globals),但仅此而已。

此代码几乎不可读。请发布一个说明问题的最小代码!一般来说,这段代码有很多地方可以改进,但这是一个不同的主题。如果他将内存分配到pic所指向的位置,那么可以在函数之外完成这项工作。因为,上排是公共的。@amalantony-真的吗?在C++中?这对我来说是个新闻。。。(试试这个:)尼姆,对不起。这是我的误解。我投票删除了我的答案。
#include "bitmap.h"
#include "player.h"
#include <allegro.h>
#include <iostream>

int onbitmap=1;
bool turn=true;

BITMAP *my_pic1;
BITMAP *my_pic2;
BITMAP *my_pic3;
BITMAP *my_pic4;
BITMAP *my_pic5;
BITMAP *my_pic6;
BITMAP *my_pic7;
BITMAP *my_pic8;
BITMAP *my_pic9;

player *pic;

pic->upperrow=0;

player *one;
player *two;

static void nextturn()
{
if(turn==1)
{
    turn=0;
}
else
{
    turn=1;
}
}
static void drawsquares()
{
 my_pic1 = NULL;
my_pic1 = load_bitmap("selected.bmp", NULL);
my_pic2 = NULL;
my_pic2 = load_bitmap("unselected.bmp", NULL);
my_pic3 = NULL;
my_pic3 = load_bitmap("unselected.bmp", NULL);
my_pic4 = NULL;
my_pic4 = load_bitmap("unselected.bmp", NULL);
my_pic5 = NULL;
my_pic5 = load_bitmap("unselected.bmp", NULL);
my_pic6 = NULL;
my_pic6 = load_bitmap("unselected.bmp", NULL);
my_pic7 = NULL;
my_pic7 = load_bitmap("unselected.bmp", NULL);
my_pic8 = NULL;
my_pic8 = load_bitmap("unselected.bmp", NULL);
    my_pic9 = NULL;
my_pic9 = load_bitmap("unselected.bmp", NULL);

draw_sprite(screen, my_pic1, 218,146+65*1);
draw_sprite(screen, my_pic2, 218,146+65*2);
draw_sprite(screen, my_pic3, 218,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic4, 218+65,146+65*1);
draw_sprite(screen, my_pic5, 218+65,146+65*2);
draw_sprite(screen, my_pic6, 218+65,146+65*3);
draw_sprite(screen, my_pic7, 218+(65*2),146+65*1);
draw_sprite(screen, my_pic8, 218+(65*2),146+65*2);
draw_sprite(screen, my_pic9, 218+(65*2),146+65*3);
}

    static void replacebitmap(BITMAP *one,BITMAP *two)
{
}

static void readakey()
{
int val=readkey();
switch (val  >> 8)
{

case KEY_LEFT:
{


  switch (onbitmap)
{

    case 1:
    break;
    case 2:
    break;
    case 3:
    break;
    case 4:
    onbitmap=1;


         my_pic4 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);


    my_pic1 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();
   case 5:
     onbitmap=5;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

   case 6:

         onbitmap=6;

    my_pic5 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);

    my_pic2 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic1, 218,146+65*1);
    clear_keybuf();
   readakey();

     case 7:

         onbitmap=7;

    my_pic7 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic7, 218,146+65*1);

    my_pic4 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic4, 218,146+65*1);
    clear_keybuf();
   readakey();

            case 8:

         onbitmap=8;

    my_pic8 = load_bitmap("unselected.bmp", NULL);
    draw_sprite(screen, my_pic8, 218,146+65*1);

    my_pic5 = load_bitmap("selected.bmp", NULL);
    draw_sprite(screen, my_pic5, 218,146+65*1);
    clear_keybuf();
   readakey();
}
}
}
}

int main(int argc, char *argv[])
{
allegro_init();
install_keyboard();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT, 640,480,0,0);
BITMAP *my_pic = NULL;
my_pic = load_bitmap("background.bmp", NULL);
draw_sprite(screen, my_pic, 0,0);

destroy_bitmap(my_pic);
drawsquares();

readakey();
}
END_OF_MAIN()