福野泰介の一日一創 - create every day

Presentation Shield & simple 3x3 puzzle for IchigoJam

2017/01/31
#game #KidsIT #IchigoJam #sabae #english 

I showed presentation about programs of the club of Sabae Junior Highschool (鯖江中学校).
It's very fun! Thank you!!


One of presentations. I understood students like to combine games!


I made a presentaiton shield for IchigoJam for quick preparations.


It was made by IchigoJam parts without CPU and long pin socket.


I was asked a question to make puzzle.

So I made a sample 3x3 puzzle.

10 CLS:FOR I=0 TO 7:LC I%3,I/3:?I+1:NEXT 20 X=2:Y=2:FOR I=1 TO 200:K=RND(4)+28:GOSUB 60:NEXT:CLT 30 LC X,Y:?"*" 40 F=0:FOR I=0 TO 7:F=F+(SCR(I%3,I/3)=I+49):NEXT:IF F=8 LC0,4:?"CLEAR! TIME:";TICK()/60;"s":PLAY"O5E16E":END 50 K=INKEY():GOSUB 60:GOTO 30 60 LC X,Y 70 X=X-(K=28)*(X>0)+(K=29)*(X<2):Y=Y-(K=30)*(Y>0)+(K=31)*(Y<2) 80 ?CHR$(SCR(X,Y)):RETURN

Let's try!

IchigoJam beta supported Wii Nunchuck via I2C

2017/01/25
#IchigoJam #KidsIT #game #english 

I love Wii Remocon & Wii Nunchuck! It's great usability!
At last IchigoJam supports Wii Nunchuck via I2C pins.

This is a sample program.
Let's make games, robots and tools using Wii Nunchuck!

100 GSB @NCINIT 110 @LOOP 120 GSB @NCGET 130 ?DEC$(X,3),DEC$(Y,3),Z,DEC$(A,4),DEC$(B,4),DEC$(C,4) 140 GOTO @LOOP 400 @NCINIT 410 POKE#700,#F0,#55:IF I2CW(#52,#700,2,#700,0) ERR 420 POKE#700,#40,0:IF I2CW(#52,#700,2,#701,0) ERR 430 RTN 500 @NCGET 510 IF I2CW(#52,#701,1,#701,0) ERR 520 IF I2CR(#52,#701,0,#702,6) ERR 530 X=PEEK(#702):Y=PEEK(#703):Z=PEEK(#707)&3 540 A=PEEK(#704)<<2+Z>>2&3 550 B=PEEK(#705)<<2+Z>>4&3 560 C=PEEK(#706)<<2+Z>>6&3 570 RTN

3 accelerometers are 10bit.
But if it's enough just 8bit, it becomes simpler.

100 GSB @NCINIT 110 @LOOP 120 GSB @NCGET 130 ?DEC$(X,3),DEC$(Y,3),Z,DEC$(A,4),DEC$(B,4),DEC$(C,4) 140 GOTO @LOOP 400 @NCINIT 410 POKE#700,#F0,#55:IF I2CW(#52,#700,2,#700,0) ERR 420 POKE#700,#40,0:IF I2CW(#52,#700,2,#701,0) ERR 430 RTN 500 @NCGET 510 IF I2CW(#52,#701,1,#701,0) ERR 520 IF I2CR(#52,#701,0,#702,6) ERR 530 X=PEEK(#702):Y=PEEK(#703):Z=PEEK(#707)&3 540 A=PEEK(#704):B=PEEK(#705):C=PEEK(#706) 550 RTN

Wii Nunchuck has 2 versions. If yours doesn't work, try this patch

510 POKE#700,#FB,#00:IF I2CW(#52,#700,2,#700,0) ERR

I use the adapter to connect IchigoJam and Wii Nunchuck.

Or connect directly without any adapters!?
"Wii拡張コネクタ - ネットワーク管理者の憂鬱な日常"

links
- IchigoJam-FAN - you can dowload this beta version firmware
- Wii Nunchuk Interface
- IchigoJam

jig.jp 30min programming, live coding on FANLIVE

