亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? idemo.cpp

?? DOS游戲編程中處理Int 13的工具包
?? CPP
字號:
// IDEMO.CPP

// **************************************************************************
// **************************************************************************
// demonstration program for features of Mode 13h Toolkit
// **************************************************************************
// author: Mark Betz, 76605,2346
//
// developed on: July 6, 1991
//
// last update:  July 6, 1991
// **************************************************************************
// **************************************************************************


#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <mem.h>
#include <stdlib.h>
#include "images.hpp"
#include "keyboard.hpp"

font small("csfont1.fnt");
pcx rehack("rehack.pcx");
pcx celtic("celtic.pcx");
pcx title("title.pcx");

unsigned _stklen = 8192;
p_rec default_pal;

void waitkey()
	{
	char c;
	extnd s;
	while (!kbhit());
	getkey(&c,&s);
	}

void opening_screen()
	{
	win *info;

	title.display(SoftFade);
	delay(1000);
	if (!(info = new win(75,65,175,75,NULL,4,5,11,9)))
		{
		settextmode();
		reporterr(MemErr,"win init: opening_screen()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"opening_screen()");
		return;
		}
	small.setstyle(0,0,2,trans,5);
	small.show(107,75,"Game Programmer's");
	small.show(97,85,"Mode 13h Image Toolkit");
	small.setstyle(4,0,2,trans,5);
	small.show(132,101,"Version 1.0");
	small.setstyle(0,0,1,trans,5);
	small.show(90,117,"Gamer's Programming Workshop");
	small.show(100,127,"GO GAMERS, section 11, CIS ");
	delay(5000);
	delete(info);
	}

void announce(char *str)
	{
	win *info;

	if (!(info = new win(30,50,260,40,NULL,4,5,11,9)))
		{
		settextmode();
		reporterr(MemErr,"win init: announce()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"win init: announce()");
		return;
		}
	small.setstyle(0,0,1,trans,3);
	small.show(40,60,str);
	small.setstyle(4,0,1,trans,3);
	small.show(40,75,"Press any key...");
	waitkey();
	delete(info);
	}

void about_kit()
	{
	win *info;

	if (!(info = new win(45,60,230,110,NULL,4,5,11,9)))
		{
		settextmode();
		reporterr(MemErr,"win init: about_kit()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"win init: about_kit()");
		return;
		}
	small.setstyle(0,0,1,trans,3);
	small.show(55,70,"The toolkit provides a set of functions for");
	small.show(55,80,"basic mode 13h graphics operations, including");
	small.show(55,90,"drawing primitives, windowing, text read and");
	small.show(55,100,"write, and image handling. The window, font,");
	small.show(55,110,"and image handling are provided through easy");
	small.show(55,120,"to use class definitions. Image operations");
	small.show(55,130,"include several different types of dissolves");
	small.show(55,140,"wipes and fades, like the one you just saw.");
	small.setstyle(4,0,1,trans,3);
	small.show(55,155,"Press any key...");
	waitkey();
	delete(info);
	announce("Let's take a look at some of the dissolve types...");
	}

void demo_dissolves()
	{
	title.remove(SoftFade);
	celtic.display(SoftFade);
	delay(500);
	announce("64 pass DAC palette fade (const SoftFade)");
	celtic.remove(SoftFade);
	rehack.display(SnapWipe);
	delay(500);
	announce("Simple block memory copy (const SnapWipe)");
	rehack.remove(SnapWipe);
	title.display(SplitVerticalWipe);
	delay(500);
	announce("Split vertical image wipe (const SplitVerticalWipe)");
	title.remove(SplitVerticalWipe);
	celtic.display(SplitHorizWipe);
	delay(500);
	announce("Split horizontal image wipe (const SplitHorizWipe)");
	celtic.remove(SplitHorizWipe);
	rehack.display(SlideVerticalWipe);
	delay(500);
	announce("Sliding vertical image wipe (const SlideVerticalWipe)");
	rehack.remove(SoftFade);
	title.display(SlideHorizWipe);
	delay(500);
	announce("Sliding horizontal image wipe (const SlideHorizWipe)");
	title.remove(SoftFade);
	celtic.display(VerticalDissolve);
	delay(500);
	announce("Vertical banded dissolve (const VerticalDissolve)");
	celtic.remove(VerticalDissolve);
	rehack.display(HorizDissolve);
	delay(500);
	announce("Horizontal banded dissolve (const HorizDissolve)");
	rehack.remove(SoftFade);
	clearscr(0);
	}

void do_bm_window()
	{
	win *info;
	void *map;
	FILE *bmap;

	if ((map = new char[15744]) == NULL)
		return;
	if ((bmap = fopen("winmap.bit","rb")) == NULL)
		{
		settextmode();
		reporterr(FileOpenErr,"do_bm_window()");
		delete(map);
		return;
		}
	if (fread(map,1,15744,bmap) != 15744)
		{
		settextmode();
		reporterr(FileReadErr,"do_bm_window()");
		delete(map);
		fclose(bmap);
		return;
		}
	fclose(bmap);
	if (!(info = new win(62,71,192,82,(char *)map,0,5,0,0)))
		{
		settextmode();
		reporterr(MemErr,"win init: do_bm_window()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"win init: do_bm_window()");
		return;
		}
	small.setstyle(0,0,1,trans,3);
	small.show(85,91,"The windows can also have a");
	small.show(85,101,"bitmap stored in system ram.");
	small.show(85,111,"This background is stored on");
	small.show(85,121,"disk as WINMAP.BIT.");
	small.setstyle(4,0,1,trans,3);
	small.show(85,136,"Press any key...");
	waitkey();
	delete(info);
	delete(map);
	rehack.remove(SplitVerticalWipe);
	return;
	}

void demo_window()
	{
	win *info;

	clearscr(155);
	if (!(info = new win(45,60,230,95,NULL,4,5,11,9)))
		{
		settextmode();
		reporterr(MemErr,"win init: demo_window()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"win init: demo_window()");
		return;
		}
	small.setstyle(0,0,1,trans,3);
	small.show(55,70,"The win class is a base class for windowing");
	small.show(55,80,"operations. It provides a foundation from");
	small.show(55,90,"which new window classes can be descended. A");
	small.show(55,100,"win class object saves it's background, and");
	small.show(55,110,"has definable attributes for shadow, border,");
	small.show(55,120,"background, size and position.");
	small.setstyle(4,0,1,trans,3);
	small.show(55,135,"Press any key...");
	fadepalettein(0,256,default_pal);
	waitkey();
	delete(info);
	if (!(info = new win(50,60,210,50,NULL,3,5,11,9)))
		{
		settextmode();
		reporterr(MemErr,"win init: demo_window()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"win init: demo_window()");
		return;
		}
	small.setstyle(0,0,1,trans,3);
	small.show(60,70,"200 x 75 window with 3 pixel blue border,");
	small.show(60,80,"and 5 pixel shadow.");
	small.setstyle(4,0,1,trans,3);
	small.show(60,95,"Press any key...");
	waitkey();
	delete(info);
	if (!(info = new win(50,60,210,50,NULL,0,0,11,0)))
		{
		settextmode();
		reporterr(MemErr,"win init: demo_window()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"win init: demo_window()");
		return;
		}
	small.setstyle(0,0,1,trans,3);
	small.show(60,70,"The same sized window with no border,");
	small.show(60,80,"and no shadow.");
	small.setstyle(4,0,1,trans,3);
	small.show(60,95,"Press any key...");
	waitkey();
	delete(info);
	rehack.display(VerticalDissolve);
	delay(500);
	do_bm_window();
	}

void demo_font()
	{
	win *info;
	char str[20];
	char ascii_mask = (BCASE|NUMBER|PUNCT);

	celtic.display(SoftFade);
	if (!(info = new win(30,50,260,80,NULL,0,5,255,0)))
		{
		settextmode();
		reporterr(MemErr,"win init: demo_font()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"win init: demo_font()");
		return;
		}
	small.setstyle(0,0,1,trans,3);
	small.show(40,60,"The font class provides a method for displaying");
	small.show(40,70,"and reading strings of text. The setstyle()");
	small.show(40,80,"method allows you to specify character spacing,");
	small.show(40,90,"space character width, fore and background");
	small.show(40,100,"color, and transparency.");
	small.setstyle(32,0,1,trans,3);
	small.show(40,115,"Press any key...");
	waitkey();
	delete(info);
	if (!(info = new win(30,50,260,40,NULL,0,5,255,0)))
		{
		settextmode();
		reporterr(MemErr,"win init: demo_font()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"win init: demo_font()");
		return;
		}
	small.setstyle(0,0,2,trans,3);
	small.show(40,60,"Transparent text with 2 pixel spacing...");
	small.setstyle(32,0,1,trans,3);
	small.show(40,75,"Press any key...");
	waitkey();
	delete(info);

	if (!(info = new win(30,50,260,40,NULL,0,5,255,0)))
		{
		settextmode();
		reporterr(MemErr,"win init: demo_font()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"win init: demo_font()");
		return;
		}
	small.setstyle(0,35,1,opaque,3);
	small.show(40,60,"Opaque text with 1 pixel spacing...");
	small.setstyle(32,0,1,trans,3);
	small.show(40,75,"Press any key...");
	waitkey();
	delete(info);

	if (!(info = new win(30,50,260,75,NULL,0,5,255,0)))
		{
		settextmode();
		reporterr(MemErr,"win init: demo_font()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"win init: demo_font()");
		return;
		}
	small.setstyle(0,255,1,trans,3);
	small.show(40,60,"The class also provides a readstr() method");
	small.show(40,70,"with a cursor and backspace enabled...");
	small.readstr(40,85,str,20,ascii_mask);
	small.show(40,100,str);
	small.setstyle(32,0,1,trans,3);
	small.show(40,115,"Press any key...");
	waitkey();
	delete(info);

	return;
	}


void demo_drawing()
	{
	int i;
	win *info;

	if (!(info = new win(10,10,260,50,NULL,0,5,255,0)))
		{
		settextmode();
		reporterr(MemErr,"win init: demo_font()");
		return;
		}
	if (info->status != NoErr)
		{
		settextmode();
		reporterr(info->status,"win init: demo_font()");
		return;
		}

	small.setstyle(0,0,1,trans,3);
	small.show(20,20,"The images toolkit also provides some basic drawing");
	small.show(20,30,"primitives...");
	small.setstyle(4,0,1,trans,3);
	small.show(20,45,"Press any key...");
	waitkey();

	small.setstyle(0,0,1,trans,3);
	clearscr(0);
	loadpalette(0,256,default_pal);
	clearscr(15);

	randomize();
	for(i = 0; i < 100; i++)
		{
		line(160,50,random(320),random(100),random(256));
		}
	small.show(10,102,"like line drawing, and...");
	randomize();
	barfill(10,125,130,155,random(256));
	barfill(30,130,200,160,random(256));
	barfill(40,140,250,165,random(256));
	barfill(50,150,300,150,random(256));

	small.show(10,170,"barfills, as well as pixel operations, getimage(),");
	small.show(10,180,"putimage(), and copyimage().");
	small.setstyle(4,0,1,trans,3);
	small.show(10,190,"Press any key...");
	waitkey();
	clearscr(0);
	return;
	}

void closing_screen()
	{
	rehack.display(SoftFade);
	small.setstyle(0,0,1,trans,3);
	small.show(40,10,"The Mode 13h Images Toolkit is free for your use and");
	small.show(40,20,"modification, subject to the guidelines layed out");
	small.show(40,30,"in the accompanying source code and documentation.");
	small.show(40,40,"We ask only that, if you change it, make it better,");
	small.show(40,50,"and let us have a copy of your changes, so that we");
	small.show(40,60,"can keep improving it.");
	small.setstyle(14,0,1,trans,3);
	small.show(40,130,"This toolkit is provided courtesy of the Gamer's");
	small.show(40,140,"Programming Workshop, !GO GAMERS, section 11, CIS.");
	small.setstyle(4,0,1,trans,3);
	small.show(10,190,"Press any key...");
	waitkey();
	}

int main() {
	char result;

	if (!small.installed()) {
		printf("error installing font small\n");
		return(1);
	}
	setgraphmode();
	readpalette(0,256,default_pal);

	if (rehack.getstatus() != NoErr)
		{
		reporterr(rehack.getstatus(),"pcx constructor");
		return(1);
		}
	if (celtic.getstatus() != NoErr)
		{
		reporterr(celtic.getstatus(),"pcx constructor");
		return(1);
		}
	if (title.getstatus() != NoErr)
		{
		reporterr(title.getstatus(),"pcx constructor");
		return(1);
		}

	result = rehack.load(Bestfit);
	if ((result != NoErr) && (result != MemErr))
		reporterr(result,"function main()");
	result = celtic.load(Bestfit);
	if ((result != NoErr) && (result != MemErr))
		reporterr(result,"function main()");
	result = title.load(Bestfit);
	if ((result != NoErr) && (result != MemErr))
		reporterr(result,"function main()");

	opening_screen();
	about_kit();
	demo_dissolves();
	demo_window();
	demo_font();
	demo_drawing();
	closing_screen();
	settextmode();
	return(0);
}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www久久久久| 欧美图片一区二区三区| 国产精品色在线观看| 波多野结衣亚洲| 日韩精品免费专区| 极品销魂美女一区二区三区| 五月激情综合色| 亚洲成人免费视| 亚洲国产日产av| 调教+趴+乳夹+国产+精品| 亚洲伦理在线精品| 水野朝阳av一区二区三区| 亚洲一区精品在线| 日本不卡中文字幕| 国产麻豆一精品一av一免费| 成人免费av网站| 777久久久精品| 亚洲国产精品传媒在线观看| 亚洲h动漫在线| www.欧美.com| 亚洲精品在线三区| 亚洲精品高清在线| 亚洲美女电影在线| 免费在线成人网| 99re这里只有精品视频首页| 欧美日韩国产中文| 亚洲日本免费电影| 国产成人在线影院| 欧美xxxxx裸体时装秀| 国产精品免费丝袜| 免费在线看一区| 欧美艳星brazzers| 久久久www成人免费毛片麻豆| 亚洲一区二区在线免费看| 久久99精品久久久久久| 欧美日韩二区三区| 国产精品久久久久四虎| 美女在线观看视频一区二区| 成人av免费在线观看| 26uuu国产在线精品一区二区| 免费观看一级欧美片| 欧美另类videos死尸| 一区二区激情小说| 91美女精品福利| 樱桃视频在线观看一区| 成人av在线影院| 国产免费观看久久| 91麻豆自制传媒国产之光| 国产精品美女久久久久久久久| 丝袜美腿亚洲色图| 欧美精品色综合| 日本人妖一区二区| 欧美成人一级视频| 粉嫩高潮美女一区二区三区| 国产精品美女久久久久久久久久久 | 欧美精品自拍偷拍| 91在线一区二区| 久久久久久电影| 在线观看一区二区精品视频| 一区二区在线观看av| 色婷婷av久久久久久久| 亚洲成人精品一区| 精品国产一区二区亚洲人成毛片| 国产精品中文字幕日韩精品 | 亚洲制服丝袜一区| 欧美成人福利视频| 欧美怡红院视频| 成人18精品视频| 黄页视频在线91| 色婷婷亚洲精品| 久久国产视频网| 亚洲国产另类精品专区| 欧美精品一区二区不卡| 色8久久精品久久久久久蜜| 午夜在线电影亚洲一区| 亚洲国产精品二十页| 欧美精品日韩一本| 欧美三级欧美一级| 久久福利资源站| 欧美一区二区三区在线电影 | 6080午夜不卡| thepron国产精品| 精品一二三四在线| 久久97超碰色| 国产综合久久久久久鬼色 | 久久青草欧美一区二区三区| 在线观看一区日韩| 欧美电影一区二区三区| 欧美日韩精品一区二区天天拍小说| 99国产精品久久久久久久久久久| 日韩电影在线免费| 日本va欧美va瓶| 欧美精品一区二区三区一线天视频 | 日日夜夜免费精品视频| 日本视频免费一区| 国内偷窥港台综合视频在线播放| 香蕉成人啪国产精品视频综合网| 亚洲精品免费在线观看| 久久久99久久| 国产亚洲婷婷免费| 国产精品丝袜一区| 一区在线播放视频| 日产国产欧美视频一区精品| 美女精品自拍一二三四| 97se狠狠狠综合亚洲狠狠| 欧美精品亚洲一区二区在线播放| 久久新电视剧免费观看| 亚洲精品成人少妇| 国产成人一级电影| 欧美一区二区三区小说| 最近中文字幕一区二区三区| 蜜桃av一区二区三区电影| 国产激情一区二区三区| 欧美美女视频在线观看| 国产日产欧美一区二区视频| 亚洲成年人影院| 粉嫩av一区二区三区在线播放| 在线观看av不卡| 久久久久久久久久久电影| 婷婷开心激情综合| 暴力调教一区二区三区| 久久无码av三级| 亚洲狠狠爱一区二区三区| 大尺度一区二区| 欧美一区二区网站| 天使萌一区二区三区免费观看| av在线综合网| 国产精品午夜春色av| 亚洲第一综合色| 色菇凉天天综合网| 国产精品免费免费| 99re热这里只有精品视频| 欧美一级国产精品| 精品一区二区三区在线播放视频| 精品视频1区2区3区| 午夜精品成人在线| 欧美久久久久久久久| 免费在线一区观看| 久久久久久久久久久黄色| av资源站一区| 亚洲女爱视频在线| 在线视频中文字幕一区二区| 亚洲美女区一区| 在线免费观看日韩欧美| 亚洲精选免费视频| 国产欧美精品一区二区色综合| 欧美a一区二区| 国产女主播视频一区二区| 成人精品视频一区二区三区 | 国产成人综合自拍| 一区二区三区免费观看| 欧美一区二区福利在线| 菠萝蜜视频在线观看一区| 日韩成人精品视频| 国产精品第13页| 久久蜜桃一区二区| 欧美一级精品在线| 色菇凉天天综合网| 99免费精品视频| 三级不卡在线观看| 一区二区三区欧美久久| 精品欧美一区二区久久| 成人av在线播放网站| 国产精品福利一区二区| 制服丝袜日韩国产| 成人av影视在线观看| 国产真实乱偷精品视频免| 久久久久久电影| 欧美日韩久久一区二区| 国产精品久久久久久久岛一牛影视 | 久久国产麻豆精品| 婷婷夜色潮精品综合在线| 国产精品三级av在线播放| 精品国产在天天线2019| 精品国免费一区二区三区| 51精品秘密在线观看| 欧美高清精品3d| 欧美日韩国产精选| 91麻豆精品国产91久久久久久| 高清在线观看日韩| 91黄色免费观看| 欧美性大战久久| 欧美一区二区三区免费大片 | 91亚洲国产成人精品一区二区三| 国产成人啪免费观看软件| 97久久精品人人做人人爽| 岛国精品在线播放| 欧美三级日韩在线| 久久久久国产精品厨房| 一区二区在线观看视频 | 97aⅴ精品视频一二三区| 91久久精品网| 久久丝袜美腿综合| 国产免费观看久久| 三级欧美在线一区| 国产精品一级片在线观看| 欧美亚洲一区二区在线| 91精品久久久久久久99蜜桃| 欧美国产精品中文字幕| 日韩精品亚洲一区二区三区免费|