トップ 最新 追記

GREEN HARMONY 手記

アニメ、ドラマ、音楽、読書、プログラミングのメモ等

朝ドラは「おかえりモネ」から視聴開始。過去作も少しずつ見始めています。

好きなアニメ: 響け!ユーフォニアムちはやふる

音楽:吉田拓郎、浅川マキ 他

外国語学習:基本文法から学ぶ 英語リーディング教本 (薬袋善郎 著),フランス語のしくみ(佐藤康 著) カラー改訂版 まるおぼえ英単語2600(小倉弘 著),基礎がため 一生モノの英文法 BASIC(澤井康佑 著)世界一簡単なフランス語の本 すぐに読める、読めれば話せる、話せば解る! (中条省平 著)

本ページはプロモーションが含まれています

訪問者数

合計: 今日: 昨日:

プライバシーポリシー
検索キーワード:

2020年04月02日 smalltalkでプログラミング20200402 [長年日記]

smalltalkプログラミング

Squeak Workspaceにて実行

| aMorph colorList w h |
colorList := #('#9370DB' 'red' 'orange' 'yellow' 'green'
 'blue' '#000080' '#800080' '#808000').
w := 50.
h := 50.
aMorph := Morph new.
aMorph wrapCentering: #center.
aMorph listCentering: #center.
aMorph layoutPolicy: TableLayout new.
aMorph listDirection: #bottomToTop.
aMorph color: Color white.
aMorph position: 500@100.
aMorph extent: 200@600.
colorList do: [:each |
	| bMorph |
	bMorph := Morph new.
	bMorph color: (Color fromString: each).
	bMorph extent: w@h.
	aMorph addMorph: bMorph.
].
aMorph openInWorld "do it"

画像の説明


2020年04月06日 smalltalkでプログラミング20200406 [長年日記]

smalltalkプログラミング

Squeak Workspaceにて実行

| fm pen rx ry w x y angle |
rx := 100.
ry := 100.
w := 50.
angle := -90.
fm := Form extent: 200@200 depth: Display depth.
fm fillColor: Color white.
pen := Pen newOnForm: fm.
pen defaultNib: 2.

pen color: Color blue.

2 to: 7 do: [:i |
	pen goto: rx@ry.
	x := w * ((angle * (Float pi/180)) cos) + rx.
	y := w * ((angle * (Float pi/180)) sin) + ry.
	pen goto: x@y.
	angle := angle - 60.
	x := w * ((angle * (Float pi/180)) cos) + rx.
	y := w * ((angle * (Float pi/180)) sin) + ry.
	pen goto: x@y.
].
fm asMorph openInWorld

画像の説明


2020年04月07日 smalltalkプログラミング20200407 [長年日記]

smalltalkプログラミング

Squeak Workspaceにて実行

| fm pen colorList  |
colorList := #('#9370DB' 'red' 'orange' 
'yellow' 'green' 'blue' '#000080' '#800080' '#808000').
fm := Form extent: 200@200 depth: Display depth.
fm fillColor: Color white.
pen := Pen newOnForm: fm.
pen defaultNib: 1.
pen place: 100@100.
2 to: 7 do: [:i |
	| w aColor |
	aColor := Color fromString: (colorList at:i).
	pen color: aColor.
	w := 50.
	pen fill: [:each |
		i = 2 ifFalse:[ each turn: 180.].
		each go: w.
		2 timesRepeat: [each turn: -120; go: w.
		]]
		color: aColor.
		].
fm asMorph openInWorld

画像の説明


2020年04月08日 smalltalkでプログラミング20200408 [長年日記]

smalltalkプログラミング

Squeak Workspaceにて実行

| fm pen colorList angle arr parr w |
colorList := #('#9370DB' 'red' 'orange' 'yellow' 'green' 'blue'
 '#000080' '#800080' '#808000').
fm := Form extent: 500@500 depth: Display depth.
fm fillColor: Color white.
pen := Pen newOnForm: fm.
w := 20.
pen defaultNib: w.
pen place: 160@330.
parr :=
	 {
	0@0 .
	-1@ -1 .
	-1@1 .
	1@1 .
	1@0 .
	0@ -2 .
	-2@0 .
	0@ 2 .
	2@1 .
	1@ -3 .
	-3@ -1 .
	-1@3
	}.
arr := #(9 1 2 3 4 5 6 7 8).
angle := 90.
1 to: 12 do: [:i |
	i = 2 ifTrue: [ angle := -90].
	pen place: (pen location + ((parr at: i)*(w@w))).
	pen turn: angle.
	arr do: [:n |
		pen color: (Color fromString: (colorList at:n)).
		pen go: w.
		
	].
	pen color: (Color fromString: 'white').
	pen go:w.
	arr := arr collect: [:n |  n * 2 - 1 \\ 9 + 1]. 
].
fm asMorph openInWorld

画像の説明


2020年04月09日 smalltalkでプログラミング20200409 [長年日記]

smalltalkプログラミング

Squeak Workspaceにて実行

| aMorph gMorph sMorph colorList pdict |
colorList := #('#9370DB' 'red' 'orange'
 'yellow' 'green' 
'blue' '#000080'
 '#800080' '#808000' ).

aMorph := Morph new.
aMorph position: 500@500.
aMorph extent: 300@300.
aMorph color: Color white.

pdict := Dictionary new.
pdict at:7 put: -70@36. 
pdict at:2 put: -70@ -36.
pdict at:8 put: 0@ -78.
pdict at:3 put: 36@ -70.
pdict at:9 put: 70@ -36.
pdict at:4 put: 70@36.
pdict at:6 put: 0@78.
pdict at:1 put: -36@70.


