C游戏开发总结-20xx0719

第二节 窗口内文本的输入输出函数

1、窗口内文本的输出函数

int cprintf("<格式化字符串>", <变量表>);

int cputs(char *string);

int putch(int ch);

cprintf() 函数输出一个格式化的字符串或数值到窗口中。它与printf()函数的用法完全一样,区别在于cprintf() 函数的输出受窗口限制,而printf() 函数的输出为整个屏幕。

cputs()函数输出一个字符串到屏幕上,它与puts()函数用法完全一样,只是受窗口大小的限制。

putch()函数输出一个字符到窗口内。

注意:

(1)使用以上几种函数,当输出超出窗口的右边界时会自动转到下一行的开始处继续输出。当窗口内填满内容仍没有结束输出时,窗口屏幕将会自动逐行上卷直到输出结束为止。

(2)窗口内文本的输入函数int getche(void); 该函数在前面已经讲过,需要说明的是,getche()函数从键盘上获得一个字符,在屏幕上显示的时候,如果字符超过了窗口右边界,则会被自动转移到下一行的开始位置。

2、有关屏幕操作的函数

void clrscr(void); 清除当前窗口中的文本内容, 并把光标定位在窗口的左上角(1, 1)处。 void clreol(void); 清除当前窗口中从光标位置到行尾的所有字符, 光标位置不变。

gettext()函数是将屏幕上指定的矩形区域内文本内容存入buffer 指针指向的一个内存空间。 内存的大小用下式计算: 所用字节大小=行数*列数*2

其中:行数=y2-y1+1 列数=x2-x1+1 puttext()函数则是将gettext()函数存入内存buffer中的文字内容拷贝到屏幕上指定的位置。

int movetext(int x1, int x2, int y2, int x3, int y3);

movetext()函数将屏幕上左上角为(x1, y1),右下角为(x2, y2)的一矩形窗口内的文本内容拷贝到左上角为(x3, y3)的新的位置。该函数的坐标也是相对于整个屏幕而言的。

注意:

(1) gettext()函数和puttext() 函数中的坐标是对整个屏幕而言的, 即是屏幕的绝对坐标,而不是相对窗口的坐标。

(2) movetext()函数是拷贝而不是移动窗口区域内容, 即使用该函数后, 原位置区域的文本内容仍然存在。

#include

main()

{

int i;

char *f[]={"Load F3","Pick Alt-F3","New ",

"Save F2","Write to ","Directory",

"Change dir","Os shell ","Quit Alt-X"};

char buf[11*16*2];

clrscr();

textcolor(YELLOW);

textbackground(BLUE);

clrscr();

gettext(10, 2, 24, 11, buf);

window(10, 2, 24, 11);

textbackground(RED);

textcolor(YELLOW);

clrscr();

for(i=0; i<9; i++)

{

gotoxy(1, i+1);

cprintf("%s", f[i]);

}

getch();

movetext(10, 2, 24, 11, 40, 10);

puttext(10, 2, 24, 11, buf);

getch();

}

下面再介绍一些函数:

void highvideo(void); 设置显示器高亮度显示字符

void lowvideo(void); 设置显示器低亮度显示字符

void normvideo(void); 使显示器返回到程序运行前的显示方式 int wherex(void);

int wherey(void);这两个函数返回当前窗口下光标的x,y坐标

 

第二篇:3D游戏开发总结及问题

队伍组成

·开发团队

·制作人

·执行制作人

·策划团队

·程序团队

·美术团队

·测试团队

我理解的咱们这个系统主要是这3块人的沟通

游戏策划团队

·故事设计 (Story Telling)

·脚本设计 (Scripting)

·玩法设计 (Game Play Design)

·关卡设计 (Level Design)

·游戏調適 (Game Tuning)

·数值设定 (Numerical Setup)

·AI 设计 (Game AI)

·音效设定 (Sound FX Setup)

·场景设定 (Scene Setup)

策划团队在咱们将要实现的这个系统中,是不是不是特别的需要沟通?我理解他这个策划团队的任务应该就是已经都写好在需求文档里面了,开发过程中变更是不是不会太大啊?

游戏美术团队

·场景 (Terrain)

·人物 (Character)

·建模 (Models)

·材質 (Textures)

·动作 (Motion / Animation)

·特效 (FX)

·用户界面User Interface

游戏开发 (Production)

·美术量产制作

·(建模)Modeling

·(结构)Textures

·(动画)Animation

·(动作)Motion

·(特效)FX

·程序开发 (Coding)

·策划数值设定

美术和开发团队的内容有点重,是不是可以理解成美术主要做的是美工这样的,然后开发主要是做3D建模这种更贴近程序的部分?

游戏程序团队

·游戏程序 (Game Program)

·游戏开发工具 (Game Tools)

·游戏引擎开发Game Engine Development

·网络游戏服务端开发Online Game Server Development

程序团队应该是和开发团队的沟通多余和美术团队是么?他们主要沟通什么信息呢?

游戏整和 (Integration)

·关卡串联 (Level Integration)

·数值调整 (Number Tuning)

·音效置入 (Audio)

·完成所有美术

·程旬与美术結合

·(攻略)Focus Group (说明书User Study)

·发布一些攻略截图Release some playable levels for focus group

这一块我不太懂,这个是不是属于那一部分的子内容啊?

游戏测试 (Testing)

·Alpha(α) 测试

·除錯 (Debug)

·Beta (β)测试

·数值微调

·Game play 微调

·对网络游戏而言 (MMOG)

·封閉测试 (Closed Beta)

·開放测试 (Open Beta)

·压力(极限)测试 (Critical Testing)

·网络游戏才有

测试的团队得和所有的团队都有沟通,测试出来问题以后便于沟通?

下面这个提案感觉是一个项目批下来以后先完成的这些工作,回来我可以把这个作为一个流程 游戏提案 (Proposal)

·系統分析 (System Analysis)

·游戏设计文件撰写 (Game Design Document)

·传播媒介文件撰写 (Media Design Document)

·技术设计文案撰写 (Technical Design Document)

·游戏专案建立 (Game Project)

·时间表Schedule

·进程/控制Milestones / Check points

·管理Risk management

·测试计划书

·团队建立 (Team Building)

相关推荐