Alice ve Bob kavga ediyor


24
  • Alice (A) ve Bob (B) savaşmaya karar verdi.
  • Her savaşçının 10 sağlığı vardır.
  • Sırayla 6 taraflı bir kalıbı hasar için döndürürler.
  • Bu hasar, rakiplerinin sağlığından kaldırılır.
  • Sonunda Alice veya Bob, düşmanlarını yok edecek.

Bana savaşın nasıl gittiğini göster. Gerçekleşen eylemler için bu kodların çıktısını alın.

saldırı

B a A    
^ Combatant
  ^ Action (attack)
    ^ Target

Rulo

B r 4
^ Combatant
  ^ Action (roll)
    ^ Value

Sağlık değişikliği

A h 6
^ Combatant
  ^ Attribute (health)
    ^ Value   

kazanmak

A w 
^ Combatant
  ^ Action (win)

Örnek çıktı:

A a B
A r 4
B h 6
B a A
B r 6
A h 4
A a B
A r 6
B h 0        
A w

İşte kurallar:

  • Herhangi bir dilde yaz.
  • Tek bir kalıbın rulo 1, 2, 3, 4, 5 veya 6 sayılarından herhangi biri ile sonuçlanma şansı eşit olmalıdır.
  • Alice her zaman başlar (Bob, eski kafalı bir şekilde şövalyedir).
  • Her tur için bir işlem yapın.
  • Saldırıyı, yuvarlanmayı, hasarı ve kazanma eylemlerini bildirmelisiniz.
  • Savaşan oyuncular büyük, eylemler küçük.
  • Sürekli aynı sonucu vermemelidir.
  • Bir çıkış savaşçısı, eylem ve değer arasında en az bir boşluk karakteri bulunmalıdır.
  • Kazanma eylemi, rakibin sıfır veya daha az sağlığı olduğunda gerçekleşir.
  • Bir eylemin tüm bölümleri aynı satırda olmalıdır.
  • Satır başına bir işlem yapılmalıdır.
  • En az bayt kazanır.

Al ona!


9
Alice (A) ve Bob (B) isimleri bana ağ güvenliği sınıfına geri dönüş veriyor. Aktör Alice (A) Bob (B) 'ye anahtar paketiyle gönderir ... etc ...
Magic Octopus Urn

21
@MagicOctopusUrn bu onlar. Genelde iletişim kurmaya çalışıyorlar. Ne yazık ki çatışma çoğu zaman iletişim bozulduğunda gerçekleşir.
AJFaraday

7
Gizli sırlarımızı Mallory den nasıl gizleyeceğimizi bulmaya çalıştığımız günleri özlüyorum ... bunlar daha basit zamanlardı ...
Bob

4
@Bob Mallory gerçekten de dikkat dağıtıcı bir şey. Dikkat etmen gereken Havva.
AJFaraday

3
@ msh210 iyi, kod golfünde önemli ayrıntı herkesin aynı zorluğu atmasıdır, ama işte mantık: - eğer Zindanlar ve Dragons oynuyorsanız, “Goblin'i tekmeleyeceğim” derdiniz. d etkinlik için rulo yapın, sonra rulo sonucunu uygulayın. Kimse ne için uğraştığını bilmiyorsa, rulo anlamsızdır.
AJFaraday

Yanıtlar:


5

05AB1E , 49 bayt

