# data[].attributes.attachment_link.readable_text
import turtle 
turtle.Screen().setup(1.0,1.0)
t = turtle.Turtle()
t.shape('turtle')

t.color("red")
t.speed(0) # 최고  속  도

for i in range(200):
  t.pensize(i/50)
  t.forward(i)
  t.left(65)
  
t.color("brown")
t.setheading(270)

for i in range(50):
  t.pensize(25-i/2)
  t.forward(i/4)

# data[].attributes.attachment_link.readable_text
from mcpi.minecraft import Minecraft
import math

# Connect to Minecraft
mc = Minecraft.create()

# Get the player's current position
pos = mc.player.getTilePos()
x = pos.x
y = pos.y
z = pos.z

# Parameters for the mountain
height = 20  # Height of the mountain
base_radius = 10  # Base radius of the mountain
block_type = 1  # Block type (e.g., 1 = Stone)

# Generate the mountain
for level in range(height):
    # Calculate the radius for the current level (decreasing as we go up)
    radius = base_radius * (1 - level / height)
    for angle in range(0, 360, 5):  # Increment by 5 degrees for a smoother circle
        # Convert angle to radians
        rad = math.radians(angle)
        # Calculate x, z positions for the circle at this level
        x_offset = round(radius * math.cos(rad))
        z_offset = round(radius * math.sin(rad))
        # Place the block at the calculated position
        mc.setBlock(x + x_offset, y + level, z + z_offset, block_type)

# Fill the top point of the mountain
mc.setBlock(x, y + height, z, block_type)

# Optional: Notify in Minecraft chat
mc.postToChat("Mountain generated!")

# data[].attributes.attachment_link.readable_text
from mcpi.minecraft import Minecraft
mc = Minecraft.create()


def growTree(x, y, z):
    """Creates a tree at the coordinates given"""
    wood = 17
    leaves = 18

    # trunk
    mc.setBlocks(x, y, z, x, y + 5, z, wood)

    # leaves
    mc.setBlocks(x - 2, y + 6, z - 2, x + 2, y + 6, z + 2, leaves)
    mc.setBlocks(x - 1, y + 7, z - 1, x + 1, y + 7, z + 1, leaves)

pos = mc.player.getTilePos()
x = pos.x
y = pos.y
z = pos.z


growTree(x + 1, y, z)
growTree(x + 3, y, z)
growTree(x + 5, y, z)
growTree(x + 7, y, z)
growTree(x + 9, y, z)
growTree(x + 11, y, z)
growTree(x + 13, y, z)
growTree(x + 15, y, z)
growTree(x + 17, y, z)

# data[].attributes.attachment_link.readable_text
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
twoDimensionalRainbowList = [[0, 0, 0],
                             [1, 1, 1],
                             [2, 2, 2],
                             [3, 3, 3], 
                             [4, 4, 4], 
                             [5, 5, 5]] 
pos = mc.player.getTilePos()
x = pos.x
y = pos.y
z = pos.z
startingX = x
for row in twoDimensionalRainbowList:
    for color in row:
        mc.setBlock(x, y, z, 35, color)
        x += 1
    y += 1
    x = startingX

# data[].attributes.attachment_link.readable_text
from mcpi.minecraft import Minecraft
import time
mc = Minecraft.create()

