C语言游戏开发学习过程

第一次使用CSDN记录学习过程

学习过程中经常不知道笔记会放在哪里,放网盘有时候编辑起来不是太方便,所以记录一下使用CSDN博客来记录学习过程以及学习笔记,一起与大佬们学习分享。

#C语言游戏开发的学习第一天
今天我在网上找到了C语言学习的一些学习资料,记录一下

打飞机游戏设计

通过scanf函数获取用户的输入来控制小飞机的上下左右,但是会有一个弊端,就是每次输入都必须按下回车键才能执行,不能很好的做到人机交互。所以要用到(#include <conio.h>)里的getch函数,直接获取用户输入的东西。kbhit()函数在用户有键盘输入时返回1,否则返回0;if (kbhit())作用是避免在用户不输入的时候导致游戏暂停。
用的是scanf函数。

#include <stdio.h>
#include <stdlib.h>
int main(){
	int x = 5;
	int y = 10;
	int i,j;
	char input;
	
	while(1){
		system("cls");	//刷新界面
		for(i=0;i<x;i++)	//输出飞机上的空格 
			printf("\n");
		for(j=0;j<y;j++)	//输出飞机左边的空格 
			printf(" "); 
		printf("*");	//输出飞机 
		printf("\n"); 
		
		scanf("%c",&input);
		if(input == 'a')
			y--;
		if(input == 'd')
			y++;
		if(input == 'w')
			x--;
		if(input == 's')
			x++;
	}
	return 0;
} 

用的是getch函数:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main(){
	int x = 5;
	int y = 10;
	int i,j;
	char input;
	
	while(1){
		system("cls");	//刷新界面
		for(i=0;i<x;i++)	//输出飞机上的空格 
			printf("\n");
		for(j=0;j<y;j++)	//输出飞机左边的空格 
			printf(" "); 
		printf("*");	//输出飞机 
		printf("\n"); 
		
		if(kbhit()){		//判断是否有输入
		input = getch(); 
		if(input == 'a')
			y--;
		if(input == 'd')
			y++;
		if(input == 'w')
			x--;
		if(input == 's')
			x++;
	}}
	return 0;
} 

这样就能很好的实现人机交互,不需要每移动一下就按一次回车才有反应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值