pascal编游戏攻略
附錄:
pascal DOS 中的CMD的用法
Crt單元 (僅供參考)
過程
Assigncrt(F) F:Text 將文件F放置于顯示器
ClrEol 刪除當前行上的字符
ClrScr 清屏并將光標移動至(1,1)
CursorBig 將屏幕輸出狀態改為改寫
CursorOff 關閉光標
CursorOn 打開光標并將光標移動至(1,1)
Delay(T) T:Integer 等待T毫秒
GotoXY(X,Y) X,Y:Integer 將光標移動至(X,Y)
InsLine 在光標所在位置插入行
DelLine 刪除光標所在當前行
LowVideo 選擇低亮度顯示字符(顏色代碼減8)
NormVideo 選擇正常亮度顯示字符
HighVideo 選擇高亮度顯示字符(顏色代碼加8)
NoSound 揚聲器停止發聲
Sound(HZ) HZ:Integer 以Hz頻率發聲
Readkey 等待鍵盤輸入
TextColor(Color) Color:[White,Green…]
Color:Integer
將正文顏色設為Color
TextBackground(Color) Color:[White,Green…]
Color:Integer
將背景色設置為Color
TextMode(X) X:Integer 選擇X為顯示模式(有的X值無法正常顯示)
Windows(X1,Y1,X2,Y2) X1,Y1,X2,Y2:Integer
在屏幕上建一個列從X1到X2,行從Y1到Y2的窗口
函數
KeyPressed Boolean 判斷鍵盤是否輸入
Readkey Char 鍵盤輸入的字符
WhereX Integer 返回光標的列數
WhereY Integer 返回光標的行數
Pascal中的顏色代碼:
0 黑
1 深藍
2 綠
3 天藍
4 紅
5 粉
6 橙
7 白
8 灰
9 藍紫
10亮綠
11亮藍
12亮紅
13亮粉
14亮黃
15亮白
16閃黑
17閃藍
18閃綠
19閃天藍
20閃紅
21閃粉
22閃橙
23閃白
24閃灰
25閃藍紫
26閃亮綠
27閃亮藍
28閃亮紅
29閃亮粉
30閃亮黃
31閃亮白
KeyPressed與Readkey連用效果好:
RepeatB:=Keypressed;If B ThenH:=Readkey;If H=’0′ Then Halt; Until H=’ ’;Mouse單元
過程
InitMouse 啟用鼠標
DoneMouse 停用鼠標
HideMouse 隱藏鼠標指針
ShowMouse 顯示鼠標指針
SetMouseXY(X,Y)X,Y:Integer將鼠標指針移動至(X,Y)
GetMouseEvent(MouseEvent:TMouseEvent)
得到鼠標數據并將其存入MouseEvent中
PutMouseEvent(MouseEvent:TMouseEvent)
用MouseEvent代替當前鼠標數據
函數
DetectMouse Integer 返回值為0時代表沒有鼠標,否則返回鼠標按鍵數
GetMouseButtons Integer 0代表沒有按鍵,1代表左鍵,2代表右鍵,4代表中間鍵(非滾輪)
GetMouseX Integer 返回鼠標所在位置列數
GetMouseY Integer 返回鼠標所在位置行數
PollMouseEvent(MouseEvent:TMouseEvent) Boolean
返回鼠標信息是否被更新(True為未更新)
GetMouseDriver 用途不明
SetMouseDriver 用途不明
常數
MouseLeftButton Integer 代表左鍵,值為1
MouseRightButton Integer 代表右鍵,值為2
MouseMiddleButton Integer 代表中間鍵(非滾輪),值為4
MouseEventBufSize Integer 鼠標緩沖,值為16
MouseActionDown Integer 代表按下鼠標,值為1
MouseActionUp Integer 代表松開鼠標,值為2
MouseActionMove Integer 代表移動鼠標,值為4
errMouseBase Integer 基本鼠標錯誤,值為1030
errMouseInitError Integer 鼠標使用錯誤,errMouseBase+0
errMouseNotImplemented Integer
功能無法實現,errMouseBase+1
注:
對TMouseEvent的解釋:
記錄類型,表示鼠標的綜合數據。
域 Buttons:Integer 按鍵信息,等于GetMouseButtons
X,Y:Integer 指針位置信息,等于GetMouseX/GetMouseY
Action:Integer 移動信息,4代表移動,0代表未移動,1代表鼠標按鍵按下,2代表鼠標按鍵抬起
(如144442就是按著鼠標拖動3格)procedure Arc (坐標X,坐標Y;Integer;開始角度,結束角度,半徑; Word);
備注:畫弧
procedure Bar(坐標x1,坐標y1,坐標x2,坐標y2: Integer);
備注:畫一個已填充的正方形
procedure Bar3D(坐標x1,坐標y1,坐標x2,坐標y2:Integer;高:Word;有沒有頂:Boolean);
備注:畫立方體
procedure Circle(坐標X,坐標Y:Integer;半徑:Word);
備注:畫圓
procedure ClearDevice;
備注:把指示器移到(0,0),用背景顏色去清屏,準備輸出
procedure ClearViewPort;
備注:把填充顏色變為背景色,把指示器移到(0,0)
procedure CloseGraph
備注:關掉圖象(garph)模式
procedure DetectGraph(var 驅動器,模式:Integer);
備注:檢查硬件和找出用哪個驅動器和模式
procedure DrawPoly(點數: Word; var 坐標:PolyPoints);
備注:畫多邊形
procedure Ellipse(坐標X,坐標Y:Integer;開始角度,結束角度:Word;半徑1,半徑2:Word);
備注:畫橢圓
procedure FillEllipse(坐標X,坐標Y:Integer;半徑1,半徑2: Word);
備注:畫一個已填充的橢圓
procedure FillPoly(點數: Word; var 坐標:PolyPoints);
備注:畫一個已填充的多邊形
procedure FloodFill(坐標X,坐標Y:Integer;邊界顏色: Word);
備注:填充一個邊界的區域
procedure GetArcCoords(var 記錄變量: ArcCoordsType);
備注:得到上一次畫弧時的開始坐標,結束坐標和圓心坐標
procedure GetAspectRatio(var 比例X,比例Y:Word);
備注:得到屏幕高寬的比例
function GetBkColor: Word;
備注:返回當前的背景顏色
function GetColor: Word;
備注:得到當前的畫圖顏色
function GetDefaultPalette(var 記錄變量: PaletteType);
備注:得到默認的顏色記錄
function GetDriverName: string;
備注:得到驅動器的名字
procedure GetFillPattern(var 記錄變量: FillPatternType);
備注:得到填充的模式
procedure GetFillSettings(var 記錄變量: FillSettingsType);
備注:得到填充的設置
function GetGraphMode: Integer;
備注:得到圖形的模式
procedure GetImage(坐標x1,坐標y1,坐標x2,坐標y2:Integer;var 位圖:pointer);
備注:把一個指定區域里的一小片圖象保存在緩沖器里
procedure GetLineSettings(var 記錄變量: LineSettingsType);
備注:得到線的設置
function GetMaxColor: Word;
備注:得到最大的顏色
function GetMaxMode: Integer;
備注:得到最大的模式
function GetMaxX: Integer;
備注:得到最大的X坐標
function GetMaxY: Integer;
備注:得到最大的Y坐標
function GetModeName(模式序號: Integer): string;
備注:得到模式名
procedure GetModeRange(圖象驅動:Integer; var 最小模式,最大模式:Integer);
備注:得到模式范圍
procedure GetPalette(var 記錄變量: PaletteType);
備注:得到當前的顏色記錄
function GetPaletteSize: Integer;
備注:得到屏幕中顏色記錄的尺寸
function GetPixel(坐標X,坐標Y: Integer): Word;
備注:得到(X,Y)的顏色
procedure GetTextSettings(var 記錄變量: TextSettingsType);
備注:得到文字設置
procedure GetViewSettings(var ViewPort: ViewPortType);
備注:得到顯示設置
function GetX: Integer;
備注:得到當前指示器的X坐標
function GetY: Integer;
備注:得到當前指示器的Y坐標
2006-11-1 20:49 回復
overture_wy
18位粉絲
2樓
procedure GraphDefaults;
備注:把graph的所有設置變為原始狀態
function GraphErrorMsg(錯誤號: Integer): string;
備注:返回指定錯誤號的信息
function GraphResult: Integer;
備注:返回最后一次畫圖時的錯誤號
function ImageSize(坐標x1,坐標y1,坐標x2,坐標y2:坐標Integer):坐標Word;
備注:返回一片區域儲存所許的字節數
procedure InitGraph(var 驅動器:Integer;var 模式:Integer;到驅動器的路徑:string);
備注:graph初始化
procedure Line(坐標x1,坐標y1,坐標x2,坐標y2:Integer);
備注:畫線
procedure LineRel(坐標Dx,坐標Dy:Integer);
備注:畫一條到指示器的線,坐標是對于指示器為(0,0)來說的
procedure LineTo(坐標X,坐標Y:Integer);
備注:畫一條到指示器的線
procedure MoveRel(坐標Dx,坐標Dy: Integer);
備注:把指示器依到(Dx,Dy),坐標是對于指示器為(0,0)來說的
procedure MoveTo(坐標X,坐標Y: Integer);
備注:把指示器依到(x,y)
procedure OutText(字符串: string);
備注:在指示器位置上輸出字符串
procedure OutTextXY(坐標X,坐標Y: Integer;字符串: string);
備注:在(x,y)位置輸出字符串
procedure PieSlice(坐標X,坐標Y:Integer;開始角度,結束角度,半徑:Word);
備注:畫一個已填充的扇形
procedure PutImage(坐標X,坐標Y:Integer;var 位圖:pointer;BitBlt:Word);
備注:把一個圖象顯示到顯示器上,BitBlt處可為NormalPut,XORPut或者NotPut
procedure PutPixel(坐標X,坐標Y: Integer;顏色: Word);
備注:在(X,Y)上顯示一個1*1的正方形
procedure Rectangle(坐標x1,坐標y1,坐標x2,坐標y2: Integer);
備注:畫正方形
procedure RestoreCrtMode;
備注:恢復到剛初始化時的狀態
procedure Sector(坐標x,坐標y:Integer;開始角度,結束角度,半徑X,半徑Y:Word);
備注:畫一個已填充的橢圓部分
procedure SetActivePage(Page: Word);
備注:設置當前畫圖所在的頁
procedure SetAllPalette(var Palette);
備注:把所有顏色設置變為特定的
procedure SetBkColor(顏色: Word);
備注:設置背景顏色
procedure SetColor(顏色: Word);
備注:設置顏色
procedure SetFillPattern(記錄變量: FillPatternType;顏色:Word);
備注:設置填充顏色模式
procedure SetFillStyle(模式: ord;顏色: Word);
備注:設置填充顏色風格
procedure SetLineStyle(線風格:Word;模式:Word;厚度:Word);
備注:設置線的風格
procedure SetPalette(顏色序號:Word;顏色:Shortint);
備注:設置調色版
procedure SetTextStyle(字體,方向:Word;大小:Word);
備注:設置文字風格
procedure SetVisualPage(Page: Word);
備注:設置當前顯示的頁
procedure SetWriteMode(寫字模式: Integer);
備注:設置寫字模式
function TextHeight(字符串: string): Word;
備注:文字的高
function TextWidth(TextString: string): Word;
備注:文字的寬
1、例如貪吃蛇中的界面是怎么做的呢{就是那些不動的方塊}
2、怎么做到蛇在動可墻{不動得方塊}是不動的呢??
3、怎么做到頁面間的切換,就是選擇一個按鈕后進入下一個新的頁面
4、可以做個NPC么
5、怎么存檔
1、不動的方塊直接輸出。
(2省略,3的回答包含了2)
3、每按鍵一次就clrscr(清屏)
5、存檔:
總結
以上是生活随笔為你收集整理的pascal编游戏攻略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个c语言源程序至少包含,一个C源程序必
- 下一篇: VS2010 常用快捷键