Skip to content
This repository has been archived by the owner on Sep 13, 2024. It is now read-only.

DR and Code #68

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions AI-CS1809-刘中冶泉/DR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
姓名:刘中冶泉

学习时间:10月一日十一点

学习内容:学习了python的while循环和条件语句

学习计划:计划学习python中while循环的编写以及break语句的使用,为编写用户输入程序做准备

已解决问题:,成功完成了提示2要求的内容,编写了可以让用户输入并检测是否正确的程序

总结:总体来说收获很大,学习了基本的python语法,并成功编写了第一个python程序,对明天的学习更有信心


姓名:刘中冶泉

学习时间:10月二日十一点

学习内容:学习了python中的列表知识,以及随机数函数

学习计划:计划学习列表和随机数的生成,为明天编写卡牌的随机发放和卡牌的表示方法做准备。

已解决问题:学习了纸牌的表达方法

总结:总体来说收获很大,学习了列表的知识,明天要把函数知识学习一下,对明天的学习更有信心




姓名:刘中冶泉

学习时间:10月三日十一点

学习内容:学习了函数知识

学习计划:计划学习完成函数和类的创建,为编写卡牌做准备

已解决问题:完成了提示4要求的内容,创建了一组纸牌,并且可以随机发牌

总结:总体来说收获很大,学习了函数的知识,但还没有系统学习类,明天要把类学习一下,对明天的学习更有信心



姓名:刘中冶泉

学习时间:10月四日十一点

学习内容:学习了类知识

学习计划:计划学习完成类的创建,为编写卡牌做准备

已解决问题:完成了提示4要求的内容,把纸牌编写成了一个类

总结:总体来说收获很大,学习了类的知识,成功把纸牌整合在了一起,希望明天会更好



姓名:刘中冶泉

学习时间:10月五日十一点

学习内容:学习基本的21点游戏的逻辑,并在网上查找了示例代码

学习计划:计划学习21点游戏的逻辑,,从而为明天写出整个游戏做准备

已解决问题:完成了基本的游戏框架,实现了基本的代码

总结:总体来说收获很大,学习游戏的逻辑,希望明天会更好



姓名:刘中冶泉

学习时间:10月六日十一点

学习内容:学习游戏的具体实现,并把整个游戏编写出来

学习计划:计划把整个程序编写出来,用一些基础语法实现程序

已解决问题:用很粗糙的语言写出了游戏,并且可以正常运行

总结:总体来说收获很大,写出了基本的程序,但是代码很臃肿,希望明天作出改善




姓名:刘中冶泉

学习时间:10月七日十一点

学习内容:简化自己的代码,让游戏的实现更为优雅

学习计划:计划简化自己的代码,在网上搜索一些大神程序,学习他们的语法

已解决问题:用一个论坛大神的代码实现了简洁的代码,使程序更高效

总结:总体来说收获很大,写写出了让自己满意的程序,但是很多都是网上的实例代码,只是理解了,但很多没有学过的知还要靠自己输入来加深印象




9 changes: 9 additions & 0 deletions AI-CS1809-刘中冶泉/MR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
姓名:刘中冶泉

这周学习时间:每天的中午十一点至下午五点

这周学习内容:学习了python实现简单的21点程序的方法,虽然很多的代码都在网上借鉴了大神的,但是我还是收获很大,对这门语言的掌握也更上一层楼

最近学习计划:继续深造python,把之前跳过去的知识学一下,还有要学习一些细节,以使自己的代码更为简洁高效

尚未解决的问题:很多基础知识掌握不牢,例如for循环和range的使用方法就很不理解,希望在更深一步学习以后能够掌握他们
78 changes: 78 additions & 0 deletions AI-CS1809-刘中冶泉/我的21点程序.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
#coding:gbk
import random
class Card:
def __init__(self,rank,suit):
self.rank = rank
self.suit = suit
class numCard(Card):
def __init__(self,rank,suit):
super().__init__(rank,suit)
self.hard = self.soft = self.rank

class aceCard(Card):
def __init__(self,rank,suit):
super().__init__('A',suit)
self.hard = 1
self.soft = 11

class faceCard(Card):
def __init__(self,rank,suit):
super().__init__( rank , suit )
self.hard = self.soft = 10

# somecard = [numCard('2','club'),aceCard('A','diamond'),faceCard('J','spade')]
# for i in somecard:
# print( i.rank,i.suit,i.hard,i.soft)

"""--------------------------------------------- �ڶ����֣����ɶั��----------------------------------------------------
һ����ΪDecks���б�����Ԫ��Ϊһ������ """
def card4( rank, suit ):
class_= {1: aceCard, 11: faceCard, 12: faceCard,13: faceCard}.get(rank, numCard)
return class_( rank, suit )
class Decks(list):
def __init__(self,num):
super().__init__()
for i in range(num):
self.extend( card4(rank,suit) for rank in range(1,14) for suit in ['Club','Heart','Diamond','Spade'] )
random.shuffle(self)

decks = Decks(3)
"""
-----------------------------------------------�������֣�����--------------------------------------------------------
"""
class Hand:
dieFlag = False
def __init__(self,*mycards):
self.mycards = []
self.mycards.extend(mycards)
print('�����ʼ��Ϊ: ',mycards[0].suit,mycards[0].rank,mycards[1].suit,mycards[1].rank)
print('����������ܺ�Ϊ:',self.count())

def askcard(self,acard):
nowpoint = self.count()
if Hand.dieFlag:
print('������������ܺ�Ϊ ',nowpoint,'������')
else:
print('���������:',acard.suit,acard.rank)
self.mycards.append(acard)
nowpoint = self.count()
print('����������ܺ�Ϊ ',nowpoint)

def count(self):
sumpoint = sum( c.hard for c in self.mycards)
if sumpoint > 21:
sumpoint = sum( c.soft for c in self.mycards)
if sumpoint > 21:
Hand.dieFlag = True
return sumpoint


if __name__=="__main__":
hands = Hand(decks.pop(),decks.pop())
while not hands.dieFlag:
wt2askc = input('�ٴν��ƣ�<yes/no>: ')
if wt2askc == 'yes' and not hands.dieFlag:
hands.askcard(decks.pop())
else:
break
print('���գ���õ��� %d ����'%hands.count())