天天看點

C/C++項目分享——鳴人釋放技能螺旋丸

C/C++項目——鳴人釋放技能螺旋丸

一個簡單地小代碼

實作鳴人能夠釋放技能螺旋丸

代碼如下

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
#include <conio.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
IMAGE background;
IMAGE array[16];
IMAGE arrayY[16];
struct bgInfo
{
	int x;
	int y;
	int speed;
};
struct bgInfo bg = { 1000, 0, 5 };
enum 方向{LEFT,RIGHT};
struct roleInfo
{
	int x;
	int y;
	int direct;
};
struct roleInfo role = { 300, 400 ,RIGHT};

void loadResource()
{
	loadimage(&background, "Background\\background.jpg");
	for (int i = 0; i < 16; i++)
	{
		char fileName[50] = "";
		sprintf(fileName, "Helix_attack\\Helix_attack_r%d.gif", i + 1); 
		loadimage(array + i, fileName);
		sprintf(fileName, "Helix_attack\\Helix_attacky_r%d.gif", i + 1);
		loadimage(arrayY + i, fileName);
	}
}
void drawStand(int i)
{
	putimage(0, 0, 1000, 700, &background, bg.x, bg.y);
	putimage(role.x, role.y, arrayY + i, SRCAND);
	putimage(role.x, role.y, array + i, SRCPAINT);
}

void drawKey(int beginFrame,int endFrame)
{
	int i = beginFrame;
	while (i < endFrame)
	{
		putimage(0, 0, 1000, 700, &background, bg.x, bg.y);
		putimage(role.x, role.y, arrayY + i, SRCAND);
		putimage(role.x, role.y, array + i, SRCPAINT);
		i++;
		Sleep(50);
	}
	
}

DWORD WINAPI playMusic(LPVOID lpVoid)
{
	mciSendString("open 1.mp3", 0, 0, 0); 
	mciSendString("play 1.mp3 wait", 0, 0, 0);
	mciSendString("close 1.mp3", 0, 0, 0);
	return 0;
}

void keyDown()
{
	fflush(stdin);
	char userKey = _getch();
	switch (userKey)
	{
	case 'a':
	case 'A':
	case 75:
		bg.x -= bg.speed;
		role.x -= 5;
		if (bg.x <= 0)
			bg.x = 0;
		break;
	case 'd':
	case 'D':
	case 77:
		bg.x += bg.speed;
		role.x += 5;
		if (bg.x >= background.getwidth()-1000)
			bg.x = background.getwidth()-1000;
		break;
	case 'w':
	case 'W':
	case 72:
		role.y -= 5;
		break;
	case 's':
	case 'S':
	case 80:
		role.y += 5;
		break;
	case ' ':
		CreateThread(0, 0, playMusic, 0, 0, 0);
		drawKey(4, 16);
		break;
	}
}
int main()
{
	loadResource();
	initgraph(1000, 700);
	int i = 0;
	while (1)
	{
		drawStand(i);
		i++; 
		if (i == 4)
			i = 0;
		Sleep(50);
		if (_kbhit())
		{
			keyDown();
		}
	}
	_getch();
	closegraph();
	return 0;
}
           

需要鳴人釋放螺旋丸的素材的可以關注微信公衆号:C語言愛好者

或者可以加qq群連結:QQ群

繼續閱讀