2017/01/20
#IchigoJam #game #movie #english 

This era everyone can get the power to broadcast everywhere!
I started that on FANLIVE a broadcasting service by our company "jig.jp".
My theme is "30min programming". 30 minutes is a time slot of FANLIVE.
I response as program from viewer's request.

First "jump game" as a request, and a rice ball was selected as the enemy, so we decided to make a diet game.

This program is today's result.

Collaborative creation on live is very fun!

links
- FANLIVE

5 Player's Party Game in SMILE BASIC on Wii U

2017/01/04
#game #english #wiiu 

One of my dream came true!
I wanted to create fun in the party with game I created.
The dreamy tool is "SMILE BASIC on Wii U (プチコンBIG)"
5 players control them character by WiiRemote(Wiiリモコン) the best game control device!
SMILE BASIC on Wii U provide to access to 1 GamePad and 4 WiiRemote very easily.


KAWAKUDARI-MP (Multi player version Rafting game KAWAKUDARI from IchigoJam)
The program in SMILE BASIC is so simple!
KAWAKUDARI - Pubic Key: X33N3R4 (To Download Open Source)


Let's play in the party!


If you get a new idea, you can program there in right now!


BOMBMATCH - Pubic Key: K23343ZJ (To Download Open Source)

Let's create funs by programming!

はじまりはゲーム、ソフトウェアビジネスとDANMAKUオープンデータ - 木更津高専見学旅行 at めがね会館

2016/11/08
#kosen #jig #game #js 

千葉県、木更津高専の見学旅行の目的地のひとつとして鯖江、めがね会館を選んでもらいました!
2グループに別れ、めがね型ストラップづくりjig.jpの会社見学。


テーマはリクエストにお応えして「jig.jpの仕事」
ビジネスとは何か?ソフトウェアビジネスとは何かを具体例と合わせて紹介。


