プログラミング未経験→月4万

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/04/19(木) 17:52:04.48ID:PLYj983S
今まで一度もプログラミングをやったことのない俺だが

月に4万円稼げるようになるまで頑張ってみようと思う

このスレを見て俺もやってみようと思った人がいたら一緒にはじめてみないか?
2018/06/17(日) 22:38:43.49ID:339vH8bN
>>604
フムフムと読んだが、最後の一文で本質が分かってない人だと印象付いた
将棋は羽生さんですら未だによく分からないと言わしめるほどのゲーム
606デフォルトの名無しさん
垢版 |
2018/06/17(日) 23:01:45.21ID:uFlySmic
>>605
まあそれが素人目と言う奴ですよ。
2018/06/17(日) 23:04:42.60ID:EXvvyuIp
簡単でもあり、難しくもあり
ってことよ
2018/06/17(日) 23:50:31.43ID:RzzxSL6C
>>605
羽生がいまだによくわからないと言ってるからなんだっていうの
一般人にはゲームとして成立させることすら到底不可能ですか?
2018/06/18(月) 01:13:52.43ID:hhg4UcMz
基本ルールを覚えたら、後はそれの応用なだけで、
基本プログラムも変数と条件と反復の三つでしょ?
2018/06/18(月) 03:42:33.62ID:N12QMbNB
羽生のようなトップでも終わりなき道なのと
子供にもできることは矛盾しない

たいていのスポーツは子供でもできるけど
オリンピックのレベルまで行ける奴は一握り

プログラミングも同じだと思う
2018/06/18(月) 03:53:45.32ID:/0hKHuEb
>>605
将棋の強いアルゴリズムを作るという話なら羽生が云々というのも分かるが、そうじゃなくて将棋のルールを覚えて素人レベルで遊べる程度の話をしているだけでしょ。
>>604のレスの本質を分かってないのはあなたの方では?
2018/06/18(月) 12:39:36.23ID:K5X0Ap/F
>>609
EffectiveJavaの内容理解してから言ってくれ
613デフォルトの名無しさん
垢版 |
2018/06/20(水) 10:28:23.87ID:tNapRVX8
政治はルールを憶えても、必要な知識の半分も知った事にはならない。
ルールさえ覚えれば完璧なプログラムを作れるコンピューターの世界は素晴らしい。

【小西ひろゆき 】「失点承知でシュートを見送るだけの国会議員が何人いるだろうかと考えた。安倍政治は罪深い」クスクス
http://ai.2ch・sc/test/read.cgi/newsplus/1529449680/
> 小西ひろゆき (参議院議員)@konishihiroyuki
>
> W杯。主審の目の前でハンド反則でシュートを止めたコロンビア選手。
> チームを救うための究極の行為は一発レッドカード。
>
> 反則は絶対悪、退場も最悪ミスだが、我が身を捨てた執念の行為に、あの瞬間に何もせず、
> 失点承知でシュートを見送るだけの国会議員が何人いるだろうかと考えた。
>
> 安倍政治は罪深い。

> 296 名前:名無しさん@1周年[sage] 投稿日:2018/06/20(水) 08:35:43.01 ID:1UYVUuXc0.net
>   ルール破っても止めろっていう腐ったパヨクのお手本だなwwwwwww

> 229 名前:名無しさん@1周年[] 投稿日:2018/06/20(水) 08:28:39.51 ID:UmcKiJii0.net
>   パヨクはまずゲームのルールが分かってない

> 24 名前:名無しさん@1周年[sage] 投稿日:2018/06/20(水) 08:11:29.99 ID:9WH720hh0.net
>   意訳)
>   「モリカケが単なる難癖だと解ってやってます」

> 668 名前:名無しさん@1周年[] 投稿日:2018/06/20(水) 09:11:15.40 ID:MKVlJbUG0.net
>   >> 24
>   て事ですよね。で、自分らに難癖をつけさせる安倍政権は罪深いと
>   完全に基地外の論理ですわ
2018/06/20(水) 17:46:27.55ID:L5NvdPlf
スレ主完全に忘れてるよね
2018/06/26(火) 20:32:07.88ID:FQoFy4LG
文章力、進捗の異常な遅さ、理解度の低さ辺りからはっきりとわかるけど、こいつは会社の研修や大学などで手取り足取り教わってもまったくついていけず脱落するレベルの素質のなさだと思う
諦めたみたいだが、大正解だぞ
2018/06/28(木) 13:03:23.11ID:R8WB+Tin
無意味な改行は気持ち悪いからやめろって言ってもなぜかやめない池沼だからねぇ
10代のクソガキで教えてもらう側のド素人のくせに変なプライド持ってるのが怖いけど
クソガキゆえなんだろうねぇ
当然そんな奴に知識与える奴はいない
いるのは同じレベルの馬鹿同士でマウント取り合ってただけっていうゴミスレ
2018/06/28(木) 13:19:18.78ID:nhdp56+d
お前らネットでマウント取って気持ち良くなるのはいいけど、
福岡の事件みたいなの起こすのはやめてくれよな
618デフォルトの名無しさん
垢版 |
2018/06/28(木) 18:47:20.25ID:5b0PvGK/
スレチな書き込みした俺が勝ち組だな。

