LoginSignup
2
0

More than 5 years have passed since last update.

プログラミング勉強中の人間がサイコロ触れるチャットツールを作りたい話【2日目】

Last updated at Posted at 2017-11-04

初回:自己紹介とチャットアプリの仕様
前回:Vagrantの設定からkotlinインストール

前回まででkotlinのセットアップが終わったので、
今回は簡単な関数の練習から6面サイコロ二つをふり、二つの値と合計値を表示する関数を作ってみようと思います。

今回の目標

・var、valの違い
・import の使い方

Hello,Worldを書き換えて簡単な式を書いてみよう

前回書いた、元となるプログラムがこちら

Hello.kt
fun main(ages: Array<string>){
  printIn("Hello,world")
}

今回は、これをコピーしてtest.ktとしてプログラムを書いてみようと思う。

var,valの違い

kotlinでは数を宣言するときに2種類の宣言のやり方があります。

var x=1  //宣言した後でも値が変更できる 
   x=x*1 //値は1

val y=1
     y=y*1 //エラーを吐く

関数内で値を変更する可能性がある場合はvarをしない場合はvalを使うといいですね。

import とランダムな数を生成する

test.kt
import java.util.Random
val random = Random()
fun main(args:Array<String>){
var x =Raundom.nextInt(6)
printIn("結果:$x")
}

このように出力すると0〜5の範囲で出力されるようです・・・
なので、xに+1をして1~6の範囲にしてしまいます。これでしっかりと1d6が振れるようになったので、
下に変数yとしてコピペして完成させましょう。

test.kt
var x =Raundom.nextInt(6)
x=x+1
var y =Raundom.nextInt(6)
y=y+1
printIn("結果:[$x,$y]=${x+y}")

このように1を足せば1から6の数までのものが作れます。もっと効率のいい方法がある気がするので探しています。
変数名を使う時は、$変数と使うことで変数として認識してくれるようです。${変数+変数}という形はその場で式にして結果を出力する(x,yは変化しない)ので1回しか使わない出力などにおすすめです。

参考

Random(Java Platform SE8)

次回の目標

・「○○さんこんにちは」と出力するアプリケーションを作る。
・nDn(ex:1d100,3d10...)を出力する関数を作る。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0