看了一个关于C语言游戏设计的课程,记录一下学习的的东西。
一般实现一个游戏需要以下几种函数:
- 初始化函数
- 显示函数
- 随着玩家的操作而更新的函数
- 不随玩家操作而更新的函数
初始化函数中,需要设定的是一些基本框架,例如游戏界面的宽度、高度,画面元素的坐标等。
显示函数中,则需要设定基本画面元素的显示信息。
随着玩家的操作而更新的函数中,则需要设定游戏的操作方法,和随之带来的改变。
不随玩家操作而更新的函数中,则是设定在玩家不进行操作时界面的显示情况。
另外游戏制作时一般会用到两个函数,更新光标位置,以及隐藏光标,如下:
void HideCusor()
{
CONSOLE_CURSOR_INFO cursor_info={1,0};//第二个值为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);
}
完整程序代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
int position_x,position_y;//飞机位置
int wide,high;//区域
int bullet_x,bullet_y;//子弹位置
int enemy_x,enemy_y;//敌机位置
int score;//得分
int victor;
void HideCusor()
{
CONSOLE_CURSOR_INFO cursor_info={
1,0};//第二个值为0,表示隐藏光标
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
}
void gotoxy(int x,int y)//光标移动
{
HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
COORD