ege 内置图形库一个搞不懂的问题
  • 板块灌水区
  • 楼主idgg007
  • 当前回复3
  • 已保存回复3
  • 发布时间2020/12/4 22:32
  • 上次更新2023/11/5 06:41:17
查看原帖
ege 内置图形库一个搞不懂的问题
297831
idgg007楼主2020/12/4 22:32
#include<graphics.h>
#include<stdlib.h>
#include<time.h>
#include<cstdio>
#define N 10
#define M 30
/*全局变量*/
mouse_msg Mouse;
PIMAGE Picture[12];
int Chess_Board[N+2][N+2];
int Chess_Board_Mode[N+2][N+2];
/*函数*/
void Load_Picture();
void Load_Chess_Board();
void Show_Chess_Board();
int main(){
	initgraph(N*M,N*M);
	for(;is_run();){
		Show_Chess_Board();
		Mouse=getmouse();
		if(Mouse.is_left()){
			if(Chess_Board[Mouse.x/30+1][Mouse.y/30+1]>=0)	Chess_Board_Mode[Mouse.x/30+1][Mouse.y/30+1]=1;
			else	Chess_Board_Mode[Mouse.x/30+1][Mouse.y/30+1]=3;
		}
		if(Mouse.is_right()){
			Chess_Board_Mode[Mouse.x/30+1][Mouse.y/30+1]=2;
		}
	}
	closegraph();
	return 0;
}
/*图片初始化*/
void Load_Picture(){
	char Path[20];
	for(int i=0;i<=11;i++){
		Picture[i]=newimage();
		sprintf(Path,"ui//%d.jpg",i);
		getimage(Picture[i],Path);
	}
}
/*初始化棋盘*/
void Load_Chess_Board(){
	for(int i=1;i<=N;i++)
		for(int j=1;j<=N;j++){
			srand((unsigned)time(NULL));				
			int n=rand()%50;
			if(n==1){
				Chess_Board[i][j]=-1;
				for(int x=-1;x<=1;x++)
					for(int y=-1;y<=1;y++)
						if(Chess_Board[i+x][j+y]>=0)	Chess_Board[i+x][j+y]++;
			}
		}
}
/*显示棋盘*/
void Show_Chess_Board(){
	for(int i=1;i<=N;i++)
		for(int j=1;j<=N;j++){
			if(Chess_Board_Mode[i][j]==0)	putimage(Picture[10],(i-1)*M,(j-1)*M);
			if(Chess_Board_Mode[i][j]==1)	putimage(Picture[Chess_Board[i][j]],(i-1)*M,(j-1)*M);
			if(Chess_Board_Mode[i][j]==2)	putimage(Picture[11],(i-1)*M,(j-1)*M);
			if(Chess_Board_Mode[i][j]==3)	putimage(Picture[9],(i-1)*M,(j-1)*M);
		}
} 

错误信息:

In function 'void Show_Chess_Board()':
59	53\main.cpp	[Error] invalid conversion from 'ege::PIMAGE' {aka 'ege::IMAGE*'} to 'int' [-fpermissive]
42		c:\program files (x86)\dev-cpp\mingw32\include\graphics.h	In file included from c:\program files (x86)\dev-cpp\mingw32\include\graphics.h
1
939	26	c:\program files (x86)\dev-cpp\mingw32\include\ege.h	[Note] initializing argument 1 of 'void ege::putimage(int, int, ege::PCIMAGE, DWORD)'
59	68[Error] invalid conversion from 'int' to 'ege::PCIMAGE' {aka 'const ege::IMAGE*'} [-fpermissive]
42		c:\program files (x86)\dev-cpp\mingw32\include\graphics.h	In file included from c:\program files (x86)\dev-cpp\mingw32\include\graphics.h
1		C:\Users\宋铭淇\Desktop\扫雷素材\main.cpp	                 from main.cpp
939	50	c:\program files (x86)\dev-cpp\mingw32\include\ege.h	[Note] initializing argument 3 of 'void ege::putimage(int, int, ege::PCIMAGE, DWORD)'
60	68[Error] invalid conversion from 'ege::PIMAGE' {aka 'ege::IMAGE*'} to 'int' [-fpermissive]
42		c:\program files (x86)\dev-cpp\mingw32\include\graphics.h	In file included from c:\program files (x86)\dev-cpp\mingw32\include\graphics.h
1		C:\Users\宋铭淇\Desktop\扫雷素材\main.cpp	                 from main.cpp
939	26	c:\program files (x86)\dev-cpp\mingw32\include\ege.h	[Note] initializing argument 1 of 'void ege::putimage(int, int, ege::PCIMAGE, DWORD)'
60	83[Error] invalid conversion from 'int' to 'ege::PCIMAGE' {aka 'const ege::IMAGE*'} [-fpermissive]
42		c:\program files (x86)\dev-cpp\mingw32\include\graphics.h	In file included from c:\program files (x86)\dev-cpp\mingw32\include\graphics.h
1
from main.cpp
939	50	c:\program files (x86)\dev-cpp\mingw32\include\ege.h	[Note] initializing argument 3 of 'void ege::putimage(int, int, ege::PCIMAGE, DWORD)'
61	53[Error] invalid conversion from 'ege::PIMAGE' {aka 'ege::IMAGE*'} to 'int' [-fpermissive]
42		c:\program files (x86)\dev-cpp\mingw32\include\graphics.h	In file included from c:\program files (x86)\dev-cpp\mingw32\include\graphics.h
1		C:\Users\宋铭淇\Desktop\扫雷素材\main.cpp	                 from main.cpp
939	26	c:\program files (x86)\dev-cpp\mingw32\include\ege.h	[Note] initializing argument 1 of 'void ege::putimage(int, int, ege::PCIMAGE, DWORD)'
61	68[Error] invalid conversion from 'int' to 'ege::PCIMAGE' {aka 'const ege::IMAGE*'} [-fpermissive]
42		c:\program files (x86)\dev-cpp\mingw32\include\graphics.h	In file included from c:\program files (x86)\dev-cpp\mingw32\include\graphics.h
1	                 from main.cpp
939	50	c:\program files (x86)\dev-cpp\mingw32\include\ege.h	[Note] initializing argument 3 of 'void ege::putimage(int, int, ege::PCIMAGE, DWORD)'
62	52	[Error] invalid conversion from 'ege::PIMAGE' {aka 'ege::IMAGE*'} to 'int' [-fpermissive]
42		c:\program files (x86)\dev-cpp\mingw32\include\graphics.h	In file included from c:\program files (x86)\dev-cpp\mingw32\include\graphics.h
1		                 from main.cpp
939	26	c:\program files (x86)\dev-cpp\mingw32\include\ege.h	[Note] initializing argument 1 of 'void ege::putimage(int, int, ege::PCIMAGE, DWORD)'
62	67	[Error] invalid conversion from 'int' to 'ege::PCIMAGE' {aka 'const ege::IMAGE*'} [-fpermissive]
42		c:\program files (x86)\dev-cpp\mingw32\include\graphics.h	In file included from c:\program files (x86)\dev-cpp\mingw32\include\graphics.h
1		                 from main.cpp
939	50	c:\program files (x86)\dev-cpp\mingw32\include\ege.h	[Note] initializing argument 3 of 'void ege::putimage(int, int, ege::PCIMAGE, DWORD)'
29		C:\Users\***\Desktop\扫雷素材\Makefile.win	recipe for target 'main.o' failed

坐等大佬

2020/12/4 22:32
加载中...