不要消灭星星 Pascal小游戏 Chaobs改编自pascal吧

控制台小游戏嘛,就当是练习一下结构化的写法。

program wxtw; 
uses crt; 
type 
     zbdy=record 
     x,y:integer; end; 
var n,i,x,y,t,sjs:integer;    ml:char; 
zb: array [1..12] of zbdy; 
begin 
   randomize; 
   sjs:=random(3); 
   zb[1].x:=15; zb[1].y:=15; 
   clrscr; 
   gotoxy(zb[1].x,zb[1].y); 
   write('☆'); 
   delay(100); 
   zb[2].x:=1; zb[2].y:=20; 
   gotoxy(zb[2].x,zb[2].y); 
   write('◎'); 
   zb[10].x:=18; zb[10].y:=20; 
   gotoxy(zb[10].x,zb[10].y); 
   write('◎'); 
   zb[11].x:=36; zb[11].y:=20; 
   gotoxy(zb[11].x,zb[11].y); 
   write('◎'); 
   zb[12].x:=53; zb[12].y:=20; 
   gotoxy(zb[12].x,zb[12].y); 
   write('◎'); 
   zb[3].x:=1; zb[3].y:=5; 
   gotoxy(zb[3].x,zb[3].y); 
   write('◎'); 
   zb[4].x:=18; zb[4].y:=5; 
   gotoxy(zb[4].x,zb[4].y); 
   write('◎'); 
   zb[5].x:=36; zb[5].y:=5; 
   gotoxy(zb[5].x,zb[5].y); 
   write('◎'); 
   zb[6].x:=53; zb[6].y:=5; 
   gotoxy(zb[6].x,zb[6].y); 
   write('◎'); 
   zb[7].x:=1+sjs; zb[7].y:=1+sjs; 
   gotoxy(zb[7].x,zb[7].y); 
   write('△'); 
   zb[8].x:=40+sjs; zb[8].y:=10+sjs; 
   gotoxy(zb[8].x,zb[8].y); 
   write('△'); 
   zb[9].x:=1+sjs; zb[9].y:=20+sjs; 
   gotoxy(zb[9].x,zb[9].y); 
   write('△'); 
   gotoxy(zb[1].x+8,zb[1].y-2); 
   write('不要消灭星星'); 
   gotoxy(zb[1].x+3,zb[1].y-1); 
   write('回车键开始游戏 Chaos荣誉出品 For Games by Gamers!'); 
   gotoxy(zb[1].x+3,zb[1].y); 
   write('操作 上:I   下:K   左:J   右:L   '); 
   gotoxy(zb[1].x+3,zb[1].y+1); 
   write('注意:碰到边框将会结束!!!'); 
   readln; 
   repeat 
   if   keypressed=true then begin 
   ml:=readkey; 
   case ml of 
   'i': begin 
        zb[1].y:=zb[1].y-1; 
        clrscr; 
        gotoxy(zb[1].x,zb[1].y);write('☆'); 
        end; 
   'k': begin 
        zb[1].y:=zb[1].y+1; 
        clrscr; 
        gotoxy(zb[1].x,zb[1].y); 
        write('☆'); 
        end;

'j' :begin 
        zb[1].x:=zb[1].x-1; 
        clrscr; 
        gotoxy(zb[1].x,zb[1].y); 
        write('☆'); 
        end; 
   'l' :begin 
        zb[1].x:=zb[1].x+1; 
        clrscr; 
        gotoxy(zb[1].x,zb[1].y); 
        write('☆'); 
        end; end; end else begin 
   clrscr; 
   if zb[2].x<=70 then 
   zb[2].x:=zb[2].x+1 else zb[2].x:=1; 
   gotoxy(zb[2].x,zb[2].y); 
   write('◎'); 
   if zb[3].x<=70 then 
   zb[3].x:=zb[3].x+1 else zb[3].x:=1; 
   gotoxy(zb[3].x,zb[3].y); 
   write('◎'); 
   if zb[4].x<=70 then 
   zb[4].x:=zb[4].x+1 else zb[4].x:=1; 
   gotoxy(zb[4].x,zb[4].y); 
   write('◎'); 
   if zb[5].x<=70 then 
   zb[5].x:=zb[5].x+1 else zb[5].x:=1; 
   gotoxy(zb[5].x,zb[5].y); 
   write('◎'); 
   if zb[6].x<=70 then 
   zb[6].x:=zb[6].x+1 else zb[6].x:=1; 
   gotoxy(zb[6].x,zb[6].y); 
   write('◎'); 
   if zb[10].x<=70 then 
   zb[10].x:=zb[10].x+1 else zb[10].x:=1; 
   gotoxy(zb[10].x,zb[10].y); 
   write('◎'); 
   if zb[11].x<=70 then 
   zb[11].x:=zb[11].x+1 else zb[11].x:=1; 
   gotoxy(zb[11].x,zb[11].y); 
   write('◎'); 
   if zb[12].x<=70 then 
   zb[12].x:=zb[12].x+1 else zb[12].x:=1; 
   gotoxy(zb[12].x,zb[12].y); 
   write('◎'); 
   gotoxy(zb[1].x,zb[1].y); 
   write('☆'); 
   sjs:=random(11); if sjs=2 then begin 
   if zb[7].x<zb[1].x then zb[7].x:=zb[7].x+1; 
   if zb[7].x>zb[1].x then zb[7].x:=zb[7].x-1; 
   if zb[7].y<zb[1].y then zb[7].y:=zb[7].y+1; 
   if zb[7].y>zb[1].y then zb[7].y:=zb[7].y-1; 
   gotoxy(zb[7].x,zb[7].y); 
   if ((zb[8].x=zb[7].x))   and ((zb[8].y=zb[7].y))   or ((zb[9].x=zb[8].x)   and (zb[9].y=zb[8].y)) or ((zb[7].x=zb[9].x)   and (zb[7].y=zb[9].y)) 
   then gotoxy(zb[7].x-1,zb[7].y-1); 
   write('△');    end else begin   gotoxy(zb[7].x,zb[7].y); 
   write('△');   end; 
   sjs:=random(11); if sjs=0 then begin 
   if zb[8].x<zb[1].x then zb[8].x:=zb[8].x+1; 
   if zb[8].x>zb[1].x then zb[8].x:=zb[8].x-1; 
   if zb[8].y<zb[1].y then zb[8].y:=zb[8].y+1; 
   if zb[8].y>zb[1].y then zb[8].y:=zb[8].y-1; 
   gotoxy(zb[8].x,zb[8].y); 
   if ((zb[8].x=zb[7].x))   and ((zb[8].y=zb[7].y))   or ((zb[9].x=zb[8].x)   and (zb[9].y=zb[8].y)) or ((zb[7].x=zb[9].x)   and (zb[7].y=zb[9].y)) 
   then gotoxy(zb[8].x-1,zb[8].y-1); 
   write('△'); end else begin    gotoxy(zb[8].x,zb[8].y); 
   write('△'); end; 
   sjs:=random(11); if sjs=5 then begin 
   if zb[9].x<zb[1].x then zb[9].x:=zb[9].x+1; 
   if zb[9].x>zb[1].x then zb[9].x:=zb[9].x-1; 
   if zb[9].y<zb[1].y then zb[9].y:=zb[9].y+1; 
   if zb[9].y>zb[1].y then zb[9].y:=zb[9].y-1; 
   gotoxy(zb[9].x,zb[9].y); 
   if ((zb[8].x=zb[7].x))   and ((zb[8].y=zb[7].y))   or ((zb[9].x=zb[8].x)   and (zb[9].y=zb[8].y)) or ((zb[7].x=zb[9].x)   and (zb[7].y=zb[9].y)) 
   then gotoxy(zb[9].x-1,zb[9].y-1); 
   write('△');   end else begin    gotoxy(zb[9].x,zb[9].y); 
   write('△'); end; 
   for i:=2 to 12 do if (zb[1].x=zb[i].x)   and (zb[1].y=zb[i].y) then begin 
   clrscr; 
   writeln('逃亡失败!回车键退出'); 
   readln; 
   halt;        end; 
   delay(20); end; 
   until ml='q';  
end.

