goo blog サービス終了のお知らせ 

パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

pythonゲームコーディング3時間目

2017-08-11 | pygame
画像まわりを調べてみました。PILが主流みたいです。
pygameだとsurfaceを使うようです。
30分ぐらいあさってみました。

その前に配列を押さえておきます。
15x10の配列に1から9の数字を設定してそれをランダム色で表示するサンプルです。

import pygame
import random

mapdata = [[0 for y in range(10)] for x in range(15)]
screen = pygame.display.set_mode((600, 400))

def gamemain():
    while (1):
        screen.fill((0,0,0))
        write()
        pygame.display.update()
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()

def randset():
    for x in range(15):
        for y in range(10):
            mapdata[x][y]=random.randrange(0, 9)

def write():
    font = pygame.font.Font(None, 32)
    for x in range(15):
        for y in range(10):
            text = font.render(str(mapdata[x][y]), True, randcolor())
            screen.blit(text, [x*20, y*20])

def randcolor():
    return (random.randrange(0, 3)*127,random.randrange(0, 3)*127,random.randrange(0, 3)*127)

pygame.init()
randset()
gamemain()
pygame.quit()
quit()


今回一番はまったエラー
最後のdefの最後の行にかっことじが足りなかったので
次の行でSyntaxError: invalid syntaxエラーが発生していてそのバグ取り...



<参考文献>
Pythonで2次元配列の静的確保と動的確保
Python入門 - 関数
Python/Pygameで文字を描画


最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。
ブログ作成者から承認されるまでコメントは反映されません。