射击游戏模板(源码)

  1. #include <bits/stdc++.h>:

    • 这是一个预编译指令,用于包含几乎所有的标准C++库头文件。这通常在编程竞赛中使用,以简化代码的编写过程,因为它不需要单独包含每个需要的头文件。
  2. #include <stdio.h>:

    • 这是C语言的标准输入输出库的头文件,它包含了基本的输入输出函数,如printfscanf
  3. #include <conio.h>:

    • 这个头文件包含了用于DOS环境的一些输入输出函数,如getch(),它允许程序在没有回显的情况下读取一个字符。
  4. #include <windows.h>:

    • 这个头文件包含了Windows API的函数声明,用于操作Windows操作系统的各种功能,比如控制台输出。
  5. #include <time.h>:

    • 这个头文件包含了处理日期和时间的函数。
  6. using namespace std;:

    • 这行代码告诉编译器使用标准命名空间,这样就不需要在标准库函数和对象前加std::前缀。
  7. void gotoxy(int x, int y):

    • 这是一个自定义函数,用于设置控制台的光标位置。它接受两个参数:xy,分别代表光标的横坐标和纵坐标。
    • COORD coord;: 定义了一个COORD结构体变量,用于存储光标位置。
    • coord.X = x; coord.Y = y;: 将参数xy赋值给coordXY成员。
    • SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord );: 调用Windows API函数,设置控制台光标位置。
  8. int main():

    • 这是C++程序的入口点。
  9. system("cls");:

    • 调用system函数执行DOS命令cls,用于清空控制台屏幕。
  10. cin >> p;:

    • 从标准输入读取一个整数到变量p
  11. getch():

    • conio.h头文件中,这个函数用于从键盘读取一个字符,而不需要用户按回车键。它返回读取的字符。
  12. goto zbks;:

    • 这是一个C语言的goto语句,用于无条件跳转到标记为zbks的代码位置。
      #include <bits/stdc++.h>
      #include <stdio.h>
      #include <conio.h>
      #include <windows.h>
      #include <time.h>
      using namespace std;
      
      // 定义gotoxy函数,用于定位光标位置
      void gotoxy(int x, int y) {
      	COORD coord;
      	coord.X = x;
      	coord.Y = y;
      	SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord );
      }
      
      int main(){
      	int p;
      	
      	// 提示用户选择菜单
      	cout<<"-------1_皮肤------"<<endl;
      	cout<<"-------2_开始------"<<endl; 
      	cout<<"/**/*/*/输入----------:";
      	cin>>p;
      	
      	char a1,x1,c,d;
      	
      	// 根据用户输入选择皮肤或开始游戏
      	if(p==1)
      	{
      		system("cls"); // 清屏
      		cout<<"a.自定义" <<endl;
      		cout<<"b.系统自带"<<endl;
      		cout<<"^-^:"; 
      		cin>>a1;
      		// 用户选择自定义皮肤
      		if(a1=='a')
      		{
      			cout<<"自定义:";
      			cin>>x1;
      			
      		}
      		// 用户选择系统自带皮肤
      		if(a1=='b')
      		{
      			cout<<"1.■"<<endl;
      			cout<<"2.▲"<<endl;
      			cout<<"3.※"<<endl;
      			cout<<"4.〇"<<endl;
      			cout<<"请选择:";
      			int abc;
      			cin>>abc;
      			// 根据用户选择设置皮肤字符
      			if(abc == 1){x1 = '■';}		
      			if(abc == 2){x1 = '▲';}			
      			if(abc == 3){x1 = '※';}										
      			if(abc == 4){x1 = '〇';} 			
      		}
      	}
      	else
      	{
      		goto zbks; // 跳转到游戏开始标签
      	}
      	
      	zbks:
      	system("cls"); // 清屏
      	int x=55,y=15;
      	gotoxy(55,15); // 将光标定位到初始位置
      	cout<<x1;	  
      	char a;
      	while(a=getch()){ // 循环读取按键
      		// 根据按键方向移动光标并打印皮肤字符
      		if(a==72){ // 上键
      			system("cls");
      			gotoxy(x,y-1);
      			y--;
      			cout<<x1;
      		}else if(a==80){ // 下键
      			system("cls");
      			gotoxy(x,y+1);
      			y++;
      			cout<<x1;
      		}else if(a==75){ // 左键
      			system("cls");
      			gotoxy(x-1,y);
      			x--;
      			cout<<x1;
      		}else if(a==77){ // 右键
      			system("cls");
      			gotoxy(x+1,y);
      			x++;
      			cout<<x1;
      		}
      	}
      	return 0;
      }
      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值