• 2019春第一次课程设计实验报告


    1.实验项目名称
    飞机游戏
    2.实验项目功能描述
    实现一个飞机游戏,主要包括新式子弹,敌机移动,击中敌机,清屏。
    3.项目模块介绍
    清屏

    void HideCuresor()
    {
        CONSOLE_CURSOR_INFO cursor_info={1,0};
    	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
    }
    void gotoxy(int x,int y)
    {
    	HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
    	COORD pos;
    	pos.X=x;
    	pos.Y=y;
    	SetConsoleCursorPosition(handle,pos);
    }
    

    数据初始化

    void startup()
    {
    	high=100;
    	width=120;
    	pos_x=high/2;
    	pos_y=width/2;
    	bul_x=-2;
    	bul_y=pos_y;
    	ene_x=0;
    	ene_y=pos_y;
    	score=0;
    }
    

    实现子弹

    void show()
    {
    	gotoxy(0,0);
    	int i,j;
    	for(i=0;i<high;i++)
    	{
    		for(j=0;j<width;j++)
    		{
    			if((i==pos_x)&&(j==pos_y))
    			   printf("*");
    			else if((i==ene_x)&&(j==ene_y))
    			   printf("@");
    			else if((i==bul_x)&&(j==bul_y))
    			        printf("|");
    			else
    			   printf(" ");
    		}
    		printf("
    ");
    	}
    	printf("得分:%d
    ",score);
    }
    

    敌机移动,击中得分

    void updateWithoutInput()
    {
    	if(bul_x>-1)
    	   bul_x--;
    	if((bul_x==ene_x)&&(bul_y==ene_y))
    	{
    		score++;
    		ene_x=-1;
    		ene_y=rand()%width;
    		bul_x=-2;
    	}
    	if(ene_x>high)
    	{
    		ene_x=-1;
    		ene_y=rand()%width;
    	}
    	static int speed=0;
    	if(speed<10)
    	   speed++;
    	if(speed==10)
    	{
    		ene_x++;
    		speed=0;
    	}
    	
    }
    

    控制子弹移动

    void updateWithInput()
    {
    	char input;
    	if(kbhit())
    	{
    	    input=getch();	 
    		if(input=='a')
    		   pos_y--;
    		if(input=='d')
    		   pos_y++;
    		if(input=='w')
    		   pos_x--;
    		if(input=='s')
    		   pos_x++;
    		if(input==' ')
    		{
    			bul_x=pos_x-1;
    			bul_y=pos_y;
    		}
        }
    }
    

    4.实现界面显示

    5.代码托管链接
    https://gitee.com/scfyer/first
    6.实验总结
    哇,终于第一次用c语言做了一个小游戏,实现了下以前的小愿望哈。挺有意思的,当初选软件工程的原因就有游戏。有种小小的满足感,在学这个小游戏中学会了许多,也遇到了问题。还有开心的事,这个报告比博客容易弄,哈哈。

  • 相关阅读:
    上学要迟到了【最短路转化】
    解方程【狄利克雷卷积+莫比乌斯反演+积性函数】
    FFT
    min25 筛
    Easy【生成函数】
    CF1406D-Three Sequences
    Alice和Bob赌糖果【赌徒破产模型】
    记MySQL自增主键修改无效的问题
    JVM学习笔记(十一、JDK分析工具)
    JVM学习笔记(十、GC3-垃圾回收机制)
  • 原文地址:https://www.cnblogs.com/scafer/p/10931685.html
Copyright © 2020-2023  润新知