DEV--C++小游戏(吃星星(0.2))

发布于:2024-05-09 ⋅ 阅读:(23) ⋅ 点赞:(0)

目录

吃星星(0.2)

简介

分部代码

头文件(增)

命名空间+变量(增)

副函数(新,增)

清屏函数

打印地图函数(增)

移动函数

选择颜色(新)

随机选一个颜色输出星星(新)

附:十进制颜色对照表

主函数

0.2版完整代码


吃星星(0.2)

版本<1表示还未完成


简介

用wasd去吃‘*’


分部代码

头文件(增)

#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h>

不万能的万能头

按键式输入头文件

颜色窗口等头文件


命名空间+变量(增)

using namespace std;
int x,y,n,m,color;
char a[100][200],w='*',c;

命名空间

地图大小(n,m),‘I’的坐标(x,y),颜色

地图,输入变量,星星


副函数(新,增)

清屏函数
void cls()
{
	system("cls");
}

清除屏幕上所有东西


打印地图函数(增)
void p1()
{
	printf("该版本为:吃星星(0.2)\n"); 
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)printf("%c",a[i][j]);
		printf("\n");
	}
    q1();
}

打印版本+地图+随机颜色的星星


移动函数
void yd()
{
	(c=='a'&&y>0)?a[x][--y]='I',a[x][y+1]='x':0;
	(c=='d'&&y<m-1)?a[x][++y]='I',a[x][y-1]='x':0;
	(c=='w'&&x>0)?a[--x][y]='I',a[x+1][y]='x':0;
	(c=='s'&&x<n-1)?a[++x][y]='I',a[x-1][y]='x':0;
	if(int(c)==27)exit(0);
}

w,a,s,d,Esc键的判断是否按下


选择颜色(新)
void colorchoose(int color)
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),color);
}

定义一个颜色,并实现输出使用这个颜色


随机选一个颜色输出星星(新)
void q1()
{
	color=rand()%255+0;
	colorchoose(color);
	printf("%c",w);
	colorchoose(7);
}

随机选一个颜色

实现这个颜色

输出星星

颜色变回来

附:十进制颜色对照表


主函数
int main()
{
	cin>>n>>m; 
	memset(a,'x',sizeof(a));
	x=n/2;
	y=m/2;
	a[x][y]='I';
	while(1)
	{
		p1();
		c=getch();
		cls();
		yd();
	}
}

全体赋值‘x’

输入m,n

找到‘I’的坐标并定位

无限循环

打印地图

按键式输入

清屏

移动

0.2版完整代码

#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h>
using namespace std;
int x,y,n,m,color;
char a[100][200],w='*',c;
void colorchoose(int color)
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),color);
}
void q1()
{
	color=rand()%255+0;
	colorchoose(color);
	printf("%c",w);
	colorchoose(7);
}
void cls()
{
	system("cls");
}
void p1()
{
	printf("该版本为:吃星星(0.2)\n");
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)printf("%c",a[i][j]);
		printf("\n");
	}
	q1();
}
void yd()
{
	(c=='a'&&y>0)?a[x][--y]='I',a[x][y+1]='x':0;
	(c=='d'&&y<m-1)?a[x][++y]='I',a[x][y-1]='x':0;
	(c=='w'&&x>0)?a[--x][y]='I',a[x+1][y]='x':0;
	(c=='s'&&x<n-1)?a[++x][y]='I',a[x-1][y]='x':0;
	if(int(c)==27)exit(0);
}
int main()
{
	cin>>n>>m; 
	memset(a,'x',sizeof(a));
	x=n/2;
	y=m/2;
	a[x][y]='I';
	while(1)
	{
		p1();
		c=getch();
		cls();
		yd();
	}
}

我会尽快更新

敬请期待!!!!!


网站公告

今日签到

点亮在社区的每一天
去签到