Lập trình trò chơi bốc sỏi trong Pascal

Chủ nhật - 09/08/2020 09:55
Cho n đống sỏi với số lượng là a1, an. Có 2 đối thủ tham dự 1 trò chơi như sau:
- Mỗi người lần lượt bốc ra từ 1 đống tùy ý một số sỏi tùy ý.
- Ai bốc hết sỏi trước thì thắng.
Hãy xây dựng chương trình cho phép thể hiện trò chơi trên với một đối thủ là máy tính và chương trình thể hiện chiến thuật thắng của máy tính.
■ Hướng dẫn:
• Thuật toán của máy tính như sau:
- Đổi các số a1, a2, an ra số nhị phân.
- Cộng không nhớ các số nhị phân đó vào biến T.
- T chính là số sỏi cần phải bốc (từ một đống tùy ý).
• Chiến lược chơi của máy tính là khi bốc:
- Nếu T = 0 (tình huống xấu) thì bốc thăm dò (tùy ý).
- T < > 0 (tình huống tốt) thì bốc như đã nói ở trên.
Chú ý rằng đây là một trò chơi căn bản; rất nhiều trò chơi khác được đưa về nó.
Sau đây là các procedure cần thiết để thể hiện chơi trên bằng PASCAL với n = 4.
CONST d=10;
VAR
       x,y,z,t,l,i,j,k,w,e,g,s : byte;
       a: array[1..4,1..10] of byte;
       b: array[1..10] of byte;
       c: array[1..10] ofbyte;
       u1,u2,ch : string[10];
PROCEDURE DOIHE(n: bety);
VAR p: type;
BEGIN
          p : = 0
          for i : = 1 to 10 do
              c[i] : = 0;
           Repeat
                inc(p);
                c[p] : = n mod 2;
                n : = n div 2;
          Until n=0;
END;
FUNCTION TAOLAPMANG(m,n,p,q: byte): byte;
BEGIN
          If(m+n+p+q) mod 2 = 0 then taolapmang : = 0
          Else taolapmang: = 1;
