面向物件小練習
基於面向物件設計一個對戰遊戲
定義銳雯類:
class Riven:
camp='Noxus'
def __init__(self,nickname,
aggressivity=54,
life_value=414,
money=1001,
armor=3):
self.nickname=nickname
self.aggressivity=aggressivity
self.life_value=life_value
self.money=money
self.armor=armor
def attack(self,enemy):
damage_value=self.aggressivity-enemy.armor
enemy.life_value-=damage_value
定義蓋文類:
class Garen:
camp='Demacia'
def __init__(self,nickname,
aggressivity=58,
life_value=455,
money=100,
armor=10):
self.nickname=nickname
self.aggressivity=aggressivity
self.life_value=life_value
self.money=money
self.armor=armor
def attack(self,enemy):
damage_value=self.aggressivity-enemy.armor
enemy.life_value-=damage_value
定義裝備:
class BlackCleaver:
def __init__(self,price=475,aggrev=9,life_value=100):
self.price=price
self.aggrev=aggrev
self.life_value=life_value
def update(self,obj):
obj.money-=self.price #減錢
obj.aggressivity+=self.aggrev #加攻擊
obj.life_value+=self.life_value #加生命值
def fire(self,obj): #這是該裝備的主動技能,噴火,燒死對方
obj.life_value-=1000 #假設火燒的攻擊力是1000
測試互動
r1=Riven('草叢倫')
g1=Garen('蓋文')
b1=BlackCleaver()
print(r1.aggressivity,r1.life_value,r1.money) #r1的攻擊力,生命值,護甲
if r1.money > b1.price:
r1.b1=b1
b1.update(r1)
print(r1.aggressivity,r1.life_value,r1.money) #r1的攻擊力,生命值,護甲
print(g1.life_value)
r1.attack(g1) #普通攻擊
print(g1.life_value)
r1.b1.fire(g1) #用裝備攻擊
print(g1.life_value) #g1的生命值小於0就死了
按照這種思路一點一點的設計類和物件,最終你完全可以實現一個對戰類遊戲。
相關推薦
面向物件-小練習
練習:編寫一個學生類,產生一堆學生物件要求:有一個計數器(屬性),統計總共實力化多少個物件 class Student: school = 'luffycity' count = 0 def __init__(self, name, sex, age): # 獨有特徵
面向物件的程式設計 面向物件小練習
面向物件小練習 閱讀目錄 基於面向物件設計一個對戰遊戲 基於面向物件設計一個對戰遊戲 定義銳雯類: class Riven:
面向物件小練習
基於面向物件設計一個對戰遊戲 定義銳雯類: class Riven: camp='Noxus' def __init__(self,nickname, aggressivity=54, life_val
python面向物件小練習
就是幾個動物,自動排列生成什麼的 class Animal(object): def __init__(self,name,weight): self.name = name self.
Java練習 SDUT-3349_答答租車系統(面向物件綜合練習)
答答租車系統(面向物件綜合練習) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 各位面向物件的小夥伴們,在學習了面向物件的核心概念——類的封裝、繼承、多型之後,答答租車系統開始營運了。 請你充分利用面向物件思想,為公司解
python_面向物件—程式碼練習
"""注意:程式碼切勿照搬,錯誤請留言指出""" 1 import re 2 3 ''' 4 class Person: 5 name='xxx' 6 age=20 7 8 p=Person() #p為例項物件 9 print(p.name,p
JAVA 面向物件程式設計練習(一個回合制的戰鬥遊戲:戰士,騎兵,法師,電腦互相攻擊)
一. 小編有話說 前面一篇文章寫了JAVA面向物件程式設計的思想,本文主要展示關於面向物件程式設計的例項(一個回合制的戰鬥遊戲:戰士,騎兵,法師,電腦互相攻擊),小編的基礎暫時薄弱,如此一來有助於更深入的理解和靈活的運用,以及打下堅實的基礎。 二. 遊戲的要求
SDUT-3349 答答租車系統(面向物件綜合練習)
Problem Description 各位面向物件的小夥伴們,在學習了面向物件的核心概念——類的封裝、繼承、多型之後,答答租車系統開始營運了。 請你充分利用面向物件思想,為公司解決智慧租車問題,根據客戶選定的車型和租車天數,來計算租車費用,最大載客人數,最大載載重量。
面向物件程式設計練習(開篇)
今天無意中看到了一些關於面向物件程式設計的練習題,私以為很是不錯,摘錄其中較有代表性的幾道,供大家學習。 一.面向物件三大特性,各有什麼用處? 1.繼承:解決程式碼的複用性問題 2.封裝:對資料屬性嚴格控制,隔離複雜度 3.多型性:增加程式的靈活
【JavaSE練習】面向物件_練習_模擬汽車的自動駕駛系統
模擬汽車駕駛系統 定義一個交通工具的類,包括: 屬性:速度 方法:設定速度,加速度 測試類中例項化一個交通工具物件 通過方法初始化speed,打印出來 呼叫方法對速度進行改變 當汽車停止執行時,程式結束執行 程式程式碼如下: import java.u
C#面向物件程式設計練習
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T
JAVA面向物件小程式(二):俄羅斯方塊s
今天,我們來使用Eclipse製作一個小遊戲《Tetris~》 資源在文末 一、遊戲機制 a) 7種小塊兒隨機生成 i. 一塊放置在頂部(隨時間下降) ii. 另一塊
php面向物件程式設計練習:計算矩形、三角形、圓形的周長和麵積
剛剛學完php面向物件的程式設計,參考著高洛峰老師的php教程學習了這個例項。 效果圖片: 以下是實現程式碼: index.php <html> <hea
python類與物件小練習2
#人和機器猜拳遊戲 #選擇角色1 曹操 2張飛 3 劉備 #角色猜拳1剪刀 2石頭 3布 隨便輸入一個字元隨機產生一個1-3的數字 #電腦出拳 隨機產生1個1-3的數字,提示電腦出拳結果,本局對戰結果...贏...輸,是否繼續?y/n #輸出結果 角色贏幾局 電腦贏幾局,平局
java面向物件基礎 練習 +答案
三、選擇題 1.下面關於封裝性的描述中,錯誤的是( )。 A.封裝體包含屬性和行為 B.被封裝的某些資訊在外不可見 C.封裝提高了可重用性 D.封裝體中的屬性和行為的訪問許可權相同 可以不相同 程式設計師定義 2.下面關於類方法的描述,錯誤的是()。 A.說明類方法使用關鍵字static B.
【安博培訓筆記】Java1 Java面向物件_PPT練習20130920
package com.ambow.java20130917; public class Student { private String name; private int age; private int banji; private String love;
面向物件章節練習(實現使用者和密碼一致)
public class User{ // 成員屬性private String user;private String code;// 帶參構造方法public User(String user, String code) {this.user = user;th
《Python核心程式設計》第13章 面向物件程式設計 練習
13-3.對類進行定製。 寫一個類,用來將浮點型值轉換為金額。 class MoneyFmt(object): def __init__(self, value=0.0): self.value = float(value) def upd
java使用 ArrayList 的增刪改(Java面向物件基礎練習)
題目 編寫一個簡單的程式,利用陣列儲存書(Book),cd(CompactDisk),磁帶(Tape)資訊,並能實現插入、刪除、查詢功能。注意使用面向物件的思想進行程式設計。 解題思路 使用arraylist陣列,原因是可以根據實際情況新增資訊而不用
Go語言基礎(十三)—— Go面向物件簡單小練習
練習要求: 介面->父類實現->多種子類實現->多型 定義介面IPerson,定義吃喝睡三個抽象方法; 定義一個IPerson的實現類Person,實現吃喝睡方法; 定義IWorker勞動者介面,擁有勞動方法Work()(output str