class House(object):
    def __init__(self, x, y, z, width, height, depth):
        self.x = x
        self.y = y
        self.z = z

        self.width = width
        self.height = height
        self.depth = depth

    def build(self):
        # ������(width), ������(depth), ������(height) ��������� ������ ������ ��������� ������
        mc.setBlocks(self.x, self.y, self.z, self.x + self.width, self.y + self.height, self.z + self.depth, 98)

        # ��� ������ ������������������ ���������
        mc.setBlocks(self.x + 1, self.y, self.z + 1, self.x + self.width - 1, self.y + self.height - 1, self.z + self.depth - 1, 0)

        self.buildWindows()
        self.buildDoor()
        self.buildRoof()


    # ������ ��������� ������
    def buildWindows(self):
        mc.setBlock(self.x+1, self.y+3, self.z, 20)
        mc.setBlock(self.x+(self.width)-1, self.y+3, self.z, 20)

    # ��� ��������� ������
    def buildDoor(self):
        mc.setBlocks(self.x+(self.width//2), self.y, self.z, self.x+(self.width//2)+1, self.y+1, self.z, 0)

    # ������ ��������� ������
    def buildRoof(self):
        roofX = self.x
        roofY = self.y + self.height + 1
        roofZ = self.z
        for i in range(self.width//2 + 1):
            mc.setBlocks(roofX - 1 + i , roofY + i, roofZ, roofX - 1 + i, roofY + i, roofZ + self.depth, 108, 0)
            mc.setBlocks(roofX + i, roofY + i, roofZ, roofX + self.width - i, roofY + i, roofZ + self.depth, 98)
            mc.setBlocks(roofX + self.width - i + 1, roofY + i, roofZ, roofX + self.width - i + 1, roofY + i, roofZ + self.depth, 108, 1)

        mc.setBlocks(roofX + (self.width//2), roofY + (self.width//2 + 1), roofZ, roofX + (self.width//2), roofY + (self.width//2 + 1), roofZ + self.depth, 108, 0)
        mc.setBlocks(roofX + (self.width//2)+1, roofY + (self.width//2 + 1), roofZ, roofX + (self.width//2 + 1), roofY + (self.width//2 + 1), roofZ + self.depth, 108, 1)



pos = mc.player.getTilePos()
x = pos.x + 1
y = pos.y
z = pos.z

newHouse = House(x, y, z, 7, 4 ,5)
newHouse.build()

# data[].attributes.attachment_link.title
DS-MB-2_W09_1_장애물감지자동차

# data[].attributes.attachment_link.readable_text
from mcpi.minecraft import Minecraft
mc = Minecraft.create()


block = 24  # sandstone
height = 10
levels = reversed(range(height))

pos = mc.player.getTilePos()
x, y, z = pos.x + height, pos.y, pos.z

for level in levels:
    mc.setBlocks(x - level, y, z - level, x + level, y, z + level, block)
    y += 1

# data[].attributes.body
http://www.kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json

key:
f5eef3421c602c6cb7ea224104795888

targetDt 20240101

boxOfficeResult.dailyBoxOfficeList.[

].movieNm

# data[].attributes.body
import random

import time

name = input('참가자들의 이름을 입력해주세yo: ').split()

print(f"총 {len(name)}명 참가하셨어yo")

winner = random.choice(name)

print("선택yo " )

time.sleep(2)

print(f"{winner}님")

# data[].attributes.body
from mcpi.minecraft import Minecraft

mc = Minecraft.create()

# 집짓기 클래스 선언

class MyHome(object):

# 초기화 함수

def init(self, x, y, z, width, height, depth):

self.x = x

self.y = y

self.z = z

self.width = width

self.height = height

self.depth = depth

# 집 짓는 함수

def build(self):

# Wood(5)으로 넓이(width), 깊이(depth), 높이(height) 크기로 블럭을 채움

mc.setBlocks(self.x, self.y, self.z,

self.x + self.width, self.y + self.height, self.z + self.depth, 5)

# 집을 만들기 위해서는 내부 공간은 Air(0)로 채워야함

mc.setBlocks(self.x + 1, self.y, self.z + 1,

self.x + self.width - 1, self.y + self.height - 1, self.z + self.depth - 1, 0)

self.buildWindows()

self.buildDoor()

# 창문 2개를 만드는 함수: Glass(20)

def buildWindows(self):

mc.setBlock(self.x + (self.width / 4 * 3), self.y + 2, self.z, 20)

mc.setBlock(self.x + (self.width / 4 * 3 + 1), self.y + 2, self.z, 20)

# 집 출입문을 만드는 함수: OakDoor(64)

def buildDoor(self):

mc.setBlocks(self.x + (self.width / 4), self.y, self.z,

self.x + (self.width / 4), self.y + 1, self.z, 64)

pos = mc.player.getTilePos()

x = pos.x

y = pos.y

z = pos.z

myHome = MyHome(x, y, z, 8, 4, 5)

myHome.build()

# data[].attributes.headline
마인크래프트 파이썬 햄버거 탑 쌓기

# data[].attributes.subject
마인크래프트 파이썬 햄버거 탑 쌓기

# data[].attributes.body
# 마인크래프트 연결

from mcpi.minecraft import Minecraft

import time

mc = Minecraft.create()

# 플레이어의 좌표 저장

pos = mc.player.getTilePos()

# 햄버거 타일 놓을 자리

x = pos.x + 1

y = pos.y

z = pos.z

# 양털 블록 id = 35

block = 35

# 각 재료의 블록 상태를 순서대로 리스트에 저장

ingredients = [1, 12, 6, 5, 4, 13, 0, 1]

# 인덱스 초기화

index = 0

# 빵 쌓기

mc.setBlocks(x, y, z,x+3, y, z+3, block, ingredients[index])

time.sleep(1)

# 인덱스, y좌표+1 & 고기 패티 쌓기

index += 1

y += 1

mc.setBlocks(x, y, z,x+3, y, z+3,block, ingredients[index])

time.sleep(1)

# 소스 쌓기

index += 1

y += 1

mc.setBlocks(x, y, z,x+3, y, z+3,block, ingredients[index])

time.sleep(1)

# 양상추 쌓기

index += 1

y += 1

mc.setBlocks(x, y, z,x+3, y, z+3, block, ingredients[index])

time.sleep(1)

# 치즈 쌓기

index += 1

y += 1

mc.setBlocks(x, y, z,x+3, y, z+3, block, ingredients[index])

time.sleep(1)

# 피클 쌓기

index += 1

y += 1

mc.setBlocks(x, y, z,x+3, y, z+3,block, ingredients[index])

time.sleep(1)

# 양파 쌓기

index += 1

y += 1

mc.setBlocks(x, y, z,x+3, y, z+3,block, ingredients[index])

time.sleep(1)

# 빵 쌓기

index += 1

y += 1

mc.setBlocks(x, y, z,x+3, y, z+3,block, ingredients[index])

# data[].attributes.headline
마인크래프트 파이썬 얼음다리 

# data[].attributes.subject
마인크래프트 파이썬 얼음다리 

# data[].attributes.body
#마인크래프트와 연결

from mcpi.minecraft import Minecraft

mc = Minecraft.create()

# 플레이어의 초기 좌표 pos1에 저장

pos1 = mc.player.getTilePos()

# 얼음 블록 ID

ice = 79

# for 문을 이용하여 0.1초 마다 100번 반복하는 반복문을 만들기

import time # time 모듈 추가

# for 문

for i in range(100):

# 사용자의 현재 위치 pos2에 저장

pos2 = mc.player.getTilePos()

x = pos2.x

y = pos2.y

z = pos2.z

# if 문 이용(pos1과 pos2가 다르면 얼음 다리 블록 놓기)

if (pos1 != pos2):

mc.setBlocks(x-2, y-1, z, x+2, y-1, z, ice)

mc.setBlock(x-2, y, z, ice)

mc.setBlock(x+2, y, z, ice)

time.sleep(0.1)

# pos1에 pos2 대입

pos1 = pos2

# data[].attributes.attachment_link.title
DS-MB-2_W06_메모리게임_완성

# data[].attributes.headline
마인크래프트 - 파이썬 블럭 생성 테스트

# data[].attributes.body
마인크래프트 - 파이썬 블럭 생성 테스트

from mcpi.minecraft import Minecraft import time x = -25 y = 200 z = 262 mc = Minecraft.create() mc.player.setTilePos(x,y,z) speedy = 0.05 for j in range(50): for i in range(50): mc.setBlock(x, y, z, 103) #수박 블럭(103) 좌표에 만들기 time.sleep(speedy) x+=1 for i in range(50): mc.setBlock(x, y, z, 103) time.sleep(speedy) y+=1 for i in range(50): mc.setBlock(x, y, z, 103) #수박 블럭(103) 좌표에 만들기 time.sleep(speedy) x-=1 for i in range(50): mc.setBlock(x, y, z, 103) time.sleep(speedy) y-=1 z += 20

# data[].attributes.attachment_link.title
축구-골키퍼-학생

# data[].attributes.attachment_link.title
microbit-슈팅게임-학생

# data[].attributes.attachment_link.title
Generated Photos | Unique, worry-free model photos

# data[].attributes.attachment_link.description
AI-generated images have never looked better. Explore and download our diverse, copyright-free headshot images from our production-ready database.

# data[].attributes.body
from mcpi.minecraft import Minecraft

mc = Minecraft.create()

block = 24 # sandstone

height = 10

levels = reversed(range(height))

pos = mc.player.getTilePos()

x, y, z = pos.x + height, pos.y, pos.z

# data[].attributes.body
from mcpi.minecraft import Minecraft

mc = Minecraft.create()

twoDimensionalRainbowList = [[0, 0, 0],

[1, 1, 1],

[2, 2, 2],

[3, 3, 3],

[4, 4, 4],

[5, 5, 5]]

pos = mc.player.getTilePos()

x = pos.x

y = pos.y

z = pos.z

startingX = x

for row in twoDimensionalRainbowList:

for color in row:

mc.setBlock(x, y, z, 35, color)

x += 1

y += 1

x = startingX

# data[].attributes.attachment_link.description
Create 3D worlds from text prompts without coding with our intuitive AI platform. Used in movies, games, education, and design.

# data[].attributes.attachment_link.description
온라인 놀이터 타닥타닥 타자연습입니다. 영문타자연습, 한글타자연습, 세벌식, 두벌식자판 연습, 게임과 채팅등을 제공합니다.

# data[].attributes.body
from mcpi.minecraft import Minecraft

mc = Minecraft.create()

import time

name = ""

scoreboard = {}

while True:

# Get the player's name

name = input("What is your name? ")

# Break loop if name is exit

if name == "exit":

break

mc.postToChat("Go!")

# Wait 60 seconds

time.sleep(60)

# Get the list of block hits

blockHits = mc.events.pollBlockHits()

# Display the length of the block hits list to chat

blockHitsLength = len(blockHits)

mc.postToChat("Your score is " + str(blockHitsLength))

scoreboard[name] = blockHitsLength

print(scoreboard)

# data[].attributes.attachment_link.description
소프트웨어를 통해 미래를 꿈꾸고 함께 성장합니다.

# data[].attributes.attachment_link.description
Play whack a mole with your nose👃, powered by PoseNet.

# data[].attributes.attachment_link.description
How did you do? can your friends do better?

# data[].attributes.body
from mcpi.minecraft import Minecraft

import math

import time

import random

mc = Minecraft.create()

destX = random.randint(-127, 127)

destZ = random.randint(-127, 127)

destY = mc.getHeight(destX, destZ)

print(destX, destY, destZ)

block = 57

mc.setBlock(destX, destY, destZ, block)

mc.postToChat("Block set")

while True:

pos = mc.player.getPos()

distance = math.sqrt((pos.x - destX) 2 + (pos.z - destZ)**2)

if distance == 0:

break

if distance > 100:

mc.postToChat("Freezing")

elif distance > 50:

mc.postToChat("Cold")

elif distance > 25:

mc.postToChat("Warm")

elif distance > 12:

mc.postToChat("Boiling")

elif distance > 6:

mc.postToChat("On fire!")

elif distance == 0:

mc.postToChat("Found it")

# data[].attributes.body
from mcpi.minecraft import Minecraft

mc = Minecraft.create()

answer = input("Do you want to make the blocks immutable? Y/N ")

if answer == "Y":

mc.setting("world_immutable", True)

mc.postToChat("World is immutable")

else:

mc.setting("world_immutable", False)

mc.postToChat("World is mutable")

# data[].attributes.headline
W08- 아두이노 코드 미세먼지 수정

# data[].attributes.subject
W08- 아두이노 코드 미세먼지 수정

# data[].attributes.body
#include <SimpleDHT.h> //온습도센서 라이브러리 #include <LiquidCrystal_I2C.h> //LCD라이브러리 #include <Wire.h> //I2C통신 #include <SoftwareSerial.h> #define DHTPIN 7 //DHT핀 - 아두이노 Digital 7 #define DHTTYPE DHT11 //온습도센서 타입 #define BT_TX A2 //블루투스 #define BT_RX A3 //블루투스 //미세먼지 센서 변수 설정 #define Dust_LED_PIN 11 //미세먼지센서 LED핀 #define Dust_OUT_PIN A0 //미세먼지 센서값 출력 핀 int samplingTime = 280; int deltaTime = 40; int sleepTime = 9680; float dust_sensorValue = 0; float voltage = 0; float dust_density = 0; int temperature; //온도값 int humidity; //습도값 int dust; //미세먼지 값 //RGB LED PIN #define RED 10 #define GREEN 9 #define BLUE 8 SoftwareSerial myBT(BT_TX, BT_RX); //블루투스 설정 SimpleDHT11 dht11(DHTPIN); //dht11 설정 LiquidCrystal_I2C lcd(0x27, 16, 2); //lcd 설정 void setup() { // put your setup code here, to run once: Serial.begin(9600); myBT.begin(9600); pinMode(RED, OUTPUT); pinMode(GREEN, OUTPUT); pinMode(BLUE, OUTPUT); lcd.init(); //lcd초기화 lcd.backlight(); //lcd백라이트 On lcd.print("FINE DUST"); //lcd글자쓰기 delay(2000); //2초 대기 lcd.clear(); //lcd내용 지우기 } void loop() { // put your main code here, to run repeatedly: dht_check(); //온습도 체크 함수 dust_check(); //미세먼지 체크 함수 RGB_LED_check(); //RGB LED 체크 함수 send_bt(); //블루투스 데이터 전송 } void send_bt() { myBT.print(temperature); myBT.print(","); myBT.print(humidity); myBT.print(","); myBT.println(dust); } void dht_check() { delay(2000); byte t = 0; //온도 변수 byte h = 0; //습도 변수 dht11.read(&t, &h, NULL); //온습도 값 저장 lcd.setCursor(0,0); //lcd 첫번째 칸, 첫번째 줄에서 시작 lcd.print("T:"); lcd.print(t); //온도값 출력 lcd.print(" C"); lcd.setCursor(9,0); lcd.print("H:"); lcd.print(h); //습도값 출력 lcd.print(" %"); temperature = t; //온도값을 블루투스 전송 변수에 저장 humidity = h; //습도값을 블루투스 전송 변수에 저장 } void dust_check() { digitalWrite(Dust_LED_PIN, LOW); //적외선 LED ON delayMicroseconds(samplingTime); //280microseconds = 0.28ms dust_sensorValue = analogRead(Dust_OUT_PIN); //미세먼지 센서 출력값 읽기 delayMicroseconds(deltaTime); //측정주기 0.32ms digitalWrite(Dust_LED_PIN, HIGH); //적외선 LED OFF delayMicroseconds(sleepTime); //9.680ms voltage = dust_sensorValue * (5.0 / 1023.0); //0~1023센서값을 0~5V로 변환 dust_density = 50 * voltage; lcd.setCursor(0,1); lcd.print("Dust: "); lcd.print(dust_density); lcd.print(" ug/m3"); dust = (int)dust_density; //미세먼지 측정값을 블루투스 전송 변수에 저장 } void RGB_LED_check() { //직접 작성합니다. if(dust_density >= 76) LED_Color(0,0,1); //red (매우나쁨) else if(dust_density >= 35) LED_Color(0,1,1); //yellow (나쁨) else if(dust_density >= 16) LED_Color(0,1,0); //green (보통) else if(dust_density >= 0) LED_Color(1,0,0); //blue (좋음) else LED_Color(0,0,0); //no color } void LED_Color(int b, int g, int r) { digitalWrite(BLUE, b); digitalWrite(GREEN, g); digitalWrite(RED, r); }

# data[].attributes.attachment_link.description
À½»çÀü-°¡Ãà - ±¹³» ÃÖ´ëÀÇ È¿°úÀ½ ¸ñ·ÏÁý

# data[].attributes.attachment_link.metadata.album
±¹³» ÃÖ´ëÀÇ È¿°úÀ½ ¸ñ·ÏÁý

# data[].attributes.attachment_link.description
À½»çÀü-°ïÃæÀÇ ¼Ò¸® - ±¹³» ÃÖ´ëÀÇ È¿°úÀ½ ¸ñ·ÏÁý

# data[].attributes.attachment_link.metadata.artist
À½»çÀü-°ïÃæÀÇ ¼Ò¸®

# data[].attributes.attachment_link.metadata.album
±¹³» ÃÖ´ëÀÇ È¿°úÀ½ ¸ñ·ÏÁý

# data[].attributes.attachment_link.title
API를 활용한 세상의 모든 정보다루기-1

# data[].attributes.headline
좋아하는 배달음식 코디니

# data[].attributes.subject
좋아하는 배달음식 코디니

# data[].attributes.headline
블루투스 환경설정 꼭 확인

# data[].attributes.subject
블루투스 환경설정 꼭 확인

# data[].attributes.body
#include <SoftwareSerial.h>

#define BT_RX         2
#define BT_TX         3

SoftwareSerial myBT(BT_RX, BT_TX); //(tx, rx)

void setup() {
  Serial.begin(9600); //시리얼 모니터 사용하기 위해
  myBT.begin(9600); //블루투스 통신준비


}

void loop() {
  if(myBT.available()) { //블루투스 통신으로 들어온 데이터가 있다면
    Serial.write(myBT.read());
    }
  if(Serial.available()) { //블루투스 통신으로 들어온 데이터가 있다면
    myBT.write(Serial.read());
    }
}

# data[].attributes.body
#include <SoftwareSerial.h>
#define Red_LED       2
#define Yellow_LED    3
#define Green_LED     4
#define BT_TX         10
#define BT_RX         11

SoftwareSerial BT(BT_TX, BT_RX); //(tx, rx)

void setup() {
    BT.begin(9600); //블루투스 통신준비
    Serial.begin(9600); //시리얼 모니터 사용하기 위해
    pinMode(Red_LED, OUTPUT);// LED 출력모드
    pinMode(Yellow_LED, OUTPUT);
    pinMode(Green_LED, OUTPUT);
}

void loop() {
  if(BT.available() > 0) { //블루투스 통신으로 들어온 데이터가 있다면
      byte c = BT.read(); // 블루투스 데이터 읽기
      Serial.println(c);
      if(c == 1) digitalWrite(Red_LED, HIGH); //Red_LED 켜기
      else if(c == 2) digitalWrite(Red_LED, LOW); // Red_LED 끄기
    }
}

# data[].attributes.headline
틴커캐드로 아두이로 실행할수있는 자료

# data[].attributes.subject
틴커캐드로 아두이로 실행할수있는 자료

# data[].attributes.attachment_link.description
이 책은 파이썬이란 언어를 처음 접해보는 독자들과 프로그래밍을 한 번도 해 본적이 없는 사람들을 대상으로 한다. 프로그래밍을 할 때 사용되는 전문적인 용어들을 알기 쉽게 풀어서 ...

# data[].attributes.headline
앱인벤터-W02.서보모터

# data[].attributes.subject
앱인벤터-W02.서보모터

# data[].attributes.attachment_link.readable_text
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
import time

score = 0
pos = mc.player.getPos()
blockAbove = mc.getBlock(pos.x, pos.y + 2, pos.z)

# repeat the following code while blockAbove is water (8) or flowing water (9)
while blockAbove == 8 or blockAbove == 9:
    # make the loop sleep for 1 seconds
    time.sleep(1)
    pos = mc.player.getPos()
    blockAbove = mc.getBlock(pos.x, pos.y + 2, pos.z)
    score = score + 1
    # Display the current score
    mc.postToChat("Current score: " + str(score))
    
    
# display the final score after the loop
mc.postToChat("Final Score: " + str(score))
# Use an if statement to check score is greater than or equal to 6
if score > 6:
    # create flowers above them if they are
    finalPos = mc.player.getTilePos()
    mc.setBlocks(finalPos.x - 5, finalPos.y + 10, finalPos.z - 5,
                 finalPos.x + 5, finalPos.y + 10, finalPos.z + 5, 38)

# data[].attributes.body
from mcpi.minecraft import Minecraft

mc = Minecraft.create()

import time

score = 0

pos = mc.player.getPos()

blockAbove = mc.getBlock(pos.x, pos.y + 2, pos.z)

# repeat the following code while blockAbove is water (8) or flowing water (9)

while blockAbove 8 or blockAbove 9:

# make the loop sleep for 1 seconds

time.sleep(1)

pos = mc.player.getPos()

blockAbove = mc.getBlock(pos.x, pos.y + 2, pos.z)

score = score + 1

# Display the current score

mc.postToChat("Current score: " + str(score))

# display the final score after the loop

mc.postToChat("Final Score: " + str(score))

# Use an if statement to check score is greater than or equal to 6

if score > 6:

# create flowers above them if they are

finalPos = mc.player.getTilePos()

mc.setBlocks(finalPos.x - 5, finalPos.y + 10, finalPos.z - 5,

finalPos.x + 5, finalPos.y + 10, finalPos.z + 5, 38)

# data[].attributes.body
from mcpi.minecraft import Minecraft

mc = Minecraft.create()

import time

score = 0

pos = mc.player.getPos()

blockAbove = mc.getBlock(pos.x, pos.y + 2, pos.z)

# repeat the following code while blockAbove is water (8) or flowing water (9)

while blockAbove 8 or blockAbove 9:

# make the loop sleep for 1 seconds

time.sleep(1)

pos = mc.player.getPos()

blockAbove = mc.getBlock(pos.x, pos.y + 2, pos.z)

score = score + 1

# Display the current score

mc.postToChat("Current score: " + str(score))

# display the final score after the loop

mc.postToChat("Final Score: " + str(score))

# Use an if statement to check score is greater than or equal to 6

if score > 6:

# create flowers above them if they are

finalPos = mc.player.getTilePos()

mc.setBlocks(finalPos.x - 5, finalPos.y + 10, finalPos.z - 5,

finalPos.x + 5, finalPos.y + 10, finalPos.z + 5, 38)

# data[].attributes.body
from mcpi.minecraft import Minecraft

mc = Minecraft.create()

import time

score = 0

pos = mc.player.getPos()

blockAbove = mc.getBlock(pos.x, pos.y + 2, pos.z)

# repeat the following code while blockAbove is water (8) or flowing water (9)

while blockAbove 8 or blockAbove 9:

# make the loop sleep for 1 seconds

time.sleep(1)

pos = mc.player.getPos()

blockAbove = mc.getBlock(pos.x, pos.y + 2, pos.z)

score = score + 1

# Display the current score

mc.postToChat("Current score: " + str(score))

# display the final score after the loop

mc.postToChat("Final Score: " + str(score))

# Use an if statement to check score is greater than or equal to 6

if score > 6:

# create flowers above them if they are

finalPos = mc.player.getTilePos()

mc.setBlocks(finalPos.x - 5, finalPos.y + 10, finalPos.z - 5,

finalPos.x + 5, finalPos.y + 10, finalPos.z + 5, 38)

# data[].attributes.body
https://www.tinkercad.com/joinclass/SZZYE2PMI

# data[].attributes.attachment_link.description
Tinkercad is a free, easy-to-use app for 3D design, electronics, and coding.

# data[].attributes.headline
(초급) 초음파 레이더로봇

# data[].attributes.subject
(초급) 초음파 레이더로봇

# data[].attributes.headline
(중급)계산기.터치센서.도어락

# data[].attributes.subject
(중급)계산기.터치센서.도어락

# data[].attributes.attachment_link.title
Here I Come MP3 - Doors (Roblox) (gamerip) (2022) OST - Download Doors (Roblox) (gamerip) (2022) Soundtracks for FREE!

# data[].attributes.attachment_link.description
Download Here I Come - Doors (Roblox) (gamerip) (2022) soundtracks to your PC in MP3 format. Free Here I Come - Doors (Roblox) (gamerip) (2022) soundtracks, Here I Come - Doors (Roblox) (gamerip) (2022) MP3 downloads. Browse our great selection of Here I Come music. Unlimited free downloads of your favourite Doors (Roblox) (gamerip) (2022) albums.

# data[].attributes.body
[조건] 다음의 순서대로 LED가 작동되게 만드세요.

(1) 모든 LED가 꺼진 상태로 시작한다.

(2) 빨강 LED가 10초동안 켜진다.(노랑, 초록 LED는 꺼진상태)

(3) 이후 빨강 LED가 꺼짐과 동시에 노랑 LED가 2초동안 켜진다.

(4) 이후 노랑 LED가 꺼짐과 동시에 초록 LED가 10초동안 켜진다.

(5) 이후 초록 LED가 꺼짐과 동시에 노랑 LED가 2초동안 켜진다.

(6) 다시 (2) 번으로 돌아가고, 무한반복 된다.

# data[].attributes.body
int red_led = 10; // Pin red LED
int yellow_led = 9; // Pin yellow LED
int green_led = 8;  // Pin green LED
void setup() {
  // 핀 출력모드
  pinMode(red_led, OUTPUT);
  pinMode(yellow_led, OUTPUT);
  pinMode(green_led, OUTPUT);
}
void loop() {
  // 3개의 LED 모두 켜기
  digitalWrite(red_led, HIGH);
  digitalWrite(yellow_led, HIGH);
  digitalWrite(green_led, HIGH);
  delay(1000); // 1초 기다리기

  // 3개의 LED 모두 끄기
  digitalWrite(red_led, LOW);
  digitalWrite(yellow_led, LOW);
  digitalWrite(green_led, LOW);
  delay(1000); //2초 기다리기

}

# data[].attributes.headline
아두이노- 틴커캐드 - 회로

# data[].attributes.subject
아두이노- 틴커캐드 - 회로

# data[].attributes.body
https://www.tinkercad.com/things/jOC4UDBz9HY-01?sharecode=1nMmBd7rfapxRh5Lq78e2uNb0roBDH-JqZHfVc6ub-8

# data[].attributes.body
from mcpi.minecraft import Minecraft

mc = Minecraft.create()

pos = mc.player.getTilePos()

x, y, z = pos.x, pos.y, pos.z

stairBlock = 53

for step in range(10):

mc.setBlock(x + step, y + step, z, stairBlock)

# data[].attributes.body
import pygame
from pygame.rect import *
import random

#########################################################
def restart():
    global score, isGameOver
    for i in range(len(star)):
        rectStar[i].y = -1
    score = 0
    isGameOver = False

def eventProcess(move):
    global isActive
    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                pygame.quit()
                isActive = False
            if event.key == pygame.K_LEFT:
                move.x = -1
            if event.key == pygame.K_RIGHT:
                move.x = 1
            if event.key == pygame.K_UP:
                move.y = -1
            if event.key == pygame.K_DOWN:
                move.y = 1
            if event.key == pygame.K_r:
                restart()
#########################################################
def movePlayer(player, current, move, isGameOver):
    global SCREEN_WIDTH, SCREEN_HEIGHT
    if not isGameOver:
        current.x += move.x
        current.y += move.y
#### limit
    if current.y > SCREEN_HEIGHT - current.height:
        current.y = SCREEN_HEIGHT - current.height
    if current.x > SCREEN_WIDTH-current.width:
        current.x = SCREEN_WIDTH - current.width
    if current.y < 0:
        current.y = 0
    if current.x < 0:
        current.x = 0
    SCREEN.blit(player, current)
#########################################################
def timeUpdate50ms():
    global time500ms
    time500ms += 1
    if time500ms > 5:
        time500ms = 0
        return True
    return False

def makeStar(rec):
    if timeUpdate50ms():
        idex = random.randint(0, len(star)-1)
        if rec[idex].y == -1:
            rec[idex].x = random.randint(0, SCREEN_WIDTH)
            rec[idex].y = 0

def moveStar(star, current, isGameOver):
    global SCREEN_HEIGHT
    for i in range(len(star)):
        if current[i].y == -1:
            continue
        if not isGameOver:
            current[i].y += 1
        if current[i].y > SCREEN_HEIGHT:
            current[i].y = -1
        SCREEN.blit(star[i], current[i])
#########################################################
def CheckCollision(player, star):
    global isGameOver, score
    if isGameOver:
        return
    for rec in star:
        if rec.top < player.bottom \
                and player.top < rec.bottom \
                and rec.left < (player.right-8) \
                and (player.left+8) < rec.right:
            isGameOver = True
            break
    score += 1
#########################################################
def timeUpdate4sec(isGameOver):
    global time4Sec, time4SecToggle
    if not isGameOver:
        return False
    time4Sec += 1
    if time4Sec > 40:
        time4Sec = 0
        time4SecToggle = (~time4SecToggle)
    return time4SecToggle

def setText(isupdate=False):
    global score
    myFont = pygame.font.SysFont("arial", 20, True, False)

    SCREEN.blit(myFont.render(
        f'score : {score}', True, 'green'), (10, 10, 0, 0))

    if isupdate:
        SCREEN.blit(myFont.render(
            f'Game Over!!', True, 'red'), (150, 300, 0, 0))
        SCREEN.blit(myFont.render(
            f'press R - Restart', True, 'red'), (140, 320, 0, 0))
#########################################################
#########################################################


##1. 변수 선언
SCREEN_WIDTH = 400
SCREEN_HEIGHT = 600
score = 0
isActive = True
isGameOver = False
move = Rect(0, 0, 0, 0)
time500ms = 0
time4Sec = 0
time4SecToggle = False
#########################################################
##2. 스크린
pygame.init()
SCREEN = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("CodingNow!!")
#########################################################
##3. player
player = pygame.image.load("Player.png")
player = pygame.transform.scale(player, (20, 30))
rectPlayer = player.get_rect()
rectPlayer.centerx = (SCREEN_WIDTH / 2)
rectPlayer.centery = (SCREEN_HEIGHT / 2)
#########################################################
##4. 유성
star = [pygame.image.load("star.png") for i in range(20)]
rectStar = [None for i in range(len(star))]
for i in range(len(star)):
    star[i] = pygame.transform.scale(star[i], (20, 20))
    rectStar[i] = star[i].get_rect()
    rectStar[i].y = -1
#########################################################
##5. time
clock = pygame.time.Clock()

while isActive:
#1. 화면 검정색으로 지우기
    SCREEN.fill((0, 0, 0))
#2. 이번트처리
    eventProcess(move)
#3. 플레이어
    movePlayer(player, rectPlayer,move,isGameOver)
#4. 유성만들기
    makeStar(rectStar)
    moveStar(star, rectStar,isGameOver)
#5. 충돌
    CheckCollision(rectPlayer, rectStar)
#6. Text 업데이트
    setText(timeUpdate4sec(isGameOver))
#7.화면업데이트
    pygame.display.flip()
    clock.tick(100)

# data[].attributes.attachment_link.readable_text
import turtle as t

#각종 설정

t.setup(width=500, height=500)
player = t.Turtle()
player.color('red') #색깔정하기
player.shape('turtle') #모양정하기
player.speed() #속도 숫자가 적을수록 빠름
player.up() #펜 들기 (그림을 그리지 않음)
screen = player.getscreen()

# left, right 각도 변경
def left():
    player.left(30)
def right():
    player.right(30)

# forward, backward 거리이동
def up():
    player.forward(30)
def down():
    player.backward(30)

# 그림그리기
def space():
    if player.isdown():
        player.up()
    else:
        player.down()
# onkeypress(함수명, 키보드 버튼 명)
screen.onkeypress(left, 'Left')
screen.onkeypress(right, 'Right')
screen.onkeypress(up, 'Up')
screen.onkeypress(down, 'Down')
screen.onkeypress(space, 'space')

screen.listen() # screen 활성화 

screen.mainloop()#프로그램 계속 동작하도록 유지

# data[].attributes.attachment_link.readable_text
#파이썬 터틀을 사용하여 라이언 그리
import turtle           # 터틀 모듈 import

# 화면과 터틀 만들기
s = turtle.Screen()     # 화면(창)은 s에 저장한다.
s.setup(650,800)        # 가로 650, 세로 800 사이즈로 만들기
s.bgcolor("lightcyan")  # 바탕화면 색깔
#s.tracer(0)            # 한번에 업데이트 해서 그린다.
t = turtle.Turtle()     # 터틀을 t에 저장한다.
t.pensize(5)            # 펜 사이즈는 5로 약간 두껍게
t.speed(5)              # 그림 그려지는 속도
t.color("black", "#f0a53a") # 선색깔 검정, 채우기색깔 오렌지같은 라이언색깔

#def makelion():
# 라이언 몸 그리기 
t.penup()       # 그리지 않고 위치만 이동하기 위해서 펜 up(들기)
t.goto(-90, 20) # 왼쪽 어깨로 이동
t.pendown()     # 그리기 위해서 펜 down(찍기)
t.begin_fill()  # 이제부터 그리는 영역은 채우기 시작 (end_fill을 만날때 채우기)
t.setheading(220)   # 터틀(화살표) 이동방향 바꾸기
t.circle(80, 100)   # 왼팔은 원으로 그리는데, 360도 다 그리지 않고 100도만 그린다.
t.setheading(270)   # 아래쪽으로 방향 270도 돌리기
t.forward(100)      # 왼쪽 다리 (100 이동)
t.circle(35, 180)   # 왼발은 원으로 그리는데, 360도 다 그리지 않고 180도만 그린다.(반원)
t.forward(20)       # 앞으로 20 이동
t.right(90)         # 오른쪽으로 방향 90도 돌리기
t.forward(40)       # 앞으로 40 이동
t.right(90)         # 오른쪽으로 방향 90도 돌리기
t.forward(20)       # 앞으로 20 이동
t.circle(35, 180)   # 오른발은 원으로 그리는데, 360도 다 그리지 않고 180도만 그린다.(반원)
t.forward(100)      # 앞으로 100 이동
t.setheading(40)    # 방향 40도 돌리기
t.circle(80, 100)   # 오른팔은 원으로 그리는데, 360도 다 그리지 않고 100도만 그린다.
t.goto(-90, 20)     # 시작점으로 이동 (왼쪽 어깨)
t.end_fill()        # 영역 색깔 채우기
    
# 팔, 몸 구분해주기
# 왼팔 구분
t.penup()           # 그리지 않고 위치만 이동하기 위해서 펜 up(들기)
t.goto(-90, -30)    # 좌표로 이동
t.pendown()         # 그리기 위해서 펜 down(찍기)
t.goto(-90, -100)   # 좌표로 이동
# 오른팔 구분
t.penup()           # 펜 들기
t.goto(90, -30)     # 오른팔 구분
t.pendown()         # 펜 다운
t.goto(90, -100)    # 좌표로 이동   

# 가슴 무늬 그리기
t.color("white", "white")   # 선색, 채우기색 모두 흰색으로
t.penup()           # 펜 들기
t.goto(40, -40)     # 좌표로 이동
t.pendown()         # 펜 다운
t.begin_fill()      # 이제부터 그리는 영역은 채우기 시작 (end_fill을 만날때 채우기)
t.goto(20, -60)     # 좌표로 이동
t.goto(0, -40)      # 좌표로 이동
t.goto(-20, -60)    # 좌표로 이동
t.goto(-40, -40)    # 좌표로 이동
t.setheading(240)   # 터틀(화살표) 이동방향 240도 바꾸기
t.circle(47, 240)   # 원을 그리는데, 360도 다 그리지 않고 240도만 그린다.
t.end_fill()        # 영역 색깔 채우기

# 귀 그리기
t.color("black", "#f0a53a") # 선색깔 검정, 채우기색깔 오렌지같은 라이언색깔
# 왼쪽 귀
t.penup()           # 펜 들기
t.goto(-70, 210)    # 좌표로 이동
t.pendown()         # 펜 다운
t.begin_fill()      # 이제부터 그리는 영역은 채우기 시작 (end_fill을 만날때 채우기)
t.setheading(120)   # 터틀(화살표) 이동방향 120도 바꾸기
t.circle(30, 210)   # 원을 그리는데, 360도 다 그리지 않고 210도만 그린다.
t.end_fill()        # 영역 색깔 채우기
# 오른쪽 귀
t.penup()           # 펜 들기
t.goto(70, 210)     # 좌표로 이동
t.pendown()         # 펜 다운
t.begin_fill()      # 이제부터 그리는 영역은 채우기 시작 (end_fill을 만날때 채우기)
t.setheading(60)    # 터틀(화살표) 이동방향 120도 바꾸기
t.circle(-30, 210)  # 원을 그리는데, 360도 다 그리지 않고 210도만 그린다. 
t.end_fill()        # 영역 색깔 채우기

# 얼굴 그리기
t.penup()           # 펜 들기
t.goto(0, 230)      # 좌표로 이동
t.pendown()         # 펜 다운
t.begin_fill()      # 이제부터 그리는 영역은 채우기 시작 (end_fill을 만날때 채우기)
t.setheading(180)   # 터틀(화살표) 이동방향 180도 바꾸기
t.circle(130)       # 원을 그린다.
t.end_fill()        # 영역 색깔 채우기

t.pensize(10)       # 펜 사이즈 다시 5로
# 왼쪽 눈썹
t.penup()           # 펜 들기
t.goto(-80, 130)    # 좌표로 이동
t.pendown()         # 펜 다운
t.goto(-30, 130)    # 좌표로 이동
# 오른쪽 눈썹
t.penup()           # 펜 들기
t.goto(80, 130)     # 좌표로 이동
t.pendown()         # 펜 다운
t.goto(30, 130)     # 좌표로 이동

# 왼쪽 눈
t.penup()           # 펜 들기
t.goto(-55, 110)    # 좌표로 이동
t.pendown()         # 펜 다운
t.dot(15)           # 현재 좌표를 중심으로 점을 찍는다.
# 오른쪽 눈
t.penup()           # 펜 들기
t.goto(55, 110)     # 좌료로 이동
t.pendown()         # 펜 다운
t.dot(15)           # 현재 좌표를 중심으로 점을 찍는다.

# 코 그리기
t.pensize(5)
t.color("black", "white")
t.penup()               # 펜 들기
t.goto(-10, 80)         # 좌표로 이동
t.pendown()             # 펜 다운
t.begin_fill()          # 이제부터 그리는 영역은 채우기 시작 (end_fill을 만날때 채우기)
t.setheading(155)       # 터틀(화살표) 이동방향 155도 바꾸기
t.circle(18, 240)       # 왼쪽
t.circle(25, 25)
t.right(116)            # 오른쪽으로 방향 116도 돌리기
t.circle(25, 25)        # 오른쪽
t.circle(18, 240)
t.goto(0, 80)           # 좌표로 이동
t.dot(20)               # 까만코 점 그리기
t.end_fill()            # 영역 색깔 채우기
           
#s.ontimer(makelion, 15000)
t.hideturtle()          # 터틀 모양(화살표) 보이지 않게 숨기기
s.update()              # 화면 업데이트
s.mainloop()            # 창 닫히지 않도록 한다.

# data[].attributes.attachment_link.description
파이썬부터 딥러닝, 인공지능까지, 초보도 가능한 실습형 코딩수업!.

# data[].attributes.headline
파이썬 버전 확인 -파이게임 설치

# data[].attributes.subject
파이썬 버전 확인 -파이게임 설치

# data[].attributes.body
1)파이썬 버전 확인

python --version

2) 파이게임 준비작업
pip install --user --upgrade pip==9.0.3

3) 파이게임 설치

py -m pip install -U pygame --user

# data[].attributes.attachment_link.readable_text
people = ['chloe', 'bonnie', 'alice', 'chloe',
		  'david', 'chris', 'charlotte', 'kane',
		  'ryan', 'david', 'spencer', 'bella']
completion = ['chloe', 'bonnie', 'alice', 'david',
			  'david', 'charlotte', 'kane', 'ryan',
			  'bella']

print("전체 참가자: ", people)
print("완주한 사람: ", completion)

for i in completion:
	people.remove(i)

print("완주하지 못한 사람: {} ({}명)".format(people, len(people)))

# data[].attributes.attachment_link.title
W03과제_파이썬리뷰1

# data[].attributes.attachment_link.title
W03과제_파이썬리뷰2

# data[].attributes.attachment_link.readable_text
items = [15, 7, 3, 30, 56]
print('기본 재료들: ', items)

while min(items) < 30:
	item1 = min(items)
	items.remove(item1)
	item2 = min(items)
	items.remove(item2)

	newItem = item1 + item2 * 2
	items.append(newItem)

print('변경된 재료들: ', items)

# data[].attributes.attachment_link.readable_text
'''
변수 words: 끝말잇기에 사용할 수 있는 단어
변수 chance: 기회(총 3번)
변수 answer: 끝말잇기의 정답
'''
words = ['yellow', 'make', 'eraser', 'dream',
				 'land', 'daddy', 'robot', 'wheel']
chance = 3
answer = []

# 단어 'daddy'를 처음으로 하여 끝말잇기 시작
print('끝말잇기 시작!')
words.remove('daddy')	# 사용한 단어 삭제
answer.append('daddy')	# 입력한 단어 추가
print('daddy')

while chance > 0 and len(words) > 0:
	word = input()
	if word in words:
		if word[0] == answer[-1][-1]:
			words.remove(word)
			answer.append(word)
		else:
			chance -= 1
			print('틀렸습니다. 기회가 %d번 남았습니다.' % chance)
	else:
		chance -= 1
		print('없는 단어입니다. 기회가 %d번 남았습니다.' % chance)

# data[].attributes.attachment_link.readable_text
import turtle as t

#각종 설정

t.setup(width=500, height=500)
player = t.Turtle()
player.color('red') #색깔정하기
player.shape('turtle') #모양정하기
player.speed() #속도 숫자가 적을수록 빠름
player.up() #펜 들기 (그림을 그리지 않음)
screen = player.getscreen()

# left, right 각도 변경
def left():
    player.left(30)
def right():
    player.right(30)

# forward, backward 거리이동
def up():
    player.forward(30)
def down():
    player.backward(30)

# 그림그리기
def space():
    if player.isdown():
        player.up()
    else:
        player.down()
# onkeypress(함수명, 키보드 버튼 명)
screen.onkeypress(left, 'Left')
screen.onkeypress(right, 'Right')
screen.onkeypress(up, 'Up')
screen.onkeypress(down, 'Down')
screen.onkeypress(space, 'space')

screen.listen() # screen 활성화 

screen.mainloop()#프로그램 계속 동작하도록 유지

# data[].attributes.attachment_link.readable_text
from mcpi.minecraft import Minecraft
mc = Minecraft.create() # 마인크래프트에 연결

x = 10 # x 변수(정수형)에 설정할 x 좌표 값 담기
y = 70
z = 12

mc.player.setTilePos(x, y, z) # 사용자의 위치 지정

pos = mc.player.getTilePos() # 사용자의 위치 가져옴
print(pos) # 파이썬 상에서 좌표값 출력 

pos.x = pos.x - 112 # 마인크래프트 상에서의 좌표값으로 변환
pos.y = pos.y + 66
pos.z = pos.z - 240

print("realpos: ", pos.x,pos.y,pos.z) # 마인크래프트 상에서의 좌표값 출력