思い出したんだけど、俺、コンクリ殺人グループと喧嘩して何人か殺してた。
俺、マジでドラム缶コンクリ詰めにされたよ。
あいつら馬鹿だから、表面が固まったところでどっか行ったんで脱出できた。
一人殺した後に話し合いで解決しようここまで来いっていうんで行ったらスタンガンで襲い掛かって来たんで
奪い取ってキンタマにスタンガン当てたら死んだ。
残ったやつが110番通報して被害を訴えたんだけど、警官にスタンガン当てて拳銃を奪い取って発砲してきた。
俺はスタンガンの電池を抜いて投げて弾をはじいた。
そこへ怖い人たちが入って来て警官から銃を奪い取ったやつをどっかに連れて行った。
その後、駅前(階段下)で拡声器で俺のしたことを言いふらされたんで、やめないと死ぬことになるぞと警告したが、続けたので、
忍者村から盗み出しておいたクナイを頭に投げて殺した。
クナイで人を殺せるか、昔から試してみたかったんだ。
ちょうどいい実験材料が手に入ったからやってみた。

俺がコンクリ詰めにされた後、そいつらを捕まえて自分の両親をコンクリ詰めにさせたんだ。
殺すのをやめて砂糖を混ぜて固まらなくして2,3日放置した。
でも、脅しにもならなくて、結局、クナイで最後までイケイケだった奴を殺すことになった。
結局、殺す以外の解決方法は存在しない。
2018/06/28(木) 23:30:08.92ID:+p825TGd
じゃあ、俺がこのスレ引き継いで子供とのscratch作品アップしていい?
2018/06/28(木) 23:57:28.74ID:jUNX3QjG
Scratchスレ使えばいいだろ
2018/06/29(金) 01:14:04.12ID:ScSbKAdb
こんなとこに書いてる時点で負け組なんだよなあ
2018/06/29(金) 07:06:40.97ID:TSA4CPZV
カスが叩かれるのなんて当然だしむしろカスが俺出来ると勘違いして粋がる方が有害
2018/06/30(土) 17:21:15.32ID:Q84Usez4
unityでゲーム作ってんだけど
思ってる挙動と少し違う
おまえらコード貼るから教えてくんない?
2018/06/30(土) 17:44:04.59ID:BOLxHuT1
ウニティー
2018/06/30(土) 18:26:53.50ID:Q84Usez4
とりあえず自己解決したわ(´・ω・)スマソ
2018/06/30(土) 19:13:06.24ID:NEfw8AuE
次からはゲ製いくんだぞ
質問スレ3津くらいあるからな
627デフォルトの名無しさん
垢版 |
2018/07/01(日) 10:04:32.25ID:TGy/5Zun
>>618
クナイで殺す瞬間を見ていた少女がいた。
その少女はコンクリグループに拉致監禁された。

最初に来た警官がスタンガンで奪われたと書いたのは僕の勘違いだった。
正確には、近寄って耳打ちするような感じから倒れただけだった。
つまり、奪われた体裁を取ってるけど、実際には拳銃調達係でしかなかった。
そして、事件後に、あとから駆け付けた警官の半分が殺されたと聞かされた。
628デフォルトの名無しさん
垢版 |
2018/07/01(日) 10:28:57.66ID:TGy/5Zun
【福岡ネット殺人】新幹線殺傷の翌日「ネット弁慶の象徴『低能先生』に人を殺せる筈がない」匿名掲示板に容疑者を揶揄する複数の書き込み
http://ai.2ch・sc/test/read.cgi/newsplus/1530150275/
> 964 名前:名無しさん@1周年[sage] 投稿日:2018/06/29(金) 00:38:01.73 ID:8Rjm0Q5W0.net
>   >>958
>   それなりの高校を出てると、教科書関係は卒業で使わなくなった顔も知らない先輩から譲ってもらえるよ

> 965 名前:名無しさん@1周年[sage] 投稿日:2018/06/29(金) 00:44:19.44 ID:TJvoLoph0.net
>   >>964
>   マジレスすると、理系は後輩に渡さない
>   研究室入った後に勉強するために使うから
>   大学院入学試験なんかもろにそうだから

