Skip to content

Instantly share code, notes, and snippets.

View SpaceVoyager's full-sized avatar

Yuhang Wang SpaceVoyager

View GitHub Profile
@SpaceVoyager
SpaceVoyager / rabbit_puzzle_bfs_solver.py
Created January 10, 2016 20:58
Using Breadth-First Search to solve the rabbit crossing river puzzle
'''
Using Breadth-First Search to solve the rabbit crossing river puzzle
'''
from collections import deque
def goal_test(stones, state):
if state[0] >= len(stones) -1:
return True
return False
@SpaceVoyager
SpaceVoyager / eight_puzzle_v0.6.py
Created January 9, 2016 19:17
eight_puzzle_v0.6.py
import ui
import speech
import random, time
import requests
import json
import random
import urllib
END_POINT = 'http://192.168.1.8:5000/puzzlescores'
@SpaceVoyager
SpaceVoyager / puzzlescores_web_service_usage.py
Last active December 12, 2015 22:02
functions for accessing puzzle scores web service
import requests
import json
import random
import urllib
END_POINT = 'http://192.168.1.8:5000/puzzlescores'
def add_player(player_name):
headers = {'Content-Type': 'application/json'}
data = json.dumps({"name": player_name})
@SpaceVoyager
SpaceVoyager / pythonista_compile_howto.md
Last active December 2, 2023 11:58
How to make a standalone iOS app with Pythonista

After you made some cool games or apps with Pythonista, you may want to make it run as a standaone app on iPad/iPhone and possibly share it on the AppStore. This how-to tells you how to do it.

What you need:

  1. Pythonista code you wrote
  2. A Mac with Xcode 7.1 installed
  3. iPhone/iPad running iOS 9

Steps:

  1. Download PythonistaProjectTemplate.zip. The original PythonistaProjectTemplate described at http://olemoritz.net/pythonista-15-whats-new-and-whats-missing.html does not work with Xcode 7. I updated it to work with Xcode 7 and added a more interesting example than the plain old Hello World thing.
  2. Unzip the file and open the project in Xcode 7.1. In project settings, change the Bundle Identifier from com.yuhangwang.pythonistaproject to something else.
@SpaceVoyager
SpaceVoyager / eight_puzzle_v0.5.py
Created November 26, 2015 23:38
eight_puzzle_v0.5.py
import ui
import speech
border_color = (1.00, 0.50, 0.00)
def isAdjacent(row1, col1, row2, col2):
if abs(row1-row2) + abs(col1-col2) == 1:
return True
else:
return False
@SpaceVoyager
SpaceVoyager / eight_puzzle_v0.4.py
Created November 21, 2015 20:11
eight_puzzle_v0.4.py
import ui
import speech
border_color = (1.00, 0.50, 0.00)
def isAdjacent(row1, col1, row2, col2):
if abs(row1-row2) + abs(col1-col2) == 1:
return True
else:
return False
@SpaceVoyager
SpaceVoyager / eight_puzzle_v0.2.py
Created November 14, 2015 20:29
eight_puzzle_v0.2.py
import ui
import speech
def isAdjacent(row1, col1, row2, col2):
if abs(row1-row2) + abs(col1-col2) == 1:
return True
else:
return False
@SpaceVoyager
SpaceVoyager / eight_puzzle_v0.1.py
Created November 14, 2015 16:35
eight_puzzle_v0.1.py
import ui
pieces = [1, 2, 3, 4, 5, 6, 7, 8, 0]
v = ui.View(background_color=(0.50, 0.50, 0.50))
board = ui.View()
v.add_subview(board)
v.present('full_screen')
board.frame = ((v.width-v.height)/2, 0, v.height, v.height)
board.border_width = 3
@SpaceVoyager
SpaceVoyager / buttons_in_a_row.py
Created November 8, 2015 02:18
buttons_in_a_row.py
import ui
v = ui.View(background_color=(0.50, 0.50, 0.50))
v.present('full_screen')
for i in range(8):
button = ui.Button(title=str(i+1))
button.background_color = (1,1,1)
button.font = ('Futura-CondensedExtraBold', 100)
button.width = v.width/8
@SpaceVoyager
SpaceVoyager / aquarium_v1.py
Created November 7, 2015 19:35
aquarium_v1.py
from scene import *
from random import uniform
import sound
import speech
bounds = None
class SeaCreature:
upper_limit = 500
lower_limit = 225