Menu
CoddyTech

整数除算

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 枚ずつ渡せます。

challenge icon

チャレンジ

簡単

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)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: GDScriptオンラインコンパイラ