創造はビジネスのはじまり(2012年の一日一創、ゲームというタグをつけたアプリは40コ
私のプログラミング世界への入り口はスーパーマリオ、まずは作りたいものをひたすら作る!


danmaku
前半グループで紹介した2012年の一日一創ゲームから「danmaku」をフルスクリーンで遊べるように手直しして、GitHubにおきました。 fork歓迎、改造歓迎、高専祭で使っても、販売しても、何してもOKなオープンデータ。

IoTVRウェアラブル、広がり続けるコンピューターという道具。
何か創っていて楽しいと思うこと、それはきっと最高の競争力。


来鯖感謝!

クロスワードパズルさくせいスキルをみにつけた!PCNこどもプロコン2016夏ワークショップより「かなひろい」 on IchigoJam

2016/10/29
#IchigoJam #KidsIT #game 

PCNこどもプロコン2016夏表彰式でのお楽しみワークショップ「パズルゲームの作り方」
みんな大好きゲームづくり。今回はパズルゲームの1つ、クロスワードパズルの作り方を学びました!

講師は、パズル作家のてらこさんこと寺崎美保子さん。


ひらがなが1もじずつ書いてあるサイコロ状のブロックを6つ使って、2文字の食べ物単語を3つつくるチャレンジ! なかなか難しくておもしろい!できたら、3文字で2つ。最後は何でもいいから6文字単語をつくってみよう!


「こどもたちはクロスワードパズルさくせいスキルをみにつけた!」
楽しいクロスワードパズルを創るポイントや、テクニック、子供も大人も楽しく真剣に聞いていました。
オリジナルのクロスワードをつくって友達や家族にプレゼントできちゃいますね!


「かなひろい」
カーソルとスペースで文字をひろって、単語ができたらエンターで次の行。
楽しかったかなあそびをIchigoJamでつくってみました。
2台使って同時に対戦したり、タイムを測ったり、文字でいろいろ遊んじゃおう!

1 'KANA HIROI 10 N=6:CLS 20 FOR I=1 TO N 30 FOR J=1 TO 4 40 LC I*4,J*2 50 ?CHR$(177+RND(45)) 60 NEXT 70 NEXT 80 X=0:Y=1:L=0:C=0 90 K=INKEY() 100 X=X-(K=28)*(X&>0)+(K=29)*(X<0)+(K=31)*(Y<4) 120 A=3+X*4:B=Y*2 130 LC A,B:?CHR$(225):WAIT8:LC A,B:?" " 140 IF K=32 LC L+4,C+12:?CHR$(SCR(A+1,B)):L=L+1 150 IF K=8 AND L>0 L=L-1:LC L+4,C+12:?" " 160 IF K=10 C=C+2:L=0 170 GOTO 90


IchigoJamの1画面で収まります。改造して遊んでみよう!


PCNこどもプロコン2016夏!遠方からも多くの子供が来てくれました!


打ち上げでは早速次なる企みが続々決定!次回のPCNこどもプロコンもお楽しみに!

Unicode絵文字を使って手軽なWebアプリづくり「じゅんにおす」

2016/10/26
#js #game 

日本のケータイ絵文字から発展したUnicode、世界標準の文字コードなので世界中のパソコン、スマホで使えます。
Unicode絵文字にプログラマや歌手など11職種が追加、性別も指定可能に。既存33字も性別選択に対応 - Engadget Japanese

そんな絵文字を使ったゲームをつくりまくってる人を発見!
ひとまず1アプリを、スマホでも快適に遊べるように少しいじって、githubにて公開。


じゅんにおす」(src on GitHub)
1から16まですばやくおしましょう!5秒切ったらなかなか、4秒切れたらスゴイ!
ホームへ追加で普通のアプリっぽく並べておけます。

プログラムは、HTML Canvasを使ったJavaScript。
日本語の変数名や関数名を使ったJavaScript日本語プログラミングが新鮮!

function 二次元配列を作れ() { var 配列 = []; for (var i = 0; i < 盤高; i++){ 配列[i] =[]; for (var j = 0; j < 盤幅; j++){ 配列[i][j] = 0; } } return 配列; }

「じゅんにおす」プログラム on GitHub(抜粋)


Unicode絵文字アプリコレクション by Kinoshita
- さめがめ
- まいんすいーぱー
- せいざきごうをえらぶ
- じゃんけんにまける
- じゅんにおす
- はやいくるまをつかまえる
- しんけいすいじゃく
- らいつあうと
- じゅうにしほうい
- ちーずへのねずみをえらぶ
- ミックスジュースシミュレーター
- たこ焼き器
- ヘディング
-

スマホを振るさいころ SmartDice - GitHubとWebアプリ(JavaScript)はじめのいっぽ

2016/08/31
#game #js #kosen 

オープンデータ勉強会では、GitHubからGoogleマップAPIとSPARQLを使うまで一気にやりました。
GitHubではじめるWebアプリづくり「GitHub & マップアプリハンズオン」と4アイデア - 福井県オープンデータ勉強会

手軽で便利だったGitHubのみを、JavaScriptでつくる簡単なさいころWebアプリの改造に絞って「GitHubハンズオン」再構築しました。
高専のクラブ活動などでのプログラミングはじめとしてもおすすめです!


GitHub&Webアプリ(JavaScript)はじめのいっぽ

SmartDiceはスマホで振るさいころ、加速度センサーを使って1.5G以上かかるとくるくると目が変わります。

どのようにスマートにするかは作り手次第!どんどん改造してみましょう!

楽しすぎたケイドロ、IchigoJamでゲーム化!小次郎の里でインターンBBQ

2016/08/28
#game #IchigoJam #kosen #intern 

IoT Hackathonの打ち上げ兼社員交流で、BBQ。
今年の会場は小次郎の里。心配だった雨もほぼ降らず。炎天下ではないので遊ぶにはベスト!

ここで、27年ぶりのケイドロ、楽しすぎた。


BBQも佳境に入ると、おもしろいことになる。焼き鳥&焼きおにぎり祭。


剣豪、佐々木小次郎が必殺技「燕返し」を編み出したとされる場所、一乗滝へプチ遠足。


滝の水は冷たく美しい!


パワーアップしていたさいころコレクション。提供、さいころ部


帰途、さすが元気な18歳!と思ったら、バスでは爆睡だった様子
インターンブログ「←BBQ楽しんできた勢→ - jigintern2016’s diary」


ひさびさのケイドロ、体、頭共に良い運動になって楽しすぎたので、IchigoJamでゲーム化!

まずはカーソルで動く主人公(ケイ)をつくる。"K"はALT+Pで人を出してもいい。

10 X=16:Y=12 20 X=X-BTN(28)+BTN(29) 30 Y=Y-BTN(30)+BTN(31) 40 CLS 50 LC X,Y:?"K" 60 WAIT 3 70 GOTO 20

20行と30行、28〜31が左右上下のカーソルのキーコード。X,Yとマイナスから書くと28〜31まで並ぶので覚えやすい。 忘れてしまったら、?LEFT などでキーコードを確認!チラツキ抑えるコツは、画面表示直前にCLS。

次に敵キャラ(ドロ)を登場させる。上から迫ってきて、一番下まで到達されたら負け。"D"はALT+Dで宇宙人とか。

15 Q=16:R=0 34 IF RND(5)=0 R=R+1:IF R=22 END 35 IF X=Q AND Y=R Q=RND(32):R=0 51 LC Q,R:?"D"

捕まえた数をスコアにする

10 X=16:Y=12:S=0 35 IF X=Q AND Y=R Q=RND(32):R=0:S=S+1 42 LC 5,0:?"SCORE:";S

10行、35行はLIST表示して、追記しよう。

画面端にいってしまうとおかしくなるのを防ぐ。左右はループするように、上下はその位置で止まるようにプログラム追加。

21 IF X<0 X=31 22 IF X>31 X=0 31 IF Y<0 Y=0 32 IF Y>21 Y=21

ケイドロの醍醐味、複数のドロからいかにして守るかを表現するために、敵キャラをもう一体出す。

15 Q=16:R=0:T=6:U=0 36 IF RND(5)=0 U=U+1:IF U=22 END 37 IF X=T AND Y=U T=RND(32):U=0:S=S+1 52 LC T,U:?"D"

34行、35行をLISTで表示し、行番号と変数だけを書き換えると楽。
これでケイドロゲームのできあがり!

やってみよう!
- キャラクターを自分好みに変えてみよう。
- 敵が迫ってくる速度を変えてみよう。
- 敵をもう一体追加してみよう。

10 X=16:Y=12:S=0 15 Q=16:R=0:T=6:U=0 20 X=X-BTN(28)+BTN(29) 30 Y=Y-BTN(30)+BTN(31) 21 IF X<0 X=31 22 IF X>31 X=0 31 IF Y<0 Y=0 32 IF Y>21 Y=21 34 IF RND(5)=0 R=R+1:IF R=22 END 35 IF X=Q AND Y=R Q=RND(32):R=0:S=S+1 36 IF RND(5)=0 U=U+1:IF U=22 END 37 IF X=T AND Y=U T=RND(32):U=0:S=S+1 40 CLS 42 LC 5,0:?"SCORE:";S 50 LC X,Y:?"K" 51 LC Q,R:?"D" 52 LC T,U:?"D" 60 WAIT 3 70 GOTO 20

ケイドロ on IchigoJam

スマホでも遊べるプログラミング教材用ゲーム第二弾「shoot」嫌いにさせないプログラミングの教え方とは!?

2016/06/28
#js #game #kosen 

二番目のプログラミング言語としてオススメのJavaScript、学ぶべき文法、アルゴリズム、ライブラリはたくさんありますが、ひとまず楽しく続けることが大切です。「やらされ」から「自分でやる!」へのスイッチをみんな大好きゲームに求めてみます。

自分でつくったアプリやゲームを誰かに見せたり、使ってもらったりする体験が手軽にできるスマホ時代、「15ゲーム」に続く、第二弾ミニマムシューティングゲーム「shoot」をつくりました。ブラウザで開き、ホームへ追加で、アイコンが追加され、アプリっぽく動きます!


shoot

前回より、少し短くなっています。HTML/CSS部分はひとまずコピペしても構いませんが、<script>から</script>で終わる、JavaScriptの部分は自分で見ながら打ち込んでみるのが上達への近道!

<!DOCTYPE html><html><head><meta charset='utf-8'/> <title>shoot</title> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta property="og:image" content="http://fukuno.jig.jp/app/game/shoot.png"> <link rel="apple-touch-icon" href="http://fukuno.jig.jp/app/game/shoot.png"/> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=medium-dpi"> <script src="http://fukuno.jig.jp/app/game/lib/fukuno.js"></script> <script>"use strict"; window.onload = function() { var c = get("canvas"); var g = getContext(c); setUI(c); var state = 0; // 0:title, 1:play, 2:gameover var ex; // x of enemy var ey; // y of enemy var ev; // vx of enemy var es; // size of enemy var sx; // x of shot var sy; // y of shot var sv = -32; // vy of shot var score; g.draw = function() { g.setColor(0, 0, 0); g.fillRect(0, 0, g.cw, g.ch); g.setColor(255, 255, 255); if (state == 0) { g.fillTextCenter("shoot", g.cw / 2, g.ch / 2, 80); g.fillTextCenter("tap to start", g.cw / 2, g.ch / 2 + 80, 40); score = 0; ex = -30; es = 100; ey = 100 + rnd(200); ev = 3; sy = 1000; sx = g.cw / 2; } else if (state == 1) { ex = ex + ev; if (ex > g.cw + es) { state = 2; } g.fillRect(ex - es / 2, ey - es / 2, es, es); // me g.fillRect(sx - 4, g.ch - 40, 8, 30); g.fillRect(sx - 15, g.ch - 20, 30, 10); // shot if (sy < g.ch) { sy = sy + sv; if (sy < -30) { state = 2; } g.fillRect(sx - 4, sy, 8, 30); if (Math.abs(sy - ey) < es / 2 && Math.abs(sx - ex) &lt; es / 2) { score = score + 1; ex = -30; ey = 100 + rnd(200); ev = ev * 1.5; es = es * .8; sy = 1000; } } } else if (state == 2) { g.fillTextCenter("game over!", g.cw / 2, g.ch / 2, 80); g.fillTextCenter("score: " + score, g.cw / 2, g.ch / 2 + 80, 40); } }; c.onuidown = function(x, y) { if (state == 0) { state = 1; } else if (state == 1) { if (sy > g.ch) { sy = g.ch - 40; } } else if (state == 2) { state = 0; } }; setInterval(function() { g.draw(); }, 1000 / 30); g.init(); }; </script> <style> body { background: white; text-align: center; } h1 { display: none; } #canvas { display: inline-block; width: 320px; height: 320px; } #credit a { color: gray !important; font-size: 12px; } </style> </head><body> <h1>shoot</h1> <canvas id="canvas"></canvas><br> <div id="credit"><a href="http://fukuno.jig.jp/1435">CC BY fukuno.jig.jp</a></div></div> </body></html>

うまく動かない時は、デベロッパーツール(Chrome)、エラーコンソール(Safari、環境設定、詳細、メニューバーに"開発"メニューを表示、開発、エラーコンソールを表示)などを開いて、ミスを発見、修正してみましょう。

うまく動いたら、早速改造。
- クソゲーをつくってみよう!(ゲームはバランス)
- 敵キャラを嫌いな科目名ににしてみよう!
- ハイスコア機能をつけて競い合おう!
- 連射できるように改造するには!?(配列を使う必要あり!)

IchigoJam BASIC から、JavaScriptへ!
IchigoJamへインスールできる JavaScriptが使えるOS「IchigoLatte 0.9」、ナチュラルスタイルからリリース!


母校、福井高専では、プログラミングをC言語の前に、JavaScriptで学んでいるとのこと。
先日の訪問、電子情報工学科3年生の特活の時間「アルバイト好きな高専生が起業を2回失敗した話」


盛り上がった、IchigoJam 争奪、じゃんけん大会!
プログラミング嫌い、減りますように!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image