END;
PROCEDURE CONGMANG(x,y,z,t: byte);
VAR p: byte;
BEGIN
          p: = 10;
          doihe(x);
          For k : = 1 to p do
               a[1,110-k+1] : = c[k];
          doihe(y);
          For k : = 1 to p do
               a[2,10-k+l] : = c[k];
          doihe(z);
          For k : = 1 to p do
               a[3,10-k+1] : = c[k];
          doihe(t);
          For k : = 1 to p do
               a[4,10-k+1] : = c[k];
                        {da thanh lap 4 mang}
           For k : = 1 to 10 do
                 b[10-k+1]: = Taolapmang(a[1,10-k+1J), a[2,10-k+l|, a[3,10-k+l], a[4,10-k+l];
END;
PROCEDURE MACHINEPLAY;
BEGIN
          Congmang(x,y,z,t);
          w: = 0;
          Repeat
               inc(w);
          Until (b[w]=1) or (w=10);
          If b[w]=1 then
          Begin
               e : = 0;
               e : = 0;
          Repeat
              inc(e);
          Until a[e,w]=l
          {đa phat hien ra mang can giam}
          f : = 0;
          Repeat
              inc(f);
              If b[f]=1 then
              begin
                  If a[e,f]=0 then a[e,f] : = 1
                  Esle s[e,f] : = 0;
              end;
         Until f=10;
        {da co mang noi}
        {doi tro lai}
         u2 : = “ ;
         For s: = 1 to 10 do
         begin
             str(a[e,s],ch];
             u2: = u2+ch;
         end;
         g : = 0;
         Repeat
             inc(g);
             Doihe(g);
             u1 : =“ ;
             For s: - 1 to 10 do
             begin
                 str(c[10-s+1],ch);
                 u1 : = u1+ch;
             end;
        Until u1 = u2
   end;
END;

END.

  Ý kiến bạn đọc

THÀNH VIÊN

Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Kênh Bóng đá trực tiếp hôm nay miễn phí ⇔ Kênh 90Phut TV full HD ⇔ 888new ⇔ HM88 ⇔ F168 ⇔ 123b ⇔ 566 ⇔ 78Win ⇔ https://xn88.bio/ ⇔ SHBET ⇔ 78win ⇔ 66b ⇔ fo88vic88 ⇔ u888 ⇔ 888p ⇔ BL555 ⇔ f168 ⇔ Link MB66 ⇔ mv66af88 ⇔ 8x bet ⇔ 789BET ⇔ LC88 999slot ⇔ 789F ⇔ MB66 ⇔ 8xbet ⇔ https://789betcom0.com/ ⇔ https://hi88.baby/ ⇔ 789BET ⇔ go8 zo88 ⇔ ev99 ⇔ go88 ⇔ Kkwin ⇔ tv88 ⇔ 89bet ⇔ 88go ⇔ 188v ⇔ f168 ⇔ QQ88 ⇔ bk8 ⇔ bk8 ⇔ 99ok ⇔ iwinclub ⇔ vn88 ⇔ 69vn ⇔ m88 ⇔ 56win ⇔ RWIN ⇔ 888new ⇔ BL555 ⇔ hi88 ⇔ https://fun88.social/ ⇔ thabet ⇔ https://vnalo789c.com/ ⇔ https://qq88.fun/888New ⇔ SHBET ⇔ keo nha cai https://bshbet.com/ ⇔ https://uk88.rocks ⇔ RR88 ⇔ 188v 78win ⇔ https://hello8880.net/ ⇔ mb 66 ⇔ TV88 ⇔ NOHU ⇔ 77ball ek333 ⇔ xoso66 X88 ⇔ 78win ⇔ Jun88 ⇔ tt88 ⇔ 88i ⇔ KINGFUN ⇔ https://789club24.com/ ⇔ https://98winlive.com/ ⇔ Game bài đổi thưởng ⇔ https://bet88yk.com/ ⇔ https://alo789apk.app/ ⇔ https://33win100.com/ ⇔ https://u888ny.com/ ⇔ alo789 https://hi88.voyage/ ⇔ https://hello880.net/ ⇔ https://789club60.com/ ⇔ https://blc88.net/ ⇔ 23win ⇔ uu88 ⇔ xoso66 ⇔ bomwin ⇔ https://789club24.com/ dola789 ⇔ 8xbet XX88 ⇔ 69vn Uu88 ⇔ win456 ⇔ Tài xỉu online ⇔ XN88 ⇔ https://33win101.com/ ⇔ Slot365 ⇔ 78wind.com ⇔ bet88 ⇔ XX88 ⇔ VN88 ⇔ 789BET ⇔ OKFUN hitclub ⇔ Kkwin ⇔ VankhanhTV ⇔ XN88 ⇔ 3WIN ⇔ KUWIN ⇔ 58WIN ⇔ 68 game bài ⇔ https://taixiu88.pro/ ⇔ 888new.lol ⇔ OK9 ⇔ K8CC ⇔ https://hi88.gives/ ⇔ 68 game bài ⇔ https://shbetk.net/ https://mm88.us.com/ ⇔ 79king ⇔ ww88 ⇔ https://78win.bot/ https://lc88o.com/ ⇔ https://hi88.uno/ ⇔ https://58win1.info/ ⇔ j88 ⇔ j88 ⇔ 69vn ⇔ Slot365 ⇔ alo88 888TO ⇔ wstar77 ⇔ 73bet ⇔ 888b ⇔ 11uu ⇔ 78win ⇔ Slot365 ⇔ mv88 ⇔ 789f ⇔ Bsport ⇔ 888New ⇔ EV99 ⇔ u88 ⇔ sunwin ⇔ tỷ lệ kèo nhà cái hôm nay ⇔ BIN88 ⇔ https://f8bet0.world ⇔ https://qq88.studio/ ⇔ https://nh8811.com/ ⇔ Leo88 ⇔ 78win ⇔ EV99 ⇔ 3win ⇔ https://cakhiatv88.net/ hi88 ⇔ 888To ⇔ 789pu.comhi88 ⇔ au88 ⇔ 555WIN ⇔ https://f168hi.com/ ⇔ sv66ax88 https://32win.vc/ ⇔ PG88 ⇔ PG88 ⇔ EE88 ⇔ QQ88 ⇔ Vin777 ⇔ SV388 ⇔ 23WIN ⇔ https://vankhanhtvv.com/ ⇔ Nhà Cái LC88 ⇔ https://sv66.coupons/ ⇔ https://f168.tech/ ⇔ https://8kbetbh.com/ ⇔ https://bong99.onl/ mv88 ⇔ https://rr88.com.se/ ⇔ https://8kbet.co/ ⇔ https://sunwinn.deal/ ⇔ https://bong88vn.wiki/ ⇔ SHBET ⇔ https://shbet.racing/ ⇔ RR99 ⇔ U888 ⇔ OK8386 ⇔ Mv88 ⇔ MM88 ⇔ 33win ⇔ BL555 ⇔ 69vn ⇔ hi88com ⇔ https://w88link1.com/ ⇔ xocdia88 ⇔ 77ball ⇔ vuabet88 ⇔ betvisa ⇔ KJC ⇔ Go8 ⇔ thabet ⇔ BET88 ⇔ 58Win ⇔ 69VN ⇔ 789win ⇔ 89bet ⇔ 6ff ⇔ https://luck8.ph/ ⇔ 888slot ⇔ 566 ⇔ https://qq88.co.com/ ⇔ https://j888.us.com/ ⇔ ww88 ⇔ 789WIN ⇔ W88 ⇔ UU88 ⇔ Lc 88 ⇔ TD88 ⇔ https://nohu90i.net/ ⇔ 78Win ⇔ 33win ⇔ https://okwins.vip/ ⇔ 122bet ⇔ 881bet ⇔ xoilac xin ⇔ e2bet ⇔ F168 ⇔ https://go8d.com/ ⇔ luck8 ⇔ https://x88casino.net/ ⇔ sunwin ⇔ https://kjc.events/ ⇔ https://79kings.blue/ ⇔ DR88 ⇔ DR88 ⇔ DR88 ⇔ DR88 ⇔ SHBET ⇔ CM88 ⇔ 888p ⇔ OKFUN ⇔ https://32win.cool/ ⇔ Hb88 ⇔ Bong88 ⇔ https://3winn.in.net/ ⇔ Fun88 ⇔ kkwin ⇔ https://kkwin.fan/ ⇔ https://fun88link0.com/ ⇔ https://fun88link1.com/ ⇔ https://188betlink0.com/ ⇔ https://188betlink1.com/ ⇔ https://188betlink2.com/ ⇔ https://w88link0.com/ ⇔ thabet ⇔ 888P ⇔ 11UU ⇔ EV88 ⇔ 789F ⇔ 69vn77win ⇔ xx88 ⇔ 78win ⇔ https://okfun.bz/ ⇔ https://daga88.beer/ ⇔ QQ88 ⇔ https://i9betz4.com/ ⇔ Kuwin ⇔ w88link2.com ⇔ w88link3.com ⇔ 32WIN ⇔ https://8dayvip.mobi/ ⇔ https://8dayvip.com/ ⇔ 86bet ⇔ t88 ⇔ af88 ⇔ U888 ⇔ 86bet ⇔ https://pg99yk.com/ ⇔ https://u888wl.com/ ⇔ kingfun ⇔ 888new ⇔ 88AA ⇔ GK88 ⇔ https://78wincom.net/ ⇔ GO99 ⇔ BET88 ⇔ 99win ⇔ TT88 ⇔ https://8kbettt.com/ ⇔ https://86bet.tech/ ⇔ https://789betca.com/ ⇔ https://fly88.gifts/ ⇔ lc88 ⇔ VN88 ⇔ 69vn ⇔ nh88 ⇔ vn88 ⇔ tv88 ⇔ 88vv tỷ lệ kèo nhà cái 88 ⇔ PG66 ⇔ 68win SV388 ⇔ SHBET MAX79 ⇔ HM88 ⇔ TV88 ⇔ https://bet88.ventures/ zx88 ⇔ ev99 https://f168.name/ ⇔ https://kjc.ac/ ⇔ link vn88 ⇔ HZ88 ⇔ Bet88 ⇔ XN88 ⇔ i9bet ⇔ VN23 ⇔ https://555win.bike/ ⇔ https://f8bet.courses/ ⇔ https://go8play.com/ ⇔ https://lc88.bar/ ⇔ 789f ⇔ abc8 ⇔ good88 ⇔ 789win ⇔ Hitclub ⇔ https://f8bet80.one/ ⇔ lương sơn tv ⇔ vwin ⇔ sut88 ⇔ vua88 ⇔ hb88 ⇔ https://okfun.center/ ⇔ 68win ⇔ LC88 ⇔ 79king ⇔ https://hi88.tours/ ⇔ https://ok9.charity/ ⇔ https://kkwin68.info/ ⇔ https://ee88com.me/ ⇔ https://new88blog.org ⇔ nổ hũ ⇔ https://uu88vn.com ⇔ nhà cái LC88 ⇔ nohu ⇔ lc88 com ⇔ 69VN ⇔ Ok365 ⇔ 6FF ⇔ Nohu90 ⇔ go8 ⇔ 22vip ⇔ af88 ⇔ 86bet ⇔ five88 ⇔ 68win ⇔ 11uu ⇔ https://go8.beer/ ⇔ đánh bài tiến lên ⇔ sin88 ⇔ 9win ⇔ 88i ⇔ https://u888.ac/ ⇔ https://king88com.uk.net/ ⇔ https://shbet.gg/ ⇔ LC88 ⇔ OKKING ⇔ 13win ⇔ https://88fc0.com/ ⇔ abc8 ⇔ U888 ⇔ https://s666.garden ⇔ https://fly88.select/ ⇔ https://bk8co.net/ ⇔ bet88 ⇔ F168 ⇔ https://qq8876.net/ ⇔ hi88s com ⇔ f168 ⇔ https://88xx.mobi/ ⇔ bet88 ⇔ 88clb ⇔ GO8 ⇔ https://qq88.social/ ⇔ LC88 ⇔ https://j88vm.com/ ⇔ https://78winvina.com/ ⇔ https://luongson161.tv/ ⇔ https://okfun.cfd/ ⇔ https://keonhacai.deals/ ⇔ https://j88com.today/ ⇔ 28bet ⇔ MB66 ⇔ https://mk8th.net/ ⇔ https://58win.faith/ ⇔ Jun88 ⇔ 188v ⇔ https://s8.surf/ ⇔ https://jun88.school/ ⇔ https://qq887p.com/ ⇔ https://hi88.biz/ ⇔ https://mk8.ac/ ⇔ 78win ⇔ motphimchill ⇔ SHBET ⇔ x88 ⇔ https://mb668.co/ ⇔ https://f168.law/ ⇔ https://saobet.shop/ ⇔ win678 ⇔ https://8kbetnh.com/ ⇔ https://j8kbet.com/ ⇔ 33win ⇔ https://xx88tv.com/ ⇔ i9 Bet ⇔ kèo nhà cái ⇔ S666 ⇔ BL555 ⇔ max79 ⇔ bl-555.site ⇔ https://8scom.dev/ ⇔ https://f168.studio/ ⇔ au88 ⇔ lc88 ⇔ https://tp88.help/ ⇔ 8kbet ⇔ TT88 ⇔ ev99 ⇔ vn168 ⇔ U888 ⇔ okking ⇔ j88 ⇔ https://32win.football/ ⇔ 789P ⇔ 28bet ⇔ 32 win ⇔ https://nohu.com.mx/ ⇔ https://789fnew.com/ ⇔ xin88 ⇔ 88GO ⇔ tv88 ⇔ LC88 ⇔ https://five88.meme/ ⇔ https://13win.vegas/
 ⇔ S8 ⇔ 32win ⇔ Kuwin ⇔ https://hitclubhq.com/ ⇔ https://qq88.media/ ⇔ 888vi ⇔ https://keonhacai1.us.com/ ⇔ tt88 ⇔ mn88 ⇔ https://789winst.com/ ⇔ BL555 ⇔ HM88 ⇔ LC88 ⇔ QQ88 ⇔ mb66 ⇔ 88AA ⇔ aalo789 ⇔ PG99 ⇔ PG88 ⇔ QQ88 ⇔ https://s888.baby/ ⇔ 100vip ⇔ E2bet ⇔ F168 ⇔ 99ok ⇔ 888P ⇔ 8xbet ⇔ rr88 ⇔ https://jun88.black/ ⇔ x88 ⇔ Nhà Cái LC88 ⇔ sv66 ⇔ 789win ⇔ 161bet ⇔ alo789 ⇔ EE88 ⇔ Abc8 ⇔ Sunwin ⇔ SV388 ⇔ S666 đăng nhập ⇔ Nhà cái vn88 ⇔ 89BET ⇔ SUN WIN ⇔ https://98wina1.com/ ⇔ tv88 ⇔ 789f ⇔ bong88 ⇔ sky88 ⇔ abc8 ⇔ good88 ⇔ Cổng game rikvip ⇔
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây