Table of Contents
tetrisプログラミング用のチュートリアルです。
このチュートリアルを理解すればtetrisのブロック操作用サンプルプログラム(block_controller_sample.py)が読めるようになることを目指しています。
プルリクエスト募集中です。
tetrisの「実行環境準備」を参照して、まず動かしてみる。
困った時はFAQなど参照。
tetrisをforkする。これはtetrisの右上の「Fork」ボタンを押せばOK
tetrisを「コード作成のはじめかた」にも詳細を記載している
世の中には色々なエディタがありますが、最終的には自分の好みで選択するのがよさそうです。
エディタ名 | 特徴 | 備考 |
---|---|---|
vi | - | - |
emacs | - | - |
gedit | - | - |
vscode | Microsoftのエディタ、機能まぁまぁ、グラフィカルで操作はわかりやすい、ただ重い MacOSでVisual Studio Codeをインストールする手順 Microsoft Visual Studio Codev1.56.0 UbuntuにVSCodeをインストールする3つの方法 |
- |
spyder | pythonの統合開発環境(エディタ進化版)、デバッグとかしやすい、ただ重い | - |
nano | vimよりマシな操作感、軽い、ただ結局コマンドを覚えないと保存すらできない | - |
vim | とりあえず感覚的に操作できないからハードル高い、ただ覚えれば効率は一番いいかも | - |
その他 | - | - |
更新するかも
ターミナルから使うコマンドです。
今回は最低限以下を使えれば問題ないはず。
cd : ディレクトリの移動。change directoryの略
ls : 現在のディレクトリのファイルを表示。listの略
rm : ファイルを削除。removeの略
rm -r : ディレクトリを削除。
gitはソフトウェアのバージョン管理システムです。
github上でのtetris
用ソースコード管理をコマンドラインから操作することが可能です。
多くのコマンドが存在しますが、今回は最低限以下を使えれば問題ないはず。
git add (ファイル名) # 指定したファイルを変更対象に登録
git commit # addしたファイルを登録する(ローカルのgitに登録する)
git push # 変更を登録する(リモートのgitに登録する)
git pull # 変更を取り込む
上記コマンドの練習をする場合、以下の練習用リポジトリの1.〜3.を実施してみてください。
test_pull_request
その他、詳しくは参考サイトを参照下さい。
いまさらだけどGitを基本から分かりやすくまとめてみた
【メモ】GitHubでgit clone〜git pushまで
[git] 基本操作(clone、add、commit、pushなど)を覚えて、開発出来るようになる
【Git】基本コマンド
- リポジトリをforkする
まず、test_pull_requestにアクセスしてリポジトリをfork
する。
右上の「Fork」ボタンを押せばOK
- リポジトリをcloneする
次に、forkしたリポジトリをgit clone
する
※(自分のアカウント名)
の部分は、自分アカウント名に置き換える
git clone https://github.com/(自分のアカウント名)/test_pull_request
# 例 (自分のアカウント名)=seigotの場合
git clone https://github.com/seigot/test_pull_request
git add/commit/push
する、
cd test_pull_request # git clone https://github.com/(自分のアカウント名)/test_pull_requestで取得したリポジトリに移動する。
echo "this_is_test_string" >> README.md # README.mdファイルを更新する
git add README.md # git add
git commit -m "update README.md" # git commit
git push # git push
- 更新の確認
https://github.com/(自分のアカウント名)/test_pull_request
にアクセスして、更新が反映されていればOK
※(自分のアカウント名)
の部分は、自分アカウント名に置き換える
例) tetris
をcloneしてきて、block_controller2.py
という名のファイルをお試しでpushする
(block_controller2.py
というお試しファイルのpushを好まない人はスキップして問題ありません)
コマンド
cd ~ # homeに移動
rm -rf tetris # ディレクトリ削除
git clone http://github.com/(自分のアカウント名)/tetris # (自分のアカウント名)/tetrisをcloneしてくる
cd tetris # tetrisへ移動
cp block_controller.py block_controller2.py # とりあえずお試しファイルをコピー
git add block_controller2.py # お試しファイルを変更対象に登録
git commit -m "sample commit" # addしたファイルを登録する(ローカルリポジトリに登録する)
## もしplease tell me who you are とでたら、、ログに出ている以下を入力
git config --global user.email "[email protected]"
git config --global user.name "YourName"
## その後、以下を実行してcommit
git commit -m "sample commit"
もしくは、
git commit
(エディタは esc+:wq で終了できる)
git push # リモートリポジトリに登録する
--> Githubアカウント(ユーザ名、パスワード)入力
githubの自リポジトリ上に変更が加わっていることがみえたらOKです。
2021/8/13より、Githubへ認証が必要なgit操作をする場合は、Passwordによる認証からアクセストークンを使用した認証に変わったようです。
使用方法は以下の通り公式サイトを参照すればOK。Passwordの代わりにアクセストークンを入力すればOKの様子。
pythonはプログラミング言語の1つです。
研究用途でも用いられる事が多く、サポートも豊富であり、プロトタイプ開発などに便利です。
文法に関しても色々ハマり所はありますが、今回は最低限以下を使えれば問題ないはず。
以下を参考にしています。
tetris_game_tutorial python勉強用ドキュメント
公式サイト: Top - python.jp ゼロからのPython入門講座
【初心者向け】無料でPythonの基本文法を5時間で学ぼう!AI_Academy
AtCoderで始めるPython入門
print
演算子(*,/,+.-)
加算代入演算子(+=)、減算代入演算子(-=)
max,min,sum
論理演算子(and, or)
括弧 ()
if文
比較演算子
list型
辞書型
tuple型
len
for x in [1,2,3,4]:
for x0 in for range(2,8)
continue
3種類のrange,(range(1,3),range(height - 1, 0, -1):,range(width),)
while
関数
ライブラリ
class
おまけ:PythonでFizz Buzz書いてみた
その他、詳しくは参考サイトを参照下さい。
上記の文法の練習として以下の問題(atcoder beginners selection)を解くと良いかもしれません。
https://atcoder.jp/contests/abs
【初心者向け】無料でPythonの基本文法を5時間で学ぼう!
Pythonの基礎基本を30分ですべて終わらせる
Python3基礎文法
初心者がPythonの練習
tutorialにお試し用pythonプログラムを置きました。
使用手順の詳細はtutorial/README.mdを参照ください。
git clone http://github.com/seigot/tetris_game_tutorial # tutorialディレクトリをclone
cd tetris_game_tutorial/tutorial # tutorialディレクトリへ移動
python3 tutorial1.py # tutorial用プログラム実行
...
tetrisのブロック操作用サンプルプログラム(block_controller_sample.py)でのpython使用例
tetrisのブロック操作用プログラムについてやブロック操作用サンプルプログラムを読み進めて下さい。
自身のリポジトリ配下のブロック操作用プログラム(block_controller.py)をアップデートしてハイスコアを狙って下さい。
pythonを使う練習として、Atcoderの過去問を解くことをオススメします。
Atcoderの過去問
【初心者向け】無料でPythonの基本文法を5時間で学ぼう!AI_Academy
AtCoderで始めるPython入門
公式サイト: Top - python.jp