Socket.IOは、イベントベースのリアルタイム双方向通信を可能にします。
このページ、https://socket.io/get-started/chat/は、非常に良い出発点になるでしょう。
私の意図としては、私のIC-7410制御プログラムを書き直して、ウェブベースのサービスを実現したいのです。
Ham Radio Blog
Socket.IOは、イベントベースのリアルタイム双方向通信を可能にします。
このページ、https://socket.io/get-started/chat/は、非常に良い出発点になるでしょう。
私の意図としては、私のIC-7410制御プログラムを書き直して、ウェブベースのサービスを実現したいのです。
Republican Sen. John McCain at time 00:40.
“A long time ago, honestly, I’ve stopped reacting to everything that the President has stated and try to work on the issues and the people who he is going to surround himself with, who I am very pleased with as far as national security is concerned.”
http://edition.cnn.com/2017/01/24/politics/mccain-no-evidence-of-illegal-voting-cnntv/index.html
http://www.nbcnews.com/meet-the-press/video/conway-press-secretary-gave-alternative-facts-860142147643
Washington (CNN) — White House press secretary Sean Spicer’s false claims about the size of the crowd at President Donald Trump’s inauguration were “alternative facts,” a top Trump aide said Sunday.
https://www.theatlantic.com/politics/archive/2017/01/inauguration-crowd-size/514058/
まあ、予想されたことではありますが。。
私たちにとって馴染み深い単語や語句でCOCAを試してみましょう。
検索結果は3つしかありませんが、そのうちの2つは非常に興味深いです。
I didn’t like this guy because he used a Vibroplex semi-automatic speed key and sent his messages too fast. He had a lousy ” fist. ” His dashes were too short — you could easily take them for dots — and his spacing between word groups was erratic. He also bragged too much about his rig. A thousand watts generated by a pair of big Eimac tetrodes in the final amplifier. Anybody could do that if they had the money.
He told me that since his stroke, he’d felt as if he were trapped in the radio room with the door locked from the outside. The receiver was still working, but the transmitter was broken. He couldn’t talk back to anyone. He’d been tapping away with a spoon for days, even though he’d given up hope of being ” rescued. ” Paralysis of his right side had prevented him from writing any messages. # I brought to the hospital an old Vibroplex Sidewinder telegraph key, which was Harry’s favorite for sending Morse code. Harry had spent a good part of his life on oceangoing freighters as a radiotelegraph operator. He told me a story of something that had happened at sea several days before the attack on Pearl Harbor.
COCA, the Corpus of Contemporary American English,は無料で得られる最大の英語のコーパスです。
あなたの探したいフレーズを入力すると、直ちに結果が得られます。
素敵なアニメーションはまだありませんが、プレイをすることが可能です。
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { guard let touch = touches.first else { return } let location = touch.location(in: cookiesLayer) let (success, col, row) = convertPoint(location) if success { if level.getTableAt(col: col, row: row) == 0 { // an empty place is selected, so highlight it. rowSelected = row colSelected = col if selectedSprite != nil { selectedSprite.run(SKAction.removeFromParent()) } selectedSprite = SKSpriteNode(imageNamed: "Undef-Highlighted") selectedSprite.size = CGSize(width: TileWidth, height: TileHeight) selectedSprite.position = pointFor(col: colSelected, row: rowSelected) selectedLayer.addChild(selectedSprite) showCandidate(col: colSelected, row: rowSelected) } else if row == 10 { // number selected numberSelected = true numberToMove = col + 1 if level.isSafeForNum(col: colSelected, row: rowSelected, num: numberToMove) { level.setTableAt(col: colSelected, row: rowSelected, val: numberToMove) let sprite = SKSpriteNode(imageNamed: spriteNames[numberToMove]+"-Highlighted") sprite.size = CGSize(width: TileWidth, height: TileHeight) sprite.position = pointFor(col: colSelected, row: rowSelected) userLayer.addChild(sprite) level.setTableAt(col: colSelected, row: rowSelected, val: -numberToMove) if selectedSprite != nil { selectedSprite.run(SKAction.removeFromParent()) } } } else if level.getTableAt(col: col, row: row ) < 0 { // cancel move rowSelected = row colSelected = col level.setTableAt(col: col, row: row, val: 0) let location = touch.location(in: self) let sprite: SKNode? = atPoint(location) sprite?.run(SKAction.removeFromParent()) if selectedSprite != nil { selectedSprite.run(SKAction.removeFromParent()) } selectedSprite = SKSpriteNode(imageNamed: "Undef-Highlighted") selectedSprite.size = CGSize(width: TileWidth, height: TileHeight) selectedSprite.position = pointFor(col: col, row: row) selectedLayer.addChild(selectedSprite) showCandidate(col: col, row: row) } } }
プログラムは、非常に美しくありません。
空白の場所をクリックすると、そこに入れることのできる数字が表示されます。
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { guard let touch = touches.first else { return } let location = touch.location(in: cookiesLayer) let (success, column, row) = convertPoint(location) if success && level.tableAt(column: column, row: row) == 0 { if row_touchedb4 >= 0 { // not the first time, recover to the original state let num = level.tableAt(column: column_touchedb4, row: row_touchedb4) print(row_touchedb4, column_touchedb4, num) let sprite = SKSpriteNode(imageNamed: spriteNames[num]) sprite.size = CGSize(width: TileWidth, height: TileHeight) sprite.position = pointFor(column: column_touchedb4, row: row_touchedb4) cookiesLayer.addChild(sprite) selectionSprite.run(SKAction.removeFromParent()) } column_touchedb4 = column row_touchedb4 = row let location = touch.location(in: self) let sprite: SKNode? = atPoint(location) sprite?.run(SKAction.removeFromParent()) selectionSprite = SKSpriteNode(imageNamed: "Undef-Highlighted") selectionSprite.size = CGSize(width: TileWidth, height: TileHeight) selectionSprite.position = pointFor(column: column, row: row) cookiesLayer.addChild(selectionSprite) showCandidate(column: column, row: row) }
プログラムは、まだまだ改良の余地があります。