c++编游戏-消灭星星-童年的记忆-此程序标志着c++游戏将会从单调变得丰富

目录

前言

为什么要编消灭星星?

关于消灭星星

代码更新日志

代码分解

完整代码

后记


前言

相信你也对消灭星星很感兴趣,因为它曾经是非常受欢迎的一款游戏。它融入进了我们童年的生活中,它让我们找到了不一样的快乐。

为什么要编消灭星星?

以前觉得c++算出来了一个1+1=2感觉很神奇(这也是每一个初学者所经历过的吧......),但后来却不一样了。我们天天刷各种各样的题,一直跟那个以*.exe命名的文件讨价还价,而它反而天天跟你装神弄鬼,你要的是2,它偏偏给你个3,这时候你很想甩了那电脑——黑底白字的3,清清楚楚明明白白。

最近我又碰巧没事,闲在家里看看电视,打打游戏,我竟有了创作消灭星星的灵感和决心!

关于消灭星星

作者的消灭星星,共:

628行,

15523个字符,

10个函数,

内存2MB。

测试环境:

Windows7

c++编译器5.11

创作此代码历经5个月,357次测试,均无bug。#请放心使用#

代码更新日志

2021.2.2 消灭方块v1.0.0。

2021.2.5 消灭方块v1.1.2,增加颜色模块,修复了两个bug。

2021.2.6 消灭方块v1.3.3,增加了商店,修复了一个bug。

2021.3.4 消灭方块v1.5.4,增加了退出功能和最高分存储,修复了一个bug。

2021.4.10 消灭星星v2.5.8,全新改版,游戏名更为消灭星星,并修复了n多bug。

2021.4.28 消灭星星v2.6.0,修复了一些bug。

2021.5.5 消灭星星v3.6.0,增加查看信息板块,增加了隐藏板块,等你来探索!

2021.6.17 消灭星星v3.8.0,修复了递归死循环的问题,减少了不必要的代码。

2021.8.12 消灭星星v3.9.1,增加了游戏中途退出功能,修复了n多bug。

代码分解

(完整代码放在篇尾,如果实在复制地恼火,点击下面链接免费下载cpp文件)

免费下载cpp文件

文件的开头

#include<bits/stdc++.h>
#include<windows.h>
#include<time.h>
using namespace std;
int input=0,coin=100,chuizi=2,cp=1,again=0,play[11][11],ceshi[11][11],guanka=-1,aa,bb,cc,dd,ee,sjhang,sjlie,mubiao=0,guanqianzongfen=0,guankazongfen=0,jsq=0,jiafen=0,finishjiafen=0,jihuo=0;
string jihuoma;

函数10个,分别指

锤子商店模块

积分翻倍器商店模块

开始模块

结束判断

输出模块

输入模块

搜索模块

掉落模块

退出判断

主函数。

void shop_chuizi();
void shop_cp();
int start();
bool ended();
void outputed();
void inputed();
void search(int,int);
void falldown();
bool onefalse(int,int);
int main()

主函数内是菜单:

int main()
{
	srand(time(NULL));
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	while(1)
	{
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
		cout<<"Welcome to pop star!\n1.开始\n2.商城\n3.我的\n4.继续\n5.清空历史\n";
		cin>>input;
		while(input!=1&&input!=2&&input!=3&&input!=4&&input!=5&&input!=6)
		{
			system("cls");
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
			cout<<"Welcome to pop star!\n1.开始\n2.商城\n3.我的\n4.继续\n5.清空历史\n";
			cin>>input;
		}
		if(input==2)
		{
			system("cls");
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
			cout<<"Welcome to pop star store!You can buy what you want to buy!\n你有:"<<coin<<"个金币。\n1.锤子:30个金币\n2.积分翻倍器:80个金币\n3.返回\n";
			cin>>input;
			while(input!=1&&input!=2&&input!=3)
			{
				system("cls");
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
				cout<<"Welcome to pop star store!You can buy what you want to buy!\n你有:"<<coin<<"个金币。\n1.锤子:30个金币\n2.积分翻倍器:80个金币\n3.返回\n";
				cin>>input;
			}
			if(input==1)
			{
				shop_chuizi();
				continue;
			}
			if(input==2)
			{
				shop_cp();
				continue;
			}
			if(input==3)
				continue;
		}
		if(input==3)
		{
			system("cls");
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
			cout<<"现在你有:\n"<<chuizi<<"个锤子,\n"<<cp<<"个积分翻倍器,\n"<<coin<<"个金币!\n1.返回";
			cin>>input;
			while(input!=1)
			{
				system("cls");
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
				cout<<"现在你有:\n"<<chuizi<<"个锤子,\n"<<cp<<"个积分翻倍器,\n"<<coin<<"个金币!\n1.返回";
				cin>>input;
			}
			continue;
		}
		if(input==1)
		{
			guanka=-1;
			start();
			if(sjhang=-1)
			{
				again=0;
				guanka--;
			}
		}
		if(input==4)
		{
			if(guanka==-1)
			{
				system("cls");
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
				cout<<"你还没有进行过游戏!";
				Sleep(1000);
				continue;
			}
			else
			{
				again=0;
				guanka--;
				start();
				if(sjhang=-1)
				{
					again=0;
					guanka--;
				}
			}
		}
		if(input==5)
		{
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
			system("cls");
			cout<<"删除记录中";
			for(int i=0; i<6; ++i)
			{
				cout<<'.';
				Sleep(300);
			}
			guanka=-1,guanqianzongfen=0,guankazongfen=0;
			system("cls");
			cout<<"删除成功!";
			Sleep(1000);
		}
		if(input==6)
		{
			system("cls");
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
			cout<<"激活码:";
			cin>>jihuoma;
			if(jihuoma=="activation"||jihuoma=="!!!"||jihuoma=="pop"||jihuoma=="666"||jihuoma=="star")
			{
				jihuo=1;
				cout<<"激活成功!";
				Sleep(1000);
			}
			else
			{
				cout<<"激活失败!";
				Sleep(1000);
			}
		}
	}
	return 0;
}

这才一百行好吗......

然后就是两个商店:

void shop_chuizi()
{
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	if(coin<30)
	{
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
		cout<<"金币不足!";
		Sleep(800);
	}
	else
	{
		coin-=30,chuizi++;
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
		cout<<"成功购买了一个锤子,现在你有"<<chuizi<<"个锤子。\n你还有"<<coin<<"个金币!";
		Sleep(1000);
	}
	system("cls");
	SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
	cout<<"你有:"<<coin<<"个金币。\n1.锤子:30个金币\n2.积分翻倍器:80个金币\n3.返回\n";
	cin>>input;
	while(input!=1&&input!=2&&input!=3)
	{
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
		cout<<"你有:"<<coin<<"个金币。\n1.锤子:30个金币\n2.积分翻倍器:80个金币\n3.返回\n";
		cin>>input;
	}
	if(input==1)
		shop_chuizi();
	if(input==2)
		shop_cp();
	if(input==3);
}
void shop_cp()
{
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	if(coin<80)
	{
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
		cout<<"金币不足!";
		Sleep(800);
	}
	else
	{
		coin-=80,cp++;
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
		cout<<"成功购买了一个积分翻倍器,现在你有"<<cp<<"个积分翻倍器。\n你还有"<<coin<<"个金币!";
		Sleep(1000);
	}
	system("cls");
	SetConsoleTextAttribute(consolehwnd,FOREGROUN
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值