gMorph := CircleMorph new.
gMorph bounds: (0@0 corner: 200@200).
gMorph color: Color white.
gMorph borderWidth: 3.
gMorph borderColor: (Color fromString: '#DAA520').
aMorph addMorphCentered: gMorph. 

sMorph := CircleMorph new.
sMorph bounds: (0@0 corner: 72@72).
sMorph color: (Color fromString: '#DAA520').
sMorph borderWidth: 3.
sMorph borderColor: (Color fromString: '#DAA520').
aMorph addMorphCentered: sMorph. 


{-78@0 . 78@0 . -36@ -70 . 36@70} do: [:each |
	| bMorph p |
	bMorph := CircleMorph new.
	bMorph bounds: (0@0 corner: 36@36).
	bMorph color: (Color fromString: (colorList at:5)).
	bMorph borderColor: (Color fromString: (colorList at:5)).
	p := bMorph extent // 2.
	bMorph position: (aMorph bounds center - (p + each)).
	aMorph addMorph: bMorph.
].

#(7 2 8 3 9 4 6 1) do: [: n |
	| bMorph p |
	bMorph := CircleMorph new.
	bMorph bounds: (0@0 corner: 36@36).
	bMorph color: (Color fromString: (colorList at:n)).
	bMorph borderColor: (Color fromString: (colorList at:n)).
	p := bMorph extent // 2.
	bMorph position: (aMorph bounds center - (p + (pdict at:n))).
	aMorph addMorph: bMorph.
].

aMorph openInWorld.

画像の説明


2020年04月10日 smalltalkでプログラミング20200410 [長年日記]

smalltalkプログラミング

Squeak Workspaceにて実行

| fm pen ft colorList angle arr parr |
colorList := #('#9370DB' 'red' 'orange' 'yellow'
 'green' 'blue' '#000080' '#800080' '#808000').
fm := Form extent: 300@300 depth: Display depth.
fm fillColor: Color white.
pen := Pen newOnForm: fm.
pen defaultNib: 1.
ft := StrikeFont familyName: #Atlanta pointSize: 30.
pen place: 100@180.

parr := {0@0 . 5@ -5 . -5@ -5 . 
	-5@5 . 5@20 . 20@ -20 .
	-20@ -20 . -20@20 .
	20@35 . 35@ -35.
	-35@ -35 . -35@35
	}.

arr := #(9 1 2 3 4 5 6 7 8).
angle := 90.
1 to: 12 do: [:i |
	i = 2 ifTrue: [ angle := -90].
	pen place: (pen location + parr at: i). 
	pen turn: angle.
	arr do: [:n |
		pen color: (Color fromString: (colorList at:n)).
		pen print: n asString withFont: ft.
	].
	arr := arr collect: [:n |  n * 2 - 1 \\ 9 + 1]. 
].
fm asMorph openInWorld

画像の説明


2020年04月11日 Rubyでプログラミング20200411 [長年日記]

Ruby でプログラミング

今日の光暦(40日暦)と宇宙暦を表示

hikari.rb

# coding: utf-8
def hikari n
  a = n % 9
  if a == 0
    9
  else
    a
  end
end


$name =
	{1=>'ちり',2=>'あか',3=>'オレンジ',4=>'きい',5=>'みどり',
	6=>'あお',7=>'あい',8=>'むらさき',9=>'みよ'}
	
$name_en =
	{
	  1=>'dust (amethyst)', 
	  2=>'red', 
	  3=>'orange', 
	  4=>'yellow', 
	  5=>'green', 
	  6=>'blue', 
	  7=>'indigo', 
	  8=>'purple', 
	  9=>'look (olive)'
	}

cal40.rb (40日暦)

# -*- coding: utf-8 -*-


require 'date'


def cal40 date
  ary = []
  (1 .. 9).each {|mm|
    max = 
    if mm.odd?
      41
    else
      if mm == 2 and date.leap?
        41
      else
        40
      end
    end
    
    (1 .. max).each {|dd|
      ary << [mm,dd]
    }
  }
  ary
end

2.rb (表示するプログラム)

# coding: utf-8
require 'date'
require './cal40'
require './hikari'

aDate = Date.today


print aDate.iso8601,"\n"

ary = cal40 aDate

lightmd = ary[aDate.yday-1]

print "光暦 (40日暦) #{lightmd[0]}月#{lightmd[1]}日\n"

mon1 = hikari(aDate.month)
day1 = aDate.day
if day1 < 10
  day1 += 90
else
  #if (day1 % 10) == 0
  #  day1 += 9
  #end
  if (day1 % 10) == 0
    day1 = (day1 / 10) + 90
  end

end

print "宇宙暦 "
print [mon1,day1].join,"\n"

実行

% ruby 2.rb 
2020-04-11
光暦 (40日暦) 3月20日
宇宙暦 411

2020年04月14日 smalltalkでプログラミング20200414 [長年日記]

smalltalkプログラミング

Squeak Workspaceにて実行

| fm pen colorList  |
colorList := #('#9370DB' 'red' 'orange' 
'yellow' 'green' 'blue' '#000080' 
'#800080' '#808000').
fm := Form extent: 200@200 depth: Display depth.
fm fillColor: Color white.
pen := Pen newOnForm: fm.
pen defaultNib: 4.
pen color: (Color fromString: (colorList at: 5)).
pen place: 100@50.
pen  turn: -160; go: 100.
4 timesRepeat: [pen  turn: -144; go: 100].
fm asMorph openInWorld

画像の説明