プログラムが思うように動きません(while)

解決


アルス  2004-11-24 00:03:12  No: 11893

プログラミング初心者で最近delphiを始めたのですが、whileループが上手く動かせません・・。
じゃんけんのゲームで、あいこの場合は繰り返しにしたいのですが、
下のプログラムの間違っている点をどなたか教えてください。

program janken;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var you,com,loop:integer;
begin
  { TODO -oUser -cConsole Main : この下にコードを記述してください }
 loop:=0;
 randomize;
 writeln('☆じゃんけんゲームです。☆');
 writeln('');
 writeln('最初はグ〜!じゃんけん・・・');
 while loop<1 do
  begin
   writeln('');
   writeln('(グー→0    チョキ→1    パー→2)');
   readln(you);
   com:=(Random(3));
   writeln('');
   case you of
    0:begin
       writeln('あなた→グー');
       loop:=loop+1;
      end;
    1:begin
       writeln('あなた→チョキ');
       loop:=loop+1;
      end;
    2:begin
       writeln('あなた→パー');
       loop:=loop+1;
      end;
   end;
   case com of
    0:begin
       writeln('コンピューター→グー');
       loop:=loop+1;
      end;
    1:begin
       writeln('コンピューター→チョキ');
       loop:=loop+1;
      end;
    2:begin
       writeln('コンピューター→パー');
       loop:=loop+1;
      end;
   end;
    writeln('');
    if (com-you=1)or(com-you=-2)then
     begin
     writeln('あなたの勝ちです')
     end
    else
     begin
      if com=you then
       writeln('あいこで〜・・・')
      else
       writeln('あなたの負けです');
       loop:=loop+1;
    end;
  end;
  readln;
end.

よろしくおねがいします。


HOta  2004-11-24 00:27:05  No: 11894

loopでWhileの制御をしているからです。
勝ち負けの場合だけInc(loop)すれば続くと思います。


アルス  2004-11-24 00:39:31  No: 11895

あ・・なんだか馬鹿なミスをしていましたね・・(^^;
ありがとうございました!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加