整数除算
CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 16/92。
割り算の両方の値が整数の場合、/は整数を返します。小数部分は切り捨てられます。
print(7 / 2) # 3
print(10 / 3) # 3結果は丸められません。7 / 2 は 4 ではなく 3 です。負の数でも小数部分は切り捨てられるため、-7 / 2 は -3 です。
少なくとも一方の値が浮動小数点数の場合、結果も浮動小数点数になり、小数部分が保持されます:
print(7.0 / 2) # 3.5
print(7 / 2.0) # 3.5同じルールは変数にも当てはまります。2つの整数変数から正確な結果を得るには、そのうちの1つをfloat()で変換します:
var coins := 7
var players := 2
print(coins / players) # 3
print(float(coins) / players) # 3.5整数除算は、アイテムを整数個に分けるときに便利です。7 枚のコインを 2 人のプレイヤーで分けると、各プレイヤーに 3 枚ずつ渡せます。
チャレンジ
簡単17枚のコインを5人のプレイヤーで分けます。変数 total_coins と players はすでに宣言されています。
さらに2つの変数を宣言してください。
coins_each:total_coinsをplayersで整数除算した、各プレイヤーが受け取るコインの整数個数exact_share: 除算の前にtotal_coinsにfloat()を使って求める、浮動小数点数としての正確な分け前
print() の行はすでにあり、次のように出力します。
Each player gets: 3 coins
Exact share: 3.4自分で試してみよう
extends Node
func _ready():
var total_coins := 17
var players := 5
# 以下で coins_each と exact_share を宣言してください
# 以下の行は変更しないでください
print("Each player gets: ", coins_each, " coins")
print("Exact share: ", exact_share)
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