7月, 2020年

Swift5で行こう…第3回「ハイアンドローゲーム1」(もちゃち)

2020-07-26

目次へ
前(第2回)へ  次(第4回)へ

今回はハイアンドローゲームを作ります。コンピュータが0〜9までの数字の中から一つを覚えます。その数字を当てるゲームです。
それでは早速作りましょう。Xcodeを立ち上げ、「Create a new Xcode project」を選択します。
「iOS」で「Single View App」を選択して「Next」をクリックします。
Product Nameに「HiAndLo」と入れて Language に「Swift」User Interface に「SwiftUI」が入っている事を確認して「Next」をクリックします。
プロジェクトの保存場所を指定して「Create」ボタンを押します。
この画面になります。
ここで

struct ContentView: View {
    var body: some View {
        Text(“Hello, World!”)
    }
}

の部分を

struct ContentView: View {
    @State var message = “0から9の値を入れて下さい”
    @State var value = “”
    @State var answer:Int = Int.random(in: 0…9)    

    func Action() {
        var x:Int
        x = Int(value)!
        if (x > answer)
        {
            message = “もっと小さいです”
        }
        else if (x < answer)
        {
            message = “もっと大きいです”
        }
        else
        {
            message = “当たりです”
        }
    }    

    var body: some View {
        VStack {
            Text(message)
            TextField(“Input”, text: $value)
                .frame(width: 50, height: 50, alignment: .center)
            Button(action: {self.Action()}
            ){
                Text(“決定”)
            }
        }
    }
}

この様に変えて下さい。

そして、左上の再生ボタンを押します。

以下の様な画面が出て来ます。
試しに5を入れて、Buttonを押してみました。
「もっと大きいです」と出ました。(ここは、皆さんで違って来ます。同じく「もっと大きいです」と出る場合もありますが、「もっと小さいです」や「当たりです」が出る場合があります。一度終了すれば、また結果が変わります。)
8を入れて、Buttonを押してみました。
6を入れて、Buttonを押してみたら当たりました。
さて、皆さんに問題です。今回は0〜9でしたが、これを0〜19の当たりが出るようにするには、どこを変えれば良いでしょう。表示も変えるとすると2箇所変更する必要があります。

前(第2回)へ  次(第4回)へ
目次へ

Swift5で行こう…第2回「インストールとはじめてのプログラム」(もちゃち)

2020-07-25

目次へ
前(第1回)へ  次(第3回)へ

まずは、Xcodeをインストールします。App Storeの左側、「開発する」を選択します。

少し下までスクロールします。

「開発者のための必須App」の所にXcodeがあります。これをインストールします。
画面では「開く」となっていますが、最初は「入手」となっている筈です。
ダウンロードに少し時間がかかります。インストールが終わると、LaunchPadにXcodeが現れます。

早速、クリックしてみましょう。「Welcome to Xcode」画面が現れると思います。現状、Version 11.6です。この画面の「Create a new Xcode project」を選択します。

とりあえず、「iOS」、「Single View App」を選択して「Next」ボタンを押します。

「Product Name」に「Hello」と入れて、「Organization Identifier」に適切な値を入れて、「Language」はSwift、「User Interface」はSwiftUIにして「Next」ボタンを押します。各値については、ここを参照して下さい。

保存場所を指定して「Create」ボタンを押します。

以下のような画面になります。

コードの部分は

import SwiftUI
struct ContentView: View {
    var body: some View {
        Text(“Hello, World!”)
   }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

となっています。
ここで、この内容でない場合は、左側のツリーからContentView.swiftを選択すると、この内容が出てくると思います。

ここで最初の struct ContentView: View{ 〜 } の部分を以下のように書き換えて下さい。太字部分が変更部分です。

struct ContentView: View {
    @State var labelText = “Start”

