玛丽奥吃金币

来源:互联网 发布:js done方法 编辑:程序博客网 时间:2024/05/14 10:14

玛丽奥吃金币 ,代码如下




#include <yzkgame.h>
#pragma comment( linker, "/subsystem:\"console\" /entry:\"mainCRTStartup\"" )
#pragma comment(lib, "YZKGame.lib")
int beginGameTxet = 0;


void gameMain2(void)
{
int distance_1 = 500;
int distance = 10000;
int mario = 0;
int bgImg = 0;
int ch;
int x;
int y;
int coinNum[10] = { 1,2,3,4,5,6,7,8,9,10 };
int coinXs[10] = { 101,222,310,402,505,464,378,486,690,780 };
int coinYs[10] = { 105,212,300,412,505,164,178,186,180,590 };
int coinX, coinY;
setGameTitle("控制");
setGameSize(800, 600);
createImage(bgImg, "大片草地.png");
createSprite(mario, "mario");
playSpriteAnimate(mario, "walk");
hideText(beginGameTxet);
for (int i = 0;i < 10;i++) {
createSprite(coinNum[i], "coin");
playSpriteAnimate(coinNum[i], "rotate");
setSpritePosition(coinNum[i], coinXs[i], coinYs[i]);
}
while (TRUE) {
ch = getPressedKeyCode();
x = getSpriteX(mario);
y = getSpriteY(mario);
if (ch == RP_KEY_LEFT) {
x = x - 1;
setSpritePosition(mario, x, y);
setSpriteFlipX(mario, FALSE);
for (int i = 0; i < 10; i++) {
coinX = getSpriteX(coinNum[i]);
coinY = getSpriteY(coinNum[i]);
distance = (x - coinX)*(x - coinX) + (y - coinY)*(y - coinY);
if (distance < distance_1) {
hideSprite(coinNum[i]);
}


}
pauseGame(10);
}
else if (ch == RP_KEY_RIGHT) {
x++;
setSpritePosition(mario, x, y);
setSpriteFlipX(mario, TRUE);
for (int i = 0; i < 10; i++) {
coinX = getSpriteX(coinNum[i]);
coinY = getSpriteY(coinNum[i]);
distance = (x - coinX)*(x - coinX) + (y - coinY)*(y - coinY);
if (distance < distance_1) {
hideSprite(coinNum[i]);
}


}
pauseGame(10);
}
else if (ch == RP_KEY_UP)
{
y++;
setSpritePosition(mario, x, y);
setSpriteFlipX(mario, FALSE);
for (int i = 0; i < 10; i++) {
coinX = getSpriteX(coinNum[i]);
coinY = getSpriteY(coinNum[i]);
distance = (x - coinX)*(x - coinX) + (y - coinY)*(y - coinY);
if (distance < distance_1) {
hideSprite(coinNum[i]);
}


}
pauseGame(10);
}
else if (ch == RP_KEY_DOWN) {
y--;
setSpritePosition(mario, x, y);
setSpriteFlipX(mario, TRUE);
for (int i = 0; i < 10; i++) {
coinX = getSpriteX(coinNum[i]);
coinY = getSpriteY(coinNum[i]);
distance = (x - coinX)*(x - coinX) + (y - coinY)*(y - coinY);
if (distance < distance_1) {
hideSprite(coinNum[i]);
}


}
pauseGame(10);
}
}


pauseGame(10000);
}
void gameMain(void) {
setGameTitle("吃金币游戏");
setGameSize(300, 300);
setBgColor(0, 1, 0);
createText(beginGameTxet, "开始游戏");
setTextPosition(beginGameTxet, 110, 150);
while (TRUE) {
int mouseX = getMousePositionX();
int mouseY = getMousePositionY();
if (mouseX > 110 && mouseX < 190 && mouseY > 160 && mouseY < 180 && isMouseLeftButtonDown()) {
gameMain2();
}
pauseGame(10);
}
}
int main(void)
{
rpInit(gameMain);
return 0;
}





原创粉丝点击