【接箱子】新手一枚,做了一个小小游戏,dalao勿喷

4 篇文章 1 订阅
3 篇文章 0 订阅

【接箱子】新手一枚,做了一个小小游戏,dalao勿喷

========================================================
注:【接箱子2.0】已更新
━━━━━━━━━━
这是个接箱子的小游戏
二维数组用不好,弄了个一维数组的野路子【滑稽】
真的只是萌新作品,不喜勿pen
思路啥的在代码注释里,有更好的想法找我呦
千万不要超出移动范围(一维数组的弊端)

#include<iostream>
#include<ctime>
#include<conio.h>//for getch();键盘直接输入 
#include<windows.h>//for Sleep(a);等待a 个千分之一秒 
//                   for system("cls");清屏 
using namespace std;
int main()
{
	srand(time(0));//种子随时间生成
    int zbrx=4; //定义人的坐标(只有横坐标) 
    int fen=0;//定义分数
    int fx=4,fy=0;//定义方块XY坐标 
	int map[100]={1,0,0,0,0,0,0,0,1,2,//一维数组地图创建, 
	              1,0,0,0,0,0,0,0,1,2,//0 为 空;1 为 墙;2 为 \n(换行); 
	              1,0,0,0,0,0,0,0,1,2,
	              1,0,0,0,0,0,0,0,1,2,
	              1,0,0,0,0,0,0,0,1,2,
	              1,0,0,0,0,0,0,0,1,2,
	              1,0,0,0,0,0,0,0,1,2,
	              1,0,0,0,0,0,0,0,1,2,
	              1,0,0,0,0,0,0,0,1,2,
	              5,5,5,5,5,5,5,5,5,2};
//初始化完毕 
    cout<<"接箱子小游戏\n按空格键开始\n\n请先切换至\n英文输入法"; 
    for(long long c=0;c<=9999999999;c++)
    {
        int fkk=(fy*10)+fx; //二维坐标转一维坐标 
       	if(getch()=='a')//左移判定 
       	    zbrx--;
       	    int ree=90+zbrx;
       	    map[ree]=3;
       	    map[ree+1]=5;
       	if(getch()=='d')//右移判定 
       	    zbrx++;
       	    ree=90+zbrx;
       	    map[ree]=3;
         	map[ree-1]=5;
       	int sj=rand()%7+1;//生成1~7随机数用于箱子坐标 
       	if(fy==9)//失分判定 
       	{
       		fen--;
       		fy=0;//重置箱子坐标 
       		fx=sj;//
		}
		if(fkk==ree)//得分判定 
			fen+=2;
        fy++;
        map[fkk]=4;//箱子下坠显示
        map[fkk-10]=0;//同上***↑***
    	system("cls");//日常清屏 
		cout<<"接箱子\n"; 
    	for(int cc=0;cc<=100;cc++)//利用for循环打印图案 
	    {	
	    	char out;
	    	int pan=map[cc];
	    	switch(pan)//pan定打印图案类型 
	    	{
	    		case 0: out=' ';break;//0显示为 空 
	    		case 1: out='|';break;// 1 显示为 | 
	    		case 2: out='\n';break;//。。。 
	    		case 3: out='@';break;//
	    		case 4: out='#';break;//
	    		case 5: out='-';break;//别找啦,没有出界判定
	    	}
	    	cout<<out;//输出打印图案 ‘out’ 
    	}
    	cout<<"你的分数:"<<fen<<"\n操作方法:\n“A”为左移\n“D”为右移\n按空格可使箱子掉落"<<endl;
    }
	return 0; 
}

具体运行是啥样,代码拿走看看吧!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值