    var body: some View {
        VStack {
            Text(labelText)
            Button(action: {
                self.labelText = “Hello World!”
            }){
                Text(“Button”)
            }
        }
    }
}

ここで、画面左上の再生ボタンを押しましょう。

シュミレータが起動します。ここでボタンをクリックしてみましょう。

この様になりましたか?

初めてのプログラムは難しかったでしょうか?

前(第1回)へ  次(第3回)へ
目次へ

Swift5で行こう…第1回「はじめに」(もちゃち)

2020-07-25

目次へ
次(第2回)へ

以前連載していたSwiftで行こう、2014年から2015年にかけてのもので、Xcodeもバージョン6のものとなっています。Swiftは、過去のものとの互換性を余り取らない方針のようで、古いソースを新しいバージョンのもので動かそうとすると動かない事が多いように思います。そこで、以前の連載を最新のもので焼き直す事にしました。今回は、解説編も付けようかと考えています。これからよろしくお願いします。

次(第2回)へ
目次へ

Swift5で行こう…目次(もちゃち)

2020-07-25

次(第1回)へ

はじめに
第1回「はじめに」
はじめてのプログラム
第2回「インストールとはじめてのプログラム」
ハイアンドローゲーム
第3回「ハイアンドローゲーム1」数あてゲーム
第4回「ハイアンドローゲーム2」0から19にするには、繰り返し遊ぶ、何回で当てたか
第5回「ハイアンドローゲーム3」
第6回「ハイアンドローゲーム4」
第7回「ハイアンドローゲーム5」
電子サイコロ
第8回「電子サイコロ」
トランプ
第9回「トランプ1」
第10回「トランプ2」
第11回「トランプ3」
第12回「トランプ4」
第13回「トランプ5」
ポーカー
第14回「ポーカー1」
第15回「ポーカー2」
第16回「ポーカー3」
第17回「ポーカー4」
第18回「ポーカー5」
第19回「ポーカー6」
第20回「ポーカー7」
第21回「ポーカー8」
第22回「ポーカー9」
第23回「ポーカー10」
第24回「ポーカー11」
第25回「ポーカー12」
第26回「ポーカー13」
第27回「ポーカー14」
第28回「ポーカー15」
第29回「ポーカー16」
ババ抜き
第30回「ババ抜き1」ババ抜きの始まり、配ったように見せかける
第31回「ババ抜き2」カードを配る、CardClassの改造
第32回「ババ抜き3」ペアになったカードを除く
第33回「ババ抜き4」最初からカードが配られるように変更
第34回「ババ抜き5」ボタンの表示改めと、どの組を選ぶかのラジオボタンを付ける
第35回「ババ抜き6」「ペアを除く」ボタンを押したら選択変更出来ないようにする
第36回「ババ抜き7」コンピュータが前の人のカードを引く
第37回「ババ抜き8」シャッフルする
第38回「ババ抜き9」ユーザーが引くカードを選択するボタンを付ける
第39回「ババ抜き10」ユーザーがカードを引くボタンと引いた後の処理を加える
第40回「ババ抜き11」2つの関数をまとめる
第41回「ババ抜き12」自分のカードを並び替える
第42回「ババ抜き13」並び替えが終わった後の次の人が1枚引く処理
第43回「ババ抜き14」ゲームに仕立てる
第44回「ババ抜き15」1番目と2番目が選ばれた時の対応
第45回「ババ抜き16」あがった人に順位を付けてゲームから抜ける処理
第46回「ババ抜き17」他の人のカードを裏に

次(第1回)へ

オンライン会議の環境改善 吉田一視

2020-07-16

自宅でオンライン会議が増えたので、自宅の環境改善をしました

しまゆぐ 2020年7月の定例会(Zoom同時)

2020-07-12

2020年7月12日(日)14:00〜
司会 吉田

代表 今月初めてのオンライン・オフライン同時開催定例会
見学の屋比久さんとゲストのAUGM東京代表の村上さんが初参加
会計 会場行けなかったのでレンタルサーバーと会場費立替と井上さん会費預かり

近況
増田 会社月1回で不便 曜日が分からなくなり太るのでたまに会社行く方が良い
篠原 8月第2波来るだろうと思いその前に河口湖等行ってラベンダー撮影行ったが紫陽花見頃だった
何もしない事に慣れた 足痛く週2回整体でギックリ腰もすぐ治った
息子のSiMが久しぶりにCD発売 4ヶ月公共交通機関乗っていない
佐々木 仕事は毎日出社 帰国出来ない学生オンラインで授業出来るが期末テスト模索中 事情により裏千家茶道始めた
白石 仕事でコロナ影響無いが、バスケ再開でふさいでいたと気付いた
iPhone SE電池持ち悪くなったのでiPhone 11 Pro買ったが、iCloud経由の移行プラグラムで最近の電話履歴見れなかった
矢萩 新型コロナの影響で早期退職させられた 会社都合なので退職金割増と失業保険もらっている
草津は天気悪く何でもあるホテルなので一歩も出なくソーシャルディスタンス出来た
吉田 今後も増えるオンライン会議の環境改善を研究しています
村上 Macお宝探偵団と3月からコロナの影響でイベントが全て中止で大打撃
塾講師もやっていて何とか生きながらえている Zoomの授業で役立っている
屋比久 iPhone長年使っていて、最近iMacとファイナルカットプロで動画作っている
仕事はコロナの影響無い 休みの日遠出出来ないので自宅でMacやっている
布施 子供達のダンスの手伝いのため遅れて参加

デモ
増田 蓄光顔料 簡易顕微鏡
篠原 写真 相模川大堰サイクリング 花ガーデンの蓮・水蓮 河口湖のラベンダー・紫陽花
吉田 オンライン会議の環境改善

白石質問 AirPods Pro買ったがiMUSIC途切れる
村上回答 他のBluetooth等使わなくして初期不良か試した方が良い

佐々木質問 AUZMでZoom会議しながらYouTube配信したが自分でも出来るか?
村上回答 簡単にやるには有料会員になりYouTubeに配信するを設定
配信始まらないとURLが決まらないので対策必要
注意点は初めて生配信の場合許可24時間必要

篠原質問 J -COMのインターネット途切れる事多い 他の電気製品との干渉の可能性言われる Wi-Fiルーター交換してもらいマシになった
増田回答 J -COMサーバーの問題 6月から良くなった 秋のWi-Fi 6に期待
村上回答 Wi-Fiいっぱい出てくれば電波が埋まっている可能性有る 有線で繋いでどうなるかやってみた方が良い 最近の機種は有線LAN口付アダプター必要
村上マンションのインターネット マンションまではNTT回線で各社ルーターが共用部のラックにある ソフトバンクだけ電気工事で電源落ちた後立ち上がらなかった
J -COM はNTTトラブルとは関係無い 5月以降2時〜3時半にZoom皆使うので人によってすごく重くなる 家族が皆同時にZoom使っても遅延ひどくなる

白石質問 トラブルの時ソフトバンクにどうやったら連絡取れるか?
村上回答 今回はNTT経由でソフトバンクに連絡してもらった

村上情報 Zoomと学校
学校によってオンライン講義短時間に制限
パソコン全員持っている所はすぐオンライン始めた
公立学校は再開までオンライン出来ないとこほとんど

今回のZoom
スクリーンや座席側にカメラで撮影するのはうまくいかなく、全員Zoomしか出来なかった
Fプレイスの人の発言は自分や部屋にいる人の声が遅れてイヤフォンから来るので聞きづらく、
イヤフォン外すとFプレイスの人は良いがZoomの人の声が聞こえない
ホスト以外はZoomにマイク・オーデオオフで繋ぐ
ホストのMacBookのマイクに向かって話すが、マスクしているのと場所によって聞こえづらい人が出る
音は外部スピーカーで聞くので、プロジェクターもマイク付イヤフォンも不要でした

次回の検討
ホストと繋がった長いコードかワイヤレスのマイクをスピーカーと干渉注意して発言者に回すとどうか?

Since1991 © Shimayugu All Rights Reserved.
アップルおよびアップルのロゴは、米国および他の国々で登録されたApple Inc.の商標です。
湘南マッキントッシュユーザーズグループは、独立したユーザグループで、Apple Japan合同会社が権限を与えた団体、支援する団体、またはその他に承認する団体ではありません。