> 973 名前:名無しさん@1周年[sage] 投稿日:2018/06/29(金) 01:23:40.08 ID:8Rjm0Q5W0.net
>   >>966
>   笑いとるなって。
>   普通にもらえる。おまえが低学歴だからもらえないだけ。
>   院卒の先輩がいないから、院試で使うとかバカいうんだよ。つかって、修論書いて、「卒業」してそのあとに回ってくる。
>  
>   このあたりは学歴の差だから>>966なら知らなくても仕方ない話。
>   れすしなくていいよ、バカの世界で論じててくれwww

> 975 名前:名無しさん@1周年[sage] 投稿日:2018/06/29(金) 01:26:13.88 ID:3rJo1GUu0.net
>   こんなんが院卒

> 977 名前:名無しさん@1周年[sage] 投稿日:2018/06/29(金) 01:27:36.73 ID:TJvoLoph0.net
>   >>973
>   さすが、頭が良い奴は違うな
>   しっかり返すレス番を間違えてるし
>  
>   天才の世界は理解できない
>   バカでごめん
629デフォルトの名無しさん
垢版 |
2018/07/01(日) 10:35:38.05ID:TGy/5Zun
>>628 はレス番を間違える自称院卒

専ブラ使ってたら間違えるわけないと思うんだけど
。scのアンカ使ってもずれ方が違う。

。sc
> 975 名前:名無しさん@1周年[sage] 投稿日:2018/06/29(金) 01:26:13.88 ID:3rJo1GUu0.net
>   こんなんが院卒

。net
> 972名無しさん@1周年2018/06/29(金) 01:26:13.88ID:3rJo1GUu0
>   こんなんが院卒

スマホだとイマイチどっちにレスするかわかりにくかったりするような気がするから
スマホで書き込んでるんだろうな。
630デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:58:30.62ID:gFgZc5FG
09E
2018/07/23(月) 05:17:28.13ID:a5odQemo
>>1
1ヶ月ちょいしか続いてないじゃんゴミだなw
2018/09/25(火) 08:35:30.24
スレ主がいないなら
俺がこのスレ借りようかな。
パイザのC問題頑張ってんだが
633デフォルトの名無しさん
垢版 |
2019/06/18(火) 06:24:14.19ID:3nOE2mBA
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/

142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
2020/05/31(日) 08:30:39.78ID:KExNe49d
まずは開発開発だ。今、アプリと言ったらスマホアプリが主流だ。そこで
iOS環境かAndroid環境がターゲットになる。
もし革新的なアップルを選ぶならiOSに進め。
アップルよりも自由な方が好みならAndroidに進め。
さあ、2つに一つ。選べ。
635デフォルトの名無しさん
垢版 |
2020/07/04(土) 03:11:19.60ID:OxpkXjjx
>>634
とりあえずAndroidでおながいします
2020/07/05(日) 00:35:22.18ID:EYSUYXya
Androidの開発環境なら、Android Studio、Visual Studio、Delphi RAD Studioといった選択肢がある。この中から一つ選べ。
2020/07/05(日) 01:14:39.76ID:BkxIDrcL
>>636
eclipseって・あ・Android Studioにします。
Windows10Proにインストールしました。
が、立ち上げても意味不明っす。
2020/07/05(日) 01:21:48.22ID:EYSUYXya
まずはBMIを計算するアプリを作ってみよう。

https://www.dogrow.net/android/blog4/
2020/07/05(日) 01:29:32.58ID:EYSUYXya
最初にプロジェクトを新規作成して、GUI要素を貼り付けて、GUIのイベントに対する処理を記述する。
実行して動作を確認しながら、さらに処理を追加していく。これがIDEにおけるGUIの開発スタイルだ。
まずは実践。
2020/07/05(日) 02:17:48.19ID:EYSUYXya
Eclipseでの開発はAndroid Studioに移行したので、Eclipseでの開発は古い。
2020/07/05(日) 03:14:28.83ID:OwYzfAos
>>640
あざっ酢、>>638やってみるっ酢
2020/07/05(日) 04:02:32.03ID:OwYzfAos
んーなんだこれ英語だらけでわけわからん
new projectでEmpty Activityクリックして完了したら
Kotlinだかグラビアアイドルがどうのこうので
ダウンロード始まって終わんない
デザインエディタが
アンナバイラブル アンチル アフター ら さくせすふるプロジェクト シンク
オワタƪ(˘⌣˘)ʃ 寝る(( _ _ ))..zzzZZ
2020/07/05(日) 04:08:41.60ID:EYSUYXya
Android Studioは日本語化できたはず
2020/07/05(日) 04:13:29.65ID:EYSUYXya
日本語化するにはまず、Android Studio (以下AS)のバージョンを確認する必要がある。
2020/07/05(日) 06:46:46.65ID:nDNnOTMW
>>644
おはようございます。3.4から4.0にバージョンアップされちゃいました。
再起動したらデザインエディタ動きました。
VBA みたいに自由に配置出来ないのかコレ
マウスでガーーーーなんかイライラするぅー
更年期かな
2020/07/05(日) 07:05:19.67ID:nDNnOTMW
>>643
あざ酢 QiitaのAndroid studio日本語化
https://qiita.com/ekuzodia_jp/items/2c7d954dc76ffb164f71
Pleiades日本語化プラグイン
で日本語化出来ました。

