Pygame 2.7でASCIIアートでゲームを作成しようとしています。アイドルコンソールに移動して次のように入力するだけです:Pygameで印刷不可能な文字を表示
for i in range(255):
print str(i) + ' - ' + str(chr(i))
私はほぼ255文字になります。しかし、私がPygameで同様のスタントを試してみると:
import pygame, os, string, sys
from pygame.locals import *
pygame.init()
class Prog:
def __init__(self):
self.title = 'Text'
self.screen_size = (800, 600)
self.screen = pygame.display.set_mode(self.screen_size)
self.bg_color = (255, 255, 255)
self.text_color = (0,0,0)
self.text_font = 'Times New Roman'
self.text_size = 20
self.font = pygame.font.SysFont(self.text_font, self.text_size)
def draw_text(self, text, x, y):
textobj = self.font.render(text, 1, self.text_color)
textrect = textobj.get_rect()
textrect.center = (x,y)
self.screen.blit(textobj, textrect)
def main(self):
rec = self.screen.get_rect()
done = False
while not done:
for event in pygame.event.get():
if event.type == QUIT:
done = True
self.screen.fill(self.bg_color)
x = 20
y = 100
n = 1
for i in range(1, 255):
self.draw_text(chr(i), x, y)
x += 20
n += 1
if n > 25:
n = 1
x = 20
y += 30
pygame.display.flip()
ほとんどが空のボックスです。なぜ矛盾?私はIdleが使うフォントを使っていても、フォントの変更を試みました。私はユニコードとしてそれを解析しようとしました。何も動作していないようです。私が言ったように、それはアイドル状態で印刷され、私が得ることのできないキャラクターのいくつかは、私が演奏する他のASCIIゲームにも存在するという事実のために、それほど気にならないでしょう。レンダリング可能。
誰も助言できますか?私は自己/ google教師のアマチュアであり、正直なところ、余分なモジュールをダウンロードする必要がないことを避けたいと望むだろう。他に何もないなら、私はこの問題に関するコンピュータの明らかな二重標準の説明を解決するでしょう。
ありがとうございます。
から魔法のコメントを必要としないので、ありがとうございました!私はあなたの記事から何週間も離れて、あなたの記事を見つめていると思う。 :)(私はPythonのドキュメントは、私が現在持っているものをわずかに超えてプログラミング知識のベースラインを取ると思うが、私はそこに行っている!) – queenofthecapes
あなたは大歓迎です!私はpygameを使って独学のプログラマーとして始めたので、とてもうれしく思います。それはまた大きな質問です。文字列がPythonでどのように動作するかについて、私は多くのことを読んで学びました。ゲームの運が良かった! ところで、私が書いたことがあなたの質問に答えたなら、それを答えとして受け入れるのですか?これは、スタックエクスチェンジサイトがあなたに答えをフィードバックする方法です。 [回答礼儀](https://meta.stackexchange.com/questions/19448/etiquette-for-selecting-answers)。ありがとう! – ryanh119