"BaABr0Aha"S3ô»D„AB‡[6LΩ©Tǝ¤H®-©16ǝ=®0‹#s]н…ÿ w?

Çevrimiçi deneyin!

açıklama

"BaABr0Aha"                                        # push the initial state of B
           S                                       # split to list of characters
            3ô                                     # divide into 3 parts
              »                                    # join each part on space and all on nl
               D„AB‡                              # make a copy with A and B inverted
                     [                             # start a loop
                      6LΩ©                         # pick a random number in [1 ... 6]
                          Tǝ                       # insert at position 10 of the string
                            ¤H                     # get the last char of the string and
                                                   # convert from hex
                              ®-©                  # subtract the random number
                                 16ǝ=              # insert at position 16 and print
                                     ®0‹#          # if the hp is less than 0, break
                                         s         # swap the other string to the stack top
                                          ]        # end loop
                                           н…ÿ w?  # print the winner

13

Python 3 , 131 bayt

x,y="AB"
from random import*
X=Y=10
p=print
while X>0:p(x,"a",y);d=randint(1,6);p(x,"r",d);Y-=d;p(y,"h",Y);x,y,X,Y=y,x,Y,X
p(y,"w")

Çevrimiçi deneyin!


ChooJeremy sayesinde officialaimm sayesinde -2 byte -2 byte


5
Önceden p=printtanımlamak sizi yaklaşık 8 bayt kurtaracak.
officialaimm

Y her zaman bu noktada kazandığından (Ve daha sonra Y'ye değiştirilen döngüde yalnızca X saldırıları), y'nin kayıp kaymadığını kontrol etmeniz gerekmez. - ChooJeremy - Şu kaynaktan
NoOneIsHere

@NoOneIsBana iletiyi ilettiğin için teşekkürler: D
HyperNeutrino

randint(1,6)id(X+Y)//3%6+1Dağılımı oldukça düzgün olmasa da ile değiştirilebilir .
Vincent

@ Vincent, kuralları daha da kısaltmaya yardımcı olmuyorsa, kuralları bükme noktasını göremiyorum ...
HyperNeutrino

7

C (gcc) , 146 141 bayt

f(A,B,r,t,a,b){for(A=B=10;r=1+clock()%6,A*B>0;t=!t)printf("%c a %c\n%c r %u\n%c h %i\n",a=65+t,b=66-t,a,r,b,t?A-=r:(B-=r));printf("%c w",a);}

Çevrimiçi deneyin!

De-golf:

f(A,B,r,t,a,b){
    for(A=B=10; //Initialize HP
        r=1+clock()%6, // Get the number of processor cycles the program has consumed. This is relatively random, so I call it good enough.
        A*B>0;t=!t) // Flip t for change of turns
        printf("%c a %c\n%c r %u\n%c h %i\n", // Print the turn
            a=65+t,b=65+!t,a,r,b, // 65 is ASCII for 'A', 66 for 'B'
            t?A-=r:(B-=r)); // Deduct the damage.
    printf("%c w",a); // Print the winner
}

2
Bir bayt kullanarak kaydedebilir misiniz a=65+t,b=66-t?
moopet

A*B>0size birkaç bayt kazandıracak.
Olivier Grégoire

A*Bdaha da fazla kurtaracağım ama aceleci bir atm içindeyim. Akşamları güncelleme yapacağım

Zar sırasındaki bir hata bulundu {6,4,3,1,5}. b sağlık ile kazanır -4. TIO'ya bak Bu hatayı demo yapmak için zar hesaplayıcınızı değiştirdim.
GPS,

@GPS Teşekkürler, şimdi yatacağım.

7

Python 3 , 127 bayt

Bu, @ Yoruma sığmayan @HyperNeutrino yanıtındaki bir gelişmedir . Aşağıdaki açıklamaya bakınız.

x,y="AB"
s=id(0)
X=Y=10
p=print
while X>0:p(x,"a",y);s=s**7%~-2**67;d=s%6+1;p(x,"r",d);Y-=d;p(y,"h",Y);x,y,X,Y=y,x,Y,X
p(y,"w")

Çevrimiçi deneyin!


Daha kısa bir python zar rulosu için epik bir arayış

TL; DR: Standart python zar rulosunda 4 byte'lık RSA şifrelemesi kullanarak tıraş etmek mümkündür.

Standart python zar rulosunun ( 32 bayt ) biraz kısaltılıp kısaltılabileceğini görmek istedim :

from random import*;randint(1,6)

Özellikle, id(x)deterministik olmayan bir değerin programa dahil edilmesi oldukça uygundur. O zaman benim fikrim, gerçek rastgelelik oluşturmak için bir şekilde bu değere sahip olmaktı. Birkaç yaklaşım denedim ve bunlardan biri ödedi: RSA şifrelemesi .

RSA şifreleme, kolaylığından dolayı, sadece birkaç bayt gerektirir: m**e%n. Bir sonraki rasgele değer daha sonra bir öncekinin şifrelenmesiyle yaratılabilir. (e,n)Anahtarın kullanılabilir olduğunu varsayarak, zar rulosu 22 bayt ile yazılabilir :

s=id(0);s=s**e%n;s%6+1

Bu, geçerli bir RSA anahtarı tanımlamak için yaklaşık 10 baytımız olduğu anlamına gelir. İşte şanslıyım. Deneylerim sırasında Mersenne primi M67'yi sadece daha sonra Mersenne'in M67 de dahil olmak üzere bir hata yaptığını anlamak için kullanmaya başladım . Bu ürünü olarak çıkıyor p=193707721ve q=761838257287. Modülümü bulmuştum:

n=~-2**67

Şimdi, üs ve Charmichael totient koprime (p-1)*(q-1) olması gerekiyor. Neyse ki, n'nin tirentini bölmeyen ilk asal sayı sadece bir rakam uzunluğundadır: 7. Sonra zar rulosu 28 byte (standart yaklaşımdan 4 byte daha az) kullanılarak yazılabilir :

s=id(0);s=s**7%~-2**67;s%6+1

M67 ile iyi bir şey, üretilen rastgele değerin, normal 64 bit RNG'den daha fazla olan 66 bite sahip olmasıdır. Ayrıca, RSA kullanımı, mevcut değerin birden çok kez şifresini çözerek zamanda geriye gitmeyi mümkün kılar. İşte şifreleme ve şifre çözme anahtarları:

Encryption: (7,                    147573952589676412927)
Decryption: (42163986236469842263, 147573952589676412927)

Kesinlikle istatistik veya kriptografi konusunda uzman değilim, bu yüzden bu RNG'nin "iyi rastgelelik" kriterlerini kontrol edip etmediğini gerçekten söyleyemem. Ben yazdım küçük bir kriter farklı RNG'ler kullanılarak, 1 ila 6 zar merdanelerin oluşumları standart sapması karşılaştırır. Önerilen çözüm, diğer çözümler gibi çalışır gibi görünüyor.


3
Etkileyici iş! :)
HyperNeutrino

4

JavaScript (ES6), 122 bayt

f=(h=[10,10,p=0])=>`${x='AB'[p]} a ${y='BA'[p]}
${x} r ${d=Math.random()*6+1|0}
${y} h ${H=h[p^=1]-=d}
${H<1?x+' w':f(h)}`

Çevrimiçi deneyin!


4

Java (JDK 10) , 180 bayt

v->{var r="";int p=0,H[]={10,10},h=0;for(;H[0]*H[1]>0;)r+=r.format("%3$c a %4$c%n%3$c r %d%n%4$c h %d%n",h+=Math.random()*6-h+1,H[p]-=h,p+65,(p^=1)+65);return r+(char)(66-p)+" w";}

Çevrimiçi deneyin!

Kredi


1
Java 10'da var? o.Ô Yakında yeni özelliklerden bazılarını incelememe ihtiyacım var .. Neyse, karakter dizisini int dizisini değiştirerek 4 byte golf v->{var r="";int P[]={65,66},p=0,H[]={10,10},h=0;for(;H[0]*H[1]>0;)r+=r.format("%3$c a %4$c%n%3$c r %d%n%4$c h %d%n",h+=Math.random()*6-h+1,H[p]-=h,P[p],P[p^=1]);return r+=P[p^1]+" w";}
oynayabilirsiniz

1
@KevinCruijssen Evet, Java 10'da var. Daha fazla okumaya gerek yok, temelde bizim için golfçüler için geçerli olan tek değişiklik bu. Ve hayır, önerdiğini yapamam: sonucun son satırını kontrol et: 65 wyerine olur A w. Bu yüzden onu int ...açıklamadan çıkardım : birkaç byte'lık golf
Olivier Grégoire

1
@KevinCruijssen Burada birkaç örneğe uydum
Olivier Grégoire



3

Ruby , 122 120 96 92 91 bayt

f=->x=?A,y=?B,m=10,n=m{p [x,?a,y],[x,?r,r=1+rand(6)],[y,?h,t=n-r]
t<1?p([x,?w]):f[y,x,t,m]}

Asone Tuhid ile 1 bayt kaydedildi .

Çevrimiçi deneyin!


1
Sanırım daha fazla Ruby'yi bile bilmiyorum bile;)
AJFaraday

Korkarım alternatifiniz işe yaramıyor, "Bir eylemin tüm bölümleri aynı satırda olmalı." Bununla birlikte, aynı optimizasyonu sekme karakteriyle yapmak mümkün olabilir mi?
AJFaraday

@AJFaraday Formattaki satırların çıktısı alınabilir mi ["A", "a", "B"]? Öyleyse, bu 96 baytlık bir çözüme sahibim .
Cristian Lupascu 22.08.2018

Satır başına bir çıktı verilirse. Yapmalı.
AJFaraday

-1 bayt ?(p [x,?w]):ile değiştirirseniz?p([x,?w]):
Asone Tuhid 22.018

3

Java 8, 230 bayt

v->{for(int h=104,a=h,x=0,y=1,A=10,B=A,r=0,t=0,T;a<119;)System.out.printf("%c %3$c %c%n",(x=a>h|A*B<1?x^1:x)+65,y=(a<98?t=r+=Math.random()*6-r+1:a>h?(T=x<1?A-=t:(B-=t))<0?0:T:A*B<1?-16:(x^1)+17)+48,a=a<98?114:a>h?104:A*B<1?119:97);}

Not: Çok daha kısa bir Java cevabı zaten var , bu yüzden onun lehine çevirdiğinizden emin olun ! Ancak tamamen farklı bir yaklaşım kullanıyorum, bu yüzden göndermeye de değdi.

Açıklama:

Çevrimiçi deneyin.

v->{                     // Method with empty unused parameter and no return-type
  for(int h=104,         //  Temp integer with unicode for 'h' to save bytes
          a=h,           //  Second part (Action)
          x=0,           //  First part
          y=1,           //  Third part
          A=10,          //  Score player A, starting at 10
          B=A,           //  Score player B, starting at 10
          r=0,           //  Random dice-roll
          t=0,           //  Previous dice-roll
          T;             //  Temp integer
      a<119;)            //  Loop until there is a winner
     System.out.printf(  //   Print
      "%c %3$c %c,%n",   //    The three parts with spaces, and a new-line
      (x=                //    First part:
         a>h             //     If the previous action is 'r',
         |A*B<1?         //     or there is a winner:
           x^1           //      Change A→B or B→A
         :               //     Else:
          x)             //      A/B remains unchanged
       +65,              //     Add 65 to convert 0/1 to 65/66 (unicode values of A/B)
      (y=                //    Third part:
         (a<98?          //     If the previous action was 'a'
           t=r+=Math.random()*6-r+1
                         //      Roll the dice, and save it in `t`
          :a>h?          //     Else-if the previous action was 'r':
           (T=x<1?       //      If the first part changed to player A:
            A-=t         //       Subtract the previous dice-roll from A
           :             //      Else:
            (B-=t))      //       Subtract the previous dice-roll from B
           <0?           //      If this score is below 0:
            0            //       Use 0
           :             //      Else:
            T            //       Use this score
         :               //     Else (the previous action was 'h'):
          A*B<1?         //      Is there a winner:
           -16           //       Change the third part to a space
          :              //      Else:
           (x^1)+17)     //       Change the third part to the other player
       +48,              //     Add 48 to convert it to unicode
       a=                //    Second part:
         a<98?           //     If the previous action was 'a': 
          114            //      Change it to 'r'
         :a>h?           //     Else-if the previous action was 'r':
          h              //      Change it to 'h'
         :               //     Else (the previous action was 'h'):
          A*B<1?         //      If either score is 0:
           119           //       Use 'w'
          :              //      Else:
           97);}         //       Use 'a'


2

Toplu iş, 174 bayt

@set/aA=B=10
@set c=A
@set d=B
:g
@set/ar=%random%%%6+1,h=%d%-=r
@echo %c% a %d%
@echo %c% r %r%
@echo %d% h %h%
@if %h% gtr 0 set c=%d%&set d=%c%&goto g
@echo %c% w

Açıklama: %değişken referanslar ayrıştırma sırasında değiştirildi. Bunun iki faydası var:

  • %d%-=rrtarafından adlandırılan değişkenden çıkarır d(yani dolaylı başvuru)
  • set c=%d%&set d=%c% sadece düz bir takas.

2

PHP 7.1: 159 bayt

<?php $A=$B=10;$t='AB';while($A>0&&$B>0){$a=$t[0];$b=$t[1];$d=rand(1,6);$$b-=$d;echo"$a a $b\n$a r $d\n$b h {$$b}\n";$t=strrev($t);}echo($A>0?'A':'B')." w\n";

Tarayıcıda burada çalıştırın!

PHP 5.6: 156 bayt

<?php $A=$B=10;$t='AB';while($A>0&&$B>0){list($a,$b)=$t;$d=rand(1,6);$$b-=$d;echo"$a a $b\n$a r $d\n$b h {$$b}\n";$t=strrev($t);}echo($A>0?'A':'B')." w\n";

Tarayıcıda burada çalıştırın!

İşte PHP 5.6 çözümü biçimlendirme ve yorumlarla benziyor:

<?php
// Initialize both HP counters
$A = $B = 10;

// Set the turn order as a string (which 5.6 allows to be unpacked into a list)
$t = 'AB';

// Run this loop as long as both players have HP
while ($A > 0 && $B > 0) {
    // Unpack the turn string into $a and $b variables; on the first run, $a = 'A'
    // and $b = 'B'. This is no longer possible in PHP 7.0, so the PHP 7.0
    // solution needed to use an array instead.
    list($a, $b) = $t;

    // Set damage to a random number between 1 and 6
    $d = rand(1, 6);

    // Subtract the damage from the referenced value $b. On the first turn, this
    // is 'B', so this ends up subtracting $d from $B. Next turn, $b will be 'A',
    // so it'll subtract $d from $A
    $$b -= $d;

    // Echo the string (interpolated values)
    echo "$a a $b\n$a r $d\n$b h {$$b}\n";

    // Reverse the turn order string ('AB' becomes 'BA', which will affect the
    // call to list in the first line of the while-loop)
    $t = strrev($t);
}

// Someone's run out of HP; figure out whom by figuring out who still has HP
echo ($A > 0 ? 'A' : 'B') . " w\n";

1

Bash, 178 bayt

A=10 B=10 e=echo
a(){ $e $1 a $2;d=$((RANDOM%6+1));$e $1 r $d;eval $2=$((${!2}-$d));$e $2 h ${!2};[ ${!2} -gt 0 ];}
while a A B && a B A;do cd;done;[ $A -gt 0 ]&&$e A w||$e B w

1

F #, 238 235 bayt

İyi olduğumu düşünmüştüm, ama hepiniz beni aştınız!

let p=printfn
let mutable A=10
let mutable B=A
let x h a d=
 p"%s a %s"a d
 let i=(new System.Random()).Next(1,7)
 let j=h-i
 p"%s r %i"a i
 p"%s h %i"d j
 if j<=0 then p"%s w"a
 j
while A*B>0 do
 B<-x B"A""B"
 if B>0 then A<-x A"B""A"

Çevrimiçi deneyin!

Rogem'e, A> 0 && B> 0 yerine A * B> 0 kullanması için mükemmel bir tavsiye için teşekkür ederiz (3 bayt çıkarır).

Ayrıca Python cevabında printf'i önceden tanımlamak konusundaki ipucu da bir kaç baytı tıraş etmeme yardımcı olan officialaimm'e teşekkür ederim.


1
@OlivierGregoire'dan aldığım bir tavsiye: A*B>0size birkaç tane daha kazandıracak.

Bu kesinlikle mükemmel. Sevdim. Çok teşekkür ederim!
Ciaran_McCarthy

1

Haskell , 204 bayt

Haskell'e girişim, maalesef daha rekabetçi olamamıştım

import System.Random
main=getStdGen>>= \g->putStr$q(randomRs(1,6)g)10(10::Int)"A ""B "
(!)=(++)
l="\n"
q(x:z)a b p o=p!"a "!o!l!p!"r "!show x!l!o!"h "!show n!l!if n<1then p!"w"else q z n a o p where n=b-x

Çevrimiçi deneyin!

açıklamalar:

import System.Random  --import random module
main=                        --main function, program entry point
 getStdGen                   -- get the global random number generator
   >>= \g->                  --using the random generator g
       putStr $ q            --print the result of function q, passing in ..
          (randomRs (1,6) g) --an infinite list of random numbers, 1 to 6 generated by g
           10 (10::Int)      --the starting health of both players, 
                             --type annotation sadly seems to be required
           "A " "B "         --The names of the players,
                             --with an extra space for formatting
(!)=(++) --define the operator ! for list (String) concatenation, 
         -- we do this a lot so we save a bit by having a one byte operator
l="\n"   -- define l as the newline character

q      --define function q                         
 (x:z) --our list of random numbers, split into the next number (x) and the rest (z)
 a     -- the health of the active player
 b     -- the health of the player getting attacked
 p     -- the name of the active player
 o     -- the name of the player getting attacked
=
  p!"a "!o!l --create the attack action string with a newline
 !p!"r "!show x!l -- append the roll action
 !o!"h "!show n!l -- append the health remaining
 !           -- append the result of the following if
  if n<1     -- if the player being attacked has been defeated
  then p!"w" -- append the win string for the active player
  else q z n a o p  --otherwise append the result of calling q again with 
                    --rest of the random numbers, and the active players swapped
  where n=b-x -- define the attacked player's new health n
              -- their current health b - the random roll x

Tips for golfing Haskell'da bir göz atabilirsiniz . Örneğin where m=b-xbir bekçi içine konabilir: |m<-b-x=.
Laikoni

Bazı parametreler yeniden düzenleyerek parantez lambda ve bir set kaybedebilir: main=putStr=<<q"A "10"B "10.randomRs(1,6::Int)<$>getStdGen. Ayrıca bir listeyi kullanabilir ve yeniden tanımlamaktan kurtulmak için düzenleyebilirsiniz (++). Son yer, b-xher yerde sadece kullanmanın faydası gibi görünmüyor .
Angs

1

Julia 0.6 , 175 bayt

p=println()
f(l="AB",h=[10,10],a=1)=(while min(h...)>0;d=3-a;p(l[a]," a ",l[d]);r=rand(1:6);h[d]-=r;p(l[a]," r ",r);p(l[d]," h ",max(h[d],0));a=d;end;p(l[findmax(h)[2]]," w"))

Çevrimiçi deneyin!

Uzun, ungolfed versiyonu:

function status(player, health)
    println("$player h $(max(0,health))")
end

function roll(player)
    x = rand(1:6)
    println("$player r $x")
    x
end

function play()
    players = ["A","B"]
    healths = [10, 10]
    attacker = 1

    while min(healths...) > 0
        println("$(players[attacker]) a $(players[3-attacker])")
        healths[3-attacker]-=roll(players[attacker])
        status(players[3-attacker], healths[3-attacker])

        attacker = 3 - attacker
    end

    winner = findmax(healths)[2]
    println("$(players[winner]) w")
end

TIO bağlantınızda hiç çıktı görünmüyor.
AJFaraday

Evet, neden TIO’nun hoşlanmadığını bilmiyorum. Makinemde iyi çalışıyor. Vaktim varsa araştırırım.
niczky12

1

VBA, 222 185 179 Bayt

Bu özyinelemeli çözüm 3 alt içerir

  1. g ilk dönüşte başlayan oyun başlangıcıdır
  2. Her tur için t çağrılır . Özyineleme kullanır.
  3. (sadece 4 bu çözümde) 3 defadan fazla kullanıldığında p Debug.Print kısadır Düzenleme: Şimdi öğrendim ki o Debug.?kabul edilebilir bir alternatiftir Debug.Print, Debug.?xyazdırmak için bir Sub çağırmaktan daha kısadır.
Sub g()
t "A",10,"B",10
End Sub
Sub t(i,j,x,h)
d=Int(Rnd()*6)+1
Debug.?i &" a "&x
Debug.?i &" r "&d
h=h-d
If h<1Then
Debug.?i &" w"
Else
Debug.?x &" h "&h
t x,h,i,j
End If
End Sub

Bu eğlenceli bir mücadele oldu. VB6 / VBScript / VBA için TIO gibi bir çevrimiçi tercüman biliyorsanız, lütfen bir yorum bırakın. Sonra çalışan bir çözüme bağlantı gönderebilirim.

Bu kodu sınamak ve Microsoft Excel, Word, Access veya Outlook'un yüklü olmasını istiyorsanız (yalnızca Windows), VBA IDE'yi açmak için Alt + F11 tuşlarına basın. Yeni bir kod modülü (Alt + I, M) takın ve Option Explicit'i temizleyin. Sonra kodu yapıştırın ve çalıştırmak için F5 tuşuna basın. Sonuçlar Hemen Penceresinde görünmelidir (göremiyorsanız Ctrl + G tuşlarına basın).

Düzenleme 1: . Vba düzenleyici otomatik olarak geri katacak Kaldırılan boşluk 37 azalttı bayt
Düzenleme 2: Kaldırılan Alt p () öğrenme sonra * 6 bayt kaydetmek Debug.?için kabul edilebilir bir alternatiftir Debug.Print. Bir çağırma Sub işlemek için Debug.?sadece fazla altı aramalar sonrasında bayt kaydeder.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.