回 帖 发 新 帖 刷新版面

主题:[原创]我编的一个猜数字的小游戏(源代码)

这个程序是我闲来没事弄的小猜数游戏,很粗糙,望大家帮着改进一下(附件是这个的EXE文件)
最近想弄个初中数学计算器,但网上的不好用,只好自己编,望高手教下怎样弄界面‘。’;
源代码如下:
program sanghongyi;
 var
  i,j,k:integer;
  x,y:integer;
  o,oe:boolean;
begin
 writeln('':20,'欢迎进入猜数字游戏');
 writeln;
 repeat
  writeln('':4,'请先选择您的级别');
  writeln('':4,'输入1:初级','':4,'输入2:中级','':4,'输入3:高级');
  readln(x);
  case x of
   1:begin
      writeln('':4,'初级规则:系统将随即生成一个小于100的数,您有十次机会猜这个数,电脑将提示您猜的数是大了还是小了');
      y:=100;
     end;
   2:begin
      writeln('':4,'中级规则:系统将随即生成一个小于200的数,您有十次机会猜这个数,电脑将提示您猜的数是大了还是小了');
      y:=200;
     end;
   3:begin
      writeln('':4,'高级规则:系统将随即生成一个小于300的数,您有十次机会猜这个数,电脑将提示您猜的数是大了还是小了');
      y:=300;
     end;
   end;
  for i:=1 to 80 do write('<');
  randomize;
  j:=random(y);
  writeln;
  writeln('':4,'电脑已生成一个数');
  writeln('':4,'请输入您猜的数,按回车确定');
  k:=10;
  oe:=false;
  repeat
   readln(x);
   k:=k-1;
   if x>y then  writeln('':4,'对不起,输入的数不能大于',y,'您浪费了一个机会,您还有',k,'次机会')
   else if x=j then
    begin
     writeln('':4,'您真准,',10-k,'次就猜对了');
     oe:=true;
    end
     else if x>j then
          begin
            if k<10 then
              writeln('':4,'您猜的数大了,您还有',k,'次机会!')
                else if (oe=false) and (k=10) then writeln('':4,'您猜的数大了,您没有机会了。');
          end
       else if x<j then
           begin
             if k<10 then
              writeln('':4,'您猜的数小了,您还有',k,'次机会!')
                else if (oe=false) and (k=10) then writeln('':4,'您猜的数小了,您没有机会了。');
           end;
     if oe=true then writeln('':10,'恭喜你,你赢了')
       else if (k=0) and (oe=false) then writeln('':10,'对不起,,您输了');
   until (oe=true) or (k=0);
   writeln('':4,'输入1:继续玩');
   writeln('':4,'输入0:退出');
   readln(i);
   case i of
    1:o:=true;
    0:o:=false;
   end;
 until o=false;
end.

回复列表 (共4个回复)

沙发

这种小游戏很好编的~~

板凳

厉害
good

3 楼

新手上路,随便看看啊!

4 楼

看后很受启发,不知LZ是怎样解决汉字在程序运行中(Turbo Pascal 7.0)的显示问题,请指教。

我来回复

您尚未登录,请登录后再回复。点此登录或注册