ゔーーーなんでユーザーフォームみたいに配置でけへんねん、イライラするぅー
2020/07/05(日) 07:16:14.38ID:nDNnOTMW
つーかラベルどれ?なくても良い?
テキストボックスどこや?
なにこのコードてxml?意味不明やーーー
HTMLみたいに<input type=“button”>とかって打つんかな?
2020/07/05(日) 15:30:02.80ID:EYSUYXya
まず、どんなGUI部品が使えるかを把握する必要がありますね。
https://techacademy.jp/magazine/3422
ここによく使うGUI部品が紹介されている。
2020/07/05(日) 15:43:10.44ID:s1lHZb1V
今日はアンスタ初挑戦一日目、
画面部品配置までで、わかった事メモ

アンスタでは画面配置をエディタ上でマウスのドラッグ&ドロップで部品を置いていくのだが、
VBA のユーザーフォームのようには作れず、
レイアウトの関連としてxmlで作るようだ。

ラベルは<TextView android:text="身長[cm]" />
テキストボックスは <EditText android:inputType="number" />
ボタンは <Button android:text="計算実行" />
2020/07/05(日) 15:47:09.05ID:s1lHZb1V
>>648
ありがとうございます。参考にします。
スレ主さんとは違ってオッサンなのでぼちぼち低速で行きます。
気長にお付き合いの程よろしくお願いします。
2020/07/05(日) 20:41:58.95ID:shdjYd8X
MicroSDというマジでゴキブリのように小さい記憶媒体が量販店や
携帯ショップで馬鹿みたいな値段で売られていて、
それを使うとスマホにファイルを転送できるらしい。
パソコンでMicroSDを読み書きできない場合は別途カードリーダーが必要。
アンスタでAPKというファイルを作ってスマホでAPKファイルを実行すると
自作のプログラムが動くらしい。
2020/07/07(火) 02:36:29.50ID:wqab1oeP
>>651
残念ながら手持ちの実験用Nexus5はSDカードスロットございませんです。
とりあえず二日目としてAVDヴァーチャルデヴァイスで動作出来ました。
https://i.imgur.com/SZjbcQx.png
2020/07/07(火) 02:39:15.52ID:wqab1oeP
一部分抜粋
<LinearLayout
 android:layout_width="match_parent"
 android:layout_height="56dp"
 android:orientation="horizontal">

 <TextView
  android:id="@+id/textView1"
  android:layout_width="181dp"
  android:layout_height="match_parent"
  android:layout_weight="1"
  android:text="身長[cm]"
  app:autoSizeTextType="uniform" />

 <TextView
  android:id="@+id/textView2"
  android:layout_width="184dp"
  android:layout_height="match_parent"
  android:layout_weight="1"
  android:text="体重[kg]"
  app:autoSizeTextType="uniform" />
</LinearLayout>
2020/07/07(火) 02:40:53.03ID:wqab1oeP
一部分抜粋
<LinearLayout
 android:layout_width="match_parent"
 android:layout_height="75dp"
 android:orientation="horizontal">

 <EditText
  android:id="@+id/editTextNumber1"
  android:layout_width="wrap_content"
  android:layout_height="74dp"
  android:layout_weight="1"
  android:ems="10"
  android:inputType="number" />

 <EditText
  android:id="@+id/editTextNumber2"
  android:layout_width="wrap_content"
  android:layout_height="match_parent"
  android:layout_weight="1"
  android:ems="10"
  android:inputType="number" />
</LinearLayout>

<LinearLayout
 android:layout_width="match_parent"
 android:layout_height="96dp"
 android:orientation="horizontal">
2020/07/07(火) 02:41:54.70ID:wqab1oeP
一部分抜粋
 <Button
  android:id="@+id/button"
  android:layout_width="wrap_content"
  android:layout_height="65dp"
  android:layout_weight="1"
  android:text="計算" />
</LinearLayout>