Pascal小游戏 不要消灭星星的更多相关文章

  1. Pascal小游戏 文件的产生

    一个整人的Pascal小程序 运行之后硬盘里面会有一大堆垃圾,当然更好的方法当然不是这样做! var a,b,c,d:char;beginfor a:='0' to '9' dofor b:='0' ...

  2. Pascal小游戏 双人射击

    一个双人的游戏 Pascal源码附上 只要俩人不脑残,一下午玩不完...又是控制台游戏中的一朵奇葩. Free Pascal 射击游戏 Program shooting_game; uses crt; ...

  3. Pascal小游戏之奇葩的RPG

    Pascal吧友作品 一个小RPG Chaobs转载 varplife,plifemax,patt,pre:integer;gr,ex,exmax:integer;alife,alife1,aatt, ...

  4. Pascal小游戏 俄罗斯方块怀旧版

    俄罗斯方块怀旧版(注释版) {$APPTYPE GUI}{$MODE DELPHI}program WinPiece; usesWindows; constAppName = 'WinPiece';p ...

  5. Pascal小游戏 随机函数

    一个被人写滥了的小程序,新手学习,Pascal By Chaobs 初学者可以用它来学习随机函数的运用,当然你完全可以自己写一个随机函数. var   player1,player2:longint; ...

  6. Pascal小游戏 打飞机

    一个经典的打飞机游戏(1)Pascal代码 十分经典,有一种街机的感觉 奇葩青年的又一控制台神作. uses crt; type list=record         ty,ax:integer;  ...

  7. Pascal小游戏 井字棋

    一个很经典的井字棋游戏 Pascal源码Chaobs奉上 注意:1.有的FP版本不支持汉语,将会出现乱码.2.别想赢电脑了,平手不错了. 井字过三关: program TicTacToe; uses ...

  8. Pascal小游戏 贪吃蛇

    一段未完成的Pascal贪吃蛇 说这段代码未完成其实是没有源代码格式化,FP中一行最多只有255字符宽. uses crt; const screenwidth=50; screenheight=24 ...

  9. Pascal小游戏 俄罗斯方块

    俄罗斯方块已经成为了和“Hello World”一样的程序了吧? 不要直接复制,可能需要事先 Format. program cube;uses crt,graph,dos;var gd,gm:sma ...

随机推荐

  1. My First Blog in Cnblogs

    终于打算从csdn搬到博客园了 虽然在csdn只写过三篇文章,不过打算写第四篇的时候发现原先的三篇都消失了.联系客服最终还是找回了,不过对于csdn神奇的管理方式还是不放心,也没在csdn上再写过文章 ...

  2. 搭建vs2010 boost开发环境

    一.编译boost库 第一步:下载boost库,下载地址http://sourceforge.net/projects/boost/files/boost/1.55.0/ 第二部:解压boost库,例 ...

  3. IOS中 copy ,strong ,weak ,assign使用区别

      .@property属性的用法 * weak(assign) :  代理\UI控件 * strong(retain) : 数组.模型)其他对象(除代理\UI控件\字符串以外的对象) * copy ...

  4. Java解析html页面,获取想要的元素

    背景:通过接口访问数据,获取的内容是个标准的html格式,使用jsoup的方式获取页面元素值 先推荐比较好的博客:http://www.open-open.com/jsoup/. 单个案例比较不错 h ...

  5. 利用API设置桌面背景

    实现效果: 知识运用: API函数SystemParametersInfo 实现代码: [DllImport("user32.dll", EntryPoint = "Sy ...

  6. selenium+chrome下载文件,格式怎么选择???

    学习了下载 if browser == "Chrome": options=webdriver.ChromeOptions() prefs={'profile.default_co ...

  7. mayan 游戏真是毒瘤

    如题 真坑呀!!! 可算过了 我率先达到了氧气富有化 先是改变时没有fall.40分 然后是fall函数写慢了 tle 50分 . 上代码 #include<cstdio> #includ ...

  8. laravel 去掉index.php伪静态

    1,首先,让apache服务器支持rewrite 可以在apache配置文件中定义rewrite规则,是全局的,无论哪个应用都实用 //httpd.config Listen 80 RewriteEn ...

  9. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

    接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 答:接口可以继承接口.抽象类可以实现(implements)接口,抽象类 ...

  10. lintcode_397_最长上升连续子序列

    最长上升连续子序列   描述 笔记 数据 评测 给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列.(最长上升连续子序列可以定义为从右到左或从左到 ...