打标靶游戏代码求助
  • 板块学术版
  • 楼主zhangxuecheng
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/8/17 09:05
  • 上次更新2024/8/17 11:24:21
查看原帖
打标靶游戏代码求助
1012807
zhangxuecheng楼主2024/8/17 09:05
#include<iostream>
#include<windows.h>
#include<cstdlib>
#include<ctime>
using namespace std;
struct pos{
	int x;
	int y;
}a[1001];
int main(){
    srand(time(0));
    int score=0,posa=0,tmp2=1,wji=10,wjj=5;
	char map[11][11]={' '}; 
	char op=' ';
	map[10][5]='Y';
	while(true){
		tmp2++;
		if(tmp2%10==0){  //控制刷新频率 
			for(int i=1;i<=10;i++){  //随机5个标靶 
				int tmp=rand()%500;
				if(a[posa].x==0){
					tmp=a[posa].x;
				}
				else if(a[posa].x!=0&&a[posa].y==0){
					tmp=a[posa].y;
				}
				else{
					posa++;
					tmp=a[posa].x;
				}
			}
			for(int i=0;i<5;i++){  //这5个标靶做上标记 
				map[a[i].x][a[i].y]='B'; 
			}
		}
		//战场显示 
		for(int i=0;i<1000;i++){
			for(int j=0;j<1000;j++){
				cout<<map[i][j];
			}
			cout<<endl;
		}
		cin>>op;
		//玩家移动操作 
		if(op=='w'||op=='W'){
			map[wji-1][wjj]='Y';
			map[wji][wjj]=' ';
			system("cls");
		}
		if(op=='a'||op=='A'){
			map[wji][wjj-1]='Y';
			map[wji][wjj]=' ';
			system("cls");
		}
		if(op=='d'||op=='D'){
			map[wji][wjj+1]='Y';
			map[wji][wjj]=' ';
			system("cls");
		}
		if(op=='s'||op=='S'){
			map[wji+1][wjj]='Y';
			map[wji][wjj]=' ';
			system("cls");
		} 
		if(op=='g'||op=='G'){
			//攻击的情况下
			for(int i=0;i<wjj;i++){
				if(map[wji][i]=='B'){
					map[wji][i]=' ';
					score+=10;
				}
				system("cls");
			} 
		} 
		cout<<"得分:"<<score<<endl;
	}
	return 0;
}

大佬们看看我这个打标靶代码哪错了,老是输出一堆乱码

2024/8/17 09:05
加载中...