<LinearLayout
 android:layout_width="match_parent"
 android:layout_height="58dp"
 android:orientation="horizontal">

 <TextView
  android:id="@+id/textView3"
  android:layout_width="111dp"
  android:layout_height="match_parent"
  android:text="BMI"
  app:autoSizeTextType="uniform"
  app:fontFamily="sans-serif" />

 <TextView
  android:id="@+id/textView4"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:layout_weight="1"
  android:text=""
  app:autoSizeTextType="uniform" />

</LinearLayout>
2020/07/07(火) 02:42:58.10ID:wqab1oeP
//Mainctivity.kt
package com.example.myapplicationbmi
import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*
import java.lang.String
class MainActivity : AppCompatActivity() {

 override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.activity_main)
// ボタンを設定してリスナー登録
  val button = findViewById<Button>(R.id.button) as Button
  button.setOnClickListener {
   // エディットテキストのテキストを取得してダブル化
   val tall = editTextNumber1.text.toString().toDoubleOrNull()
   val weight = editTextNumber2.text.toString().toDoubleOrNull()
   if(tall != null || weight != null){
    val BMI = calcBMI(tall as Double, weight as Double)
    textView4.text = String.format("%.1f", BMI)
   }
  }
 }
 // BMI算出ファンクション
 private fun calcBMI(h: Double, w: Double): Double {
  // BMI = 体重 ÷ (身長 x 身長)
  var bmi = 0.0
  if (w > 0 && h > 0) bmi = w / (h * h) * 10000
  return bmi
 }
}
2020/07/07(火) 02:48:56.15ID:wqab1oeP
はじめなのでプログラム書き込んどきます
A抜けたけど,ま、わかるしえっか。今日はここまで。
656>>MainActivity.kt
2020/07/07(火) 06:52:55.70ID:YPP/JOUR
次の課題は>>429の亀の軌跡
AndroidアプリのKotlinでタートルグラフィックス予定
1.まずKotlinでcanvasの方法調べる
2.次にKotlinのclass定義
3.そしてKotlinでのリカーシブルアルゴリズム
2020/07/07(火) 12:42:43.99ID:B3wdX0RI
SDカードが使えないなら、インターネット経由で入れるしかないかな。
2020/07/07(火) 16:08:23.97ID:B3wdX0RI
USB type C接続でパソコンとつないだらファイル読み書きできるかな?
2020/07/07(火) 19:23:39.29ID:uexhphk9
>>659
ありがとうございます。アンスタから無線LANで転送した事無いのでわかりません
>>660
古いAndroid5.01のスマホなのでmicro USB Type-Bのデータ転送ケーブルを使用して接続します。
2020/07/07(火) 21:17:45.04ID:ySP0lcXW
アンスタ3日目【課題】タートルグラフィックス

[Android & Kotlin] 円や矩形を描画するCanvas
https://akira-watson.com/android/kotlin/canvas.html
を参考に
3.1 kotlinでCanvas にランダムライン描画実行出来ました。
import android.content.Context
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Paint
import android.util.DisplayMetrics
import android.view.View
import java.util.Random
class MainActivity : AppCompatActivity() {
 override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.activity_main)
  val myView = MyView(this) //レイアウトXMLファイルなし
  setContentView(myView)
 }
 // Viewを継承したクラス
 internal inner class MyView(context: Context) : View(context) {
  private var paint: Paint = Paint()
  private val dp: Float
  init { // スクリーンサイズからdipのようなものを作る
   val metrics = DisplayMetrics()
   windowManager.defaultDisplay.getMetrics(metrics)
   dp = resources.displayMetrics.density
  }
2020/07/07(火) 21:20:52.29ID:ySP0lcXW
アンスタ3日目【課題】タートルグラフィックス
3.1kotlinでCanvas にランダムライン描画続き

override fun onDraw(canvas: Canvas){// Canvas Background Color
   canvas.drawColor(Color.argb(255, 0, 100, 125))
   // Canvas center point
   var xc = (width / 2).toFloat() ; var yc = (height / 2).toFloat()
   paint.color = Color.argb(255, 0, 255, 100) // 色
   paint.strokeWidth = 10f // 太さ
   val random = Random()
   fun Rand(from: Int, to: Int) : Int {
    return random.nextInt(to - from) + from
   }
   for(i in 1..60){
    val rndx = xc + Rand(-30,30)*dp as Float
    val rndy = yc + Rand(-30,30)*dp as Float
    canvas.drawLine(xc , yc, rndx, rndy, paint)
    xc=rndx; yc=rndy
   }
  }
 }
}
以上
https://i.imgur.com/c9KoFhi.png
2020/07/08(水) 07:07:28.22ID:yrsbI81q
>>658
アンスタ4日目【課題】タートルグラフィックス
3.2.次にKotlinのclass定義
が良くわからない、Kotlinの外部クラスでつくるのかインナークラスでつくるのか・・
タートルクラスのメンバーやらメソッドやらも
どのように定義すべきか不明ちょっと詰まりそう・・

