Skocz do zawartości
  • 0

Problem w porównywaniu zmiennych.


Lorax.pl

Pytanie

Hejka ;D to znowu ja, Lorax.

Troche sie pogubiłem w regulaminie DZIAŁU PROBLEMY (to dlatego ze jestem tu nowy), ale myśle że admini mi wybaczą :D

np. gdzie mam wpisac nazwe tematu jak tu jest tylko tytół, gdzie mam pisać pierwszy post i dlaczego mam do wyboru prefiksy jak one nie są wymagane i są zabronione. -jak pisze w regulaminie :D

 

Ale chodzi o to że, gdy piszę na tabliczce w lini 1: porownanie , w lini 2: 10 a w lini 3: 5 i klikam na nią prawym to wyskakuje mi:

Pierwsza linijka nie jest wieksza (od drugiej), ani nie jest mniejsza, nie jest tez rowna.  (WTF-BOOOOOOOOOOOOM mozg rozsadzony)

 

mimo ze 10 (linia 1) jest wieksze od 5 (linia 2)

 

 

 

On right click on sign:
 if line 1 of clicked block is "porownanie":
   set {l1} to line 2 of clicked block
   set {l2} to line 3 of clicked block
   if {l1} is bigger than {l2}:
     send "&cPierwsza linijka wieksza .  (%{l1}% > %{l2}%)"
     stop
   if {l2} is bigger than {l1}:
     send "Druga linijka wieksza .  (%{l1}% < %{l2}%)"
     stop
   if {l2} is equal to {l1}:
     send "Pierwsza linijka rowna drugiej.  (%{l1}% = %{l2}%)"
     stop
   send "Pierwsza linijka nie jest wieksza (od drugiej), ani nie jest mniejsza, nie jest tez rowna.  (WTF-BOOOOOOOOOOOOM mozg rozsadzony)"

Odnośnik do komentarza
Udostępnij na innych stronach

2 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Jeżeli tworzysz tabliczki, linie tabliczki są ustawione jako tekst nie liczby.

Możesz temu zapobiec, robiąc komendę, która Ci ustawi cyfry.

 

np:

command /tabliczka [<number&gt] [<number&gt]:

{}trigger:

{}{}if target block is sign:

{}{}{}if arg 2 is set:

{}{}{}{}set line 1 of targeted block to "porownanie"

{}{}{}{}set line 2 of targeted block to "%arg 1%"

{}{}{}{}set line 3 of targeted block to "%arg 2%"

{}{}{}{}set {l1.%location of targeted block%} to arg 1

{}{}{}{}set {l2.%location of targeted block%} to arg 2

 

on rightclick on sign:

{}if line 1 is "porownanie":

{}{}{l2.%location of clicked block%} is set

{}{}{l2.%location of clicked block%} is set

{}{} DALSZA Część kodu

 

 

{}  - TAB lub 4 spacje.

Edytowane przez dodoz012609
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
On right click on sign:	if line 1 of clicked block is "porownanie":		set {_l.1} to line 2 of clicked block parsed as number		set {_l.2} to line 3 of clicked block parsed as number		if {_l.1} is set:			if {_l.2} is set:				if {_l.1} is bigger than {_l.2}:					send "&cPierwsza linijka wieksza.  (%{_l.1}% > %{_l.2}%)"					stop				if {_l.2} is bigger than {_l.1}:					send "Druga linijka wieksza.  (%{_l.1}% < %{_l.2}%)"					stop				if {_l.2} is equal to {_l.1}:					send "Pierwsza linijka rowna drugiej.  (%{_l.1}% = %{_l.2}%)"					stop			else:				send "Druga linijka nie jest liczbą"				stop		else:			send "Pierwsza linijka nie jest liczbą"			stop
Twój sposób jest dobry, problem w tym ze jak pobierałes tekst z danej linijki Skrypt nie uznawał tego tekstu za liczby dlatego nie dało sie porównać. Daltego dodałem zwrot "parsed as number" czyli "analizuj jako liczba" :) Dodatkowo dodałem zabezpieczenie jeśli 3 lub 3 linijka nie beda liczbami. Powinno działać
Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...