class Turtle(){
var angle: Int = 0
var x: Int = 0
var y: Int = 0

fun walk(){ //?}
fun turn(){ //?}
}
2020/07/08(水) 09:56:03.73ID:wtc6YQgJ
「Kotlin 構造体 追加」で検索!

https://techacademy.jp/magazine/19797
データクラスというのが出てきたよ。
2020/07/08(水) 09:58:00.62ID:wtc6YQgJ
クラス
https://qiita.com/y-some/items/286fb15fe8e0bd9aa5ef
2020/07/08(水) 10:40:09.74ID:a07Dea5F
>>665
ありがとうございます。以下読書中

Android Studioで始めるKotlin入門(4):
Kotlinにおけるクラス
https://www.atmarkit.co.jp/ait/spv/1804/02/news009.html
2020/07/08(水) 11:03:15.62ID:a07Dea5F
>>666
そのページは複雑過ぎてちんぷんかんぷんです。

data class Point ( var x = 0.0, var y = 0.0 )

class Turtle (var angle =0, var now = Point() ) {
  fun turn(a){ angle = a }
  fun walk(b, c){ now = (b, c) }
}
で良いのかな?何か違うような?よう分からんわ
2020/07/08(水) 16:45:59.53ID:fZdxMqQA
タートルグラフィックのタートルの意味がわかってない?

タートル(亀)は位置と向きの情報を持っていて、前進すると、その向きに進む。
向きを変えるのも相対的な角度で指定する。
三角関数を知らないと難しいかもしれん。
2020/07/08(水) 17:23:26.68ID:fZdxMqQA
例えば、亀が原点(0, 0)に居て、x軸から+30度の方向に5だけ進むと、亀の位置は(5*cos(π/3), 5*sin(π/3))となる。ここまでOK?
2020/07/08(水) 17:24:58.07ID:fZdxMqQA
訂正。例えば、亀が原点(0, 0)に居て、x軸から+30度の方向に5だけ進むと、亀の位置は(5*cos(π/6), 5*sin(π/6))となる。ここまでOK?
2020/07/08(水) 18:10:48.71ID:1+QAm8uv
ありがとうございます。三角関数懐かしいです。
難しいですね。高校数学でしたか
タートルグラフィックスプログラムの肝は
デカルト直行座標系と極座標変換なのですね。
ちょっと復習してます。
なので取り敢えず直行座標と極座標が混ざってるから
  fun walk(b, c){ now = (b, c) }

これ間違いだね、必要なのは距離だけだね

  fun walk(b:Double){
  now.x = (b*math.cos(π/6)
  now.y = (b*math.sin(π/6))
}
こうかな?まだまだエラーだらけでコンパイル通らないけど、
あと角度を反映させないとなぁ・・
2020/07/08(水) 18:21:22.13ID:1+QAm8uv
>>663は角度使わずになんとか出来たけど
自分で出した課題とはいえヤバみ難しい
2020/07/08(水) 18:43:15.58ID:fZdxMqQA
カメが(x0, y0)に居て、向きがtで、r進むとすれば、
(x0 + r*cos(t), y0 + r*sin(t))
だろうよ。
2020/07/08(水) 18:53:13.74ID:wtc6YQgJ
ここで向きtは、ラジアン単位で、一般角に拡張可能。
2020/07/08(水) 19:03:19.99ID:ZRZW4sA4
>>674
ありがとうございます。
どうにかエラーなく動きはしたものの
距離も角度もおかしい
https://i.imgur.com/ZDEsXVD.png

override fun onDraw(canvas: Canvas){// Canvas Background Color
 canvas.drawColor(Color.argb(255, 0, 128, 128))
 // Canvas center point
 val xc = (width / 2).toDouble() ; val yc = (height / 2).toDouble()
 paint.color = Color.argb(255, 0, 250, 0) // 色
 paint.strokeWidth = 10f // 太さ

 data class Point(var x: Double = 0.0, var y: Double =0.0 )

 class Turtle(var angle: Int =0, var now: Point = Point()){
  fun turn(a:Int){angle=a}
  fun walk(b:Double){
    now.x = b * Math.cos( Math.PI/6 ) //30°
    now.y = b * Math.sin( Math.PI/6 )
   canvas.drawLine(xc.toFloat(), yc.toFloat(),now.x.toFloat(),now.y.toFloat(),paint)
  }
 }
 val t = Turtle(0, Point(xc,yc) )
 t.walk(5.0)
}
2020/07/08(水) 19:18:13.40ID:wtc6YQgJ
現在のスマホの画面は超高精細だから、5ピクセルだとほとんどゼロに近く見える。
(0,0)と画面の中心点を線で結んだようなもの。
300ピクセルぐらいにしたらどうか。
あと、相対位置だから、現在位置を足さないとおかしいよ。
2020/07/08(水) 19:36:25.01ID:ZRZW4sA4
>>677
んーなるほど、ちょっと修正してみます
2020/07/08(水) 19:46:48.79ID:ZRZW4sA4
おおっ、それっぽくなって、少し近づきました
class Turtle(var angle: Int =0, var now: Point = Point()){
    fun turn(a:Int){angle=a}
    fun walk(b:Double){
      var x2 = now.x + b * Math.cos( Math.PI/6 ) //30°
      var y2 = now.y + b * Math.sin( Math.PI/6 )
     canvas.drawLine(now.x.toFloat(),now.y.toFloat(), x2.toFloat(),y2.toFloat(),paint)
    }
   }
   val t = Turtle(0, Point(xc, yc) )
   t.walk(300.0)

https://i.imgur.com/PMjOn03.png
今日はここまでにします。ありがとうございました。
2020/07/08(水) 20:53:39.77ID:wtc6YQgJ
角度を見ると、y軸が下向きに見えるね。左上が(0, 0)。
walkは、現在位置を更新する必要がある。
turnは相対角度で指定するのだろう。
2020/07/08(水) 22:27:34.74ID:WById5/p
あーWebページと同じディスプレイ座標系って
Y軸下向き+か、引き算かな?めんどくせー

var y2 = now.y + b * Math.sin( Math.PI/6 )

var y2 = now.y − b * Math.sin( Math.PI/6 )

ですね。また、明日修正しよう
2020/07/08(水) 23:35:15.25ID:uxkKxnC4
>>675
メモ、多分、角度からラジアン関数にする
math.toRadian()を使う は ず
  now.x = b * Math.cos( Math.PI/6 ) //30°

now.x = b * Math.cos( math.toRadian(30) ) //30°

angleてInt型でええんかな?doubleにしてからfloatか?
また明日
2020/07/09(木) 18:17:31.73ID:YMHQKg0a
>>680
相対角度と現在地更新に修正して出来ました。ありがとうございます

//構造体データクラス
 data class Point(var x: Double = 0.0, var y: Double =0.0 )
//タートルクラス
 class Turtle(var angle: Double = 0.0, var now: Point = Point()){
  fun turn(a:Int){angle += a} //+=相対角度
  fun walk(b:Double){
    var x2 = now.x + b * Math.cos( Math.toRadians(angle) )
    var y2 = now.y - b * Math.sin( Math.toRadians(angle) )//Y軸下向き+の為引き算
   canvas.drawLine(now.x.toFloat(),now.y.toFloat(), x2.toFloat(),y2.toFloat(),paint)
   now.x=x2 ; now.y=y2 //現在地更新
  }
 }
 val t = Turtle(0.0, Point(xc,yc) )
 t.walk(300.0)
 t.turn(120)
 t.walk(300.0)
 t.turn(120)
 t.walk(300.0)

https://i.imgur.com/It79sWl.jpg
2020/07/09(木) 18:25:47.94ID:2UhyUN9n
http://www.f.waseda.jp/sakas/java/JavaGraphicsSample.html

これを参考に何か変わった模様を描いてくれるか?
2020/07/09(木) 18:45:23.44ID:YMHQKg0a
多角形描いてみたらズレてますけど、さらっと行きたかったんで、まいっか。

val t = Turtle(0.0, Point(xc,yc) )
for(n in 3..12) { //多角形ポリゴン
 t.angle=0.0 ; t.now=Point(xc*2/3,20*n + yc*3/2)
 for(j in 1..n) {
  t.walk(300.0) ; t.turn(360/n)
 }
}
https://i.imgur.com/G0Cf1eQ.jpg

次はこれ使って【3.3】再帰呼び出しリカーシブに挑戦だ
2020/07/09(木) 18:49:40.73ID:YMHQKg0a
>>684
ありがとうございます。。。ウーン
拡大率とかリストとかないけどなんとかがんがってみます
2020/07/09(木) 18:54:24.79ID:2UhyUN9n
angleが整数だと誤差が大きいんじゃないか?
2020/07/09(木) 19:02:15.05ID:2UhyUN9n
360/n
これは整数除算。
360.0/n
こうすれば実数の割り算になる。
2020/07/09(木) 19:23:07.51ID:YMHQKg0a
>>684
コッホ曲線描けました。ほとんどコピペですが。。。向きが逆とか・・

val t = Turtle(60.0, Point(xc, yc) )

fun Kochsub(degree:Int, step:Double) {
if (degree == 0) {
t.walk(step);
// walk の始点と終点を結ぶ線分を描く
} else {
Kochsub(degree - 1, step/3);
t.turn(-60);
Kochsub(degree - 1, step/3);
t.turn(120);
Kochsub(degree - 1, step/3);
t.turn(-60);
Kochsub(degree - 1, step/3);
}
}
Kochsub(4, 600.0)

https://i.imgur.com/ir9iJQy.jpg
2020/07/09(木) 19:29:56.05ID:YMHQKg0a
>>687->>688
ありがとうございます。ほんとですねきれいになりました。
https://i.imgur.com/qrQbkXQ.png
2020/07/09(木) 19:36:51.16ID:2UhyUN9n
>>689
turnの符号を反転すれば逆向きになる。
たぶん、y軸の向きを変えたせいだろう。
2020/07/09(木) 19:47:43.68ID:YMHQKg0a
>>691

OKでーす。
https://i.imgur.com/uH3uJCM.png

val t = Turtle(0.0, Point(xc-450, yc) )

fun Kochsub(degree:Int, step:Double) {
if (degree == 0) {
t.walk(step);
// walk の始点と終点を結ぶ線分を描く
} else {
Kochsub(degree - 1, step/3.0);
t.turn(60.0);
Kochsub(degree - 1, step/3.0);
t.turn(-120.0);
Kochsub(degree - 1, step/3.0);
t.turn(60.0);
Kochsub(degree - 1, step/3.0);
}
}
Kochsub(4, 900.0)


すみませが、今日はこの辺で、他のも試してみたいと思います
2020/07/10(金) 22:26:59.64ID:BolrKhEx
今日は体調不良の為
前日のコッホ曲線のランダムバージョンのみで終わります。
https://i.imgur.com/IFuWAAe.png
2020/07/11(土) 10:41:29.52ID:Rtii2xnW
コピペで一部分しか書き換えてないし
複数の図形を切り替えるのどうすれば良いのだろう?
2020/07/11(土) 15:01:20.95ID:L5LJscxh
誠に残念ですが1週間程は体調が良くなる目処がたちませんので
回復したらまたやり始めるかもわかりませんが
本件は一旦閉じます。
短い間でしたがお付き合いいただきましてありがとうございました。
2020/07/11(土) 15:02:33.78ID:T2hwfIgh
キャンバスに対して描画関数を呼び出せば、描画できる。複数個描画したいなら、複数回呼び出せばいい。切り替えには、ボタンやフラグ変数などを使えばいい。
2020/07/11(土) 15:03:36.84ID:T2hwfIgh
>>695
どうも。体調がよくなったら凄いアプリ作ろうね。
2020/07/11(土) 20:01:32.95ID:weGbEKfC
パソコンに向かえないのでスマホでちょこちょこ検索したのをメモしたりはするかもです

ViewPager を使用してタブ付きスワイプビューを作成する

https://developer.android.com/guide/navigation/navigation-swipe-view?hl=ja#kotlin

【はじめてのAndroidアプリ開発】タブ機能を使う

https://youtu.be/CmYFQej_RSA
2020/07/16(木) 23:46:24.19ID:Tv2xtriA
とりあえずアプリ作れてる?
2020/07/19(日) 22:47:30.71ID:br4B5oLD
>>699
いいえ、あれっきり、まるっきし、ダメです。
復習程度にC曲線?みたいなのだけで、進展なしです。
https://i.imgur.com/Ni9KzDJ.png
以上。
2020/07/19(日) 22:53:41.01ID:T8vbWyFG
一つひとつはつまらないかも知れないが、ボタンを押したら画像を切替えるとか、パラメータを指定すると変化させるとか、
いろんなバリエーションが考えられるよ。つまらないならタートルをやめてもいいし。
2020/07/20(月) 00:35:58.30ID:GZKXIxHw
>>1から見ていったら途中で2年くらい飛んでてわろたw
2020/07/20(月) 23:24:10.91ID:5ka8Ymx5
>>701
別にタートルグラフィックスがつまらないわけじゃないんだ
僕がつまらい人間なんだよ。。。
ドラゴン曲線もやってみたよ。
https://i.imgur.com/eeLF5Gt.png
ドラゴン曲線ランダムバージョン
https://i.imgur.com/a1crJqx.png
2020/07/20(月) 23:33:37.88ID:6GFyBW1T
ボタンを押したらフラグ変数を更新して、フラグ変数を元に再